Oddity    2008 → 2013

Oddity was a lunch-break distraction that got out of hand. What started as a spare-time hack ended up being repeatedly upgraded, expanded & polished over the course of 4 years and eventually ended up being displayed publicly at the Kinetica art fair in 2013.

oddity unit

History

In 2009 my then colleague John Popadic showed me a little electronics project he had knocked together. It was a small 8x8 LED panel - the sort of thing that would be brought in bulk to assemble a video display wall - mated with a controller chip that could display pre-authored patterns with about 3 levels of red & green. It was bright and shiny and adorable.

oddity close-up

I volunteered to write some tools to help generate interesting patterns for it. About a week later we had the basics of some procedural effects being blitted onto the panel and it looked gorgeous, especially in the dark. People passing by in the office would stop and get lost in the swirling pixels.

(It’s a bastard to video properly, due to the extreme refresh rates and very-bright-LEDS-on-black that tends to befuddle all camera sensors.)

oddity laptop setup

I began adding more and more to the generation tool. John worked to pack the design onto a tiny custom board so that it was portable.

oddity authoring tool

The controller chip was traded out for an ARM proto board from Maple . 4 panels were combined for a resolution boost. We moved from preset patterns to realtime generation, digging out old graphics algorithms that I hadn’t used since the DOS days - turns out you can pull off 3D at 16x16, if you squint a bit.

The next step was getting it into a box. Add some controls, rotary encoders, John cooked up his own control board to retire the Maple. More effects. Better panels. 128k Flash and 20KB SRAM, luxury. Wringing out a 4-bit colour palette.

When we showed it to friends, the reaction was always positive; … maybe we should show it to the public?

I built an on-board GUI that could be operated by the push-button dials, something easy to use and that made sense at our tiny resolution. We packaged the units into shiny, custom-cut black perspex boxes. They looked super nice!

oddity unit final

A series of random events led to us signing up for Kinetica and spending several wonderful, exhausting days showing off this mad little box of light to a never-ending stream of strangers.

This was my first ever experience as an exhibition ‘Artist’ and I won’t ever forget it. We were genuinely unprepared for the level of attention and positivity at the show and it was such a thrill to have people really engage with our creation. They feature in this longer video about Kinetica and it’s a decent (if short) capture of the demo units on the day.

Source

Oddity on GitHub

The source for the demo engine is available on GitHub and includes a Windows ’emulator’ so that patterns can be designed without having to flash the hardware each time. If for some reason you need an implementation of Wu’s antialiased line algorithm in 16-bit fixed-point for 4 colour LED displays .. maybe you’ll find it useful.

Future

These days? Unicorn Hat on a Raspberry Pi .