Christmas Lights

Each year I setup a display of Christmas lights in Narara.

This year (2015) I pretty much started from scratch as I moved to all pixels (each light is individually controlled)

Here are videos of my lights this year.

Jingle Bells pon de Floor

Light Of Christmas

What’s This

Wizards of Winter

Technical Details

For those that are interested this is all controlled by a Sandevices E682 and Advatek Pixlite4 sitting in a large plastic tub.

Freetronics DMD - Screen transitions

I was driving past one of those led advertising signs sitting on the side of the road the other day and thought to myself ‘I can do that’ So I’ve hooked up 6 of the freetronics DMD modules (in a 2x3 layout) and got down to coding up a way to do it. In the end I got it working by adding support for multiple buffers into my DMD library - github.com/cjd/DMD Since I have the ability to have multiple buffers I can now transition between buffers presentation-style. There are 8 transitions - wipe left/right/up/down, box in/out and cross in/out The following video demonstrates some of the transitions It is my sons first birthday in a few days so I thought it nice to create a moving sign for his party :) [youtube_sc url=“s4Qjski-WMY”]

MTPFS 1.1 - Now supporting multiple storage areas

I am now the proud owner of an Asus Transformer tablet (not the prime) and so wanted to update mtpfs to work better with it.

The biggest change was to add support for multiple storage areas. Now when you mount a MTP device which has internal storage and a MicroSD card (or similar) it shows up as two separate directories which you can access.

The download is available from mtpfs page

Freetronics DMD - Games

I had a little while free and so ported a bunch of games I wrote for the Peggy2 to work with a pair of DMD’s In doing so the games now run at 32x32 and are controlled by a Wii nunchuck. The games are snake, pong, breakout and race. The Arduino code is available at DMD_games.zip The two screens are daisy-chained but as the cable connecting them is quite short the top one is upside-down. To get this working the modified [intlink id=“55” type=“post”]DMD library[/intlink] is setup to handle rows of displays where odd-numbered rows are upside down. See this diagram for how it is laid out (for 2x2 case)

Freetronics DMD - updated library

I recently got two Dot Matrix Displays from Freetronics - They are 32x16 LED panels that can be daisychained via SPI. It came with a quick library which worked okay but could do with a few enhancements ;) My modified library supports multiple displays (tested with 2x1 and 1x2 layout - but should work with other layouts) It also supports multiple fonts, marquee text, scrolling the display around and grayscale (grayscale sort of works - but not well :( ) I have updated the examples included in the original library to use these new functions.

Console-based podcaster - updated

It has been a while since I first posted my version of bashpodder (a console-based podcaster in a single bash script)

Since then a bunch of small fixes have been added to the script to better handle ‘odd’ rss feeds and also to clean up the output.

The configuration of the script now sits in the file ~/.bashpodder Inside this file you can specify where the logs go to and where the files download to (makes it easier to run the script automatically)

MusicXML/MIDI for Arduino

For a recent project I wanted to add music.

Being that I am not musically talented in any way I figured the best way to do this was to generate the music from a midi file.

To help with this I wrote a converter that would take a MusicXML file and output an include file.

It simply reads the XML and outputs an array where each note is stored in two uint16 values - the first is the note name as a defined in pitches.h (ie NOTE_C4), the second is the duration in milliseconds. The entire array is stored in PROGMEM so as to not use up too much ram on the AVR.