Category Archives: spi

New tiny parts

In the never ending quest to find a Voltage level shifter, to drive addressable LEDs, I found myself looking at these . These ICs can do 3.3V to 5V translation for 2 pins at a whooping 420Mbit and they cost $80c (USD) . So I ordered 5 from TI….


Yep… that’s damn small. Not sure how I’m going to use those… I have no Surface Mount skills or equipment..Should have read the damn data sheet properly. Anyway, I’m glad there are 5, I will try my damn best to solder those pins to some larger pins and if i break any ill have a few extra to play with. If they work, ill be able to eliminate the Driver Pixel that i use in most of my application, most importantly ill be able to properly test higher data rates for the APA102 and the SK9822 pixel.

Next on the list are these $4 single cell Power Banks:


These use a single 18650 to produce 5V at a maximum of 1A… With one more nice feature. They don’t have a power button. They activate simply when a load is detected. I’m using this as a test bed, and in a very non recommended way, I’m sure. I have the Output ports of all 4 into 1 Female USB port and was successfully able to power one of my latest creations:


White Night 2016 – The Wow Suit

White Night 2016 in Melbourne may not have been as huge as in previous years, but I sure had a blast. I walked around the Melbourne CBD and surrounds for about 7 hours and got my photo taken by A LOT of people! Everyone I ran into seemed to enjoy themselves and really liked the Wow Suit. Here are a few pics from the evening

I had a friend shoot some really good video of the suit, but until I get my hands on it, here is some from my Instagram:

Notice how the Official White Night Instagram account tells me to apply for an art grant next year, even though they sent me a Generic “NO THANKYOU” when I applied for this years event.

One more:

The Wow Suit @whitenightmelb !! #whitenightmelb2016 #whitenight #whitenightmelbourne #whitenightmelb

A video posted by Elec Dash Tron Dot Org (@wow_elec_tron) on

Something new, something BIG!

Work has begun on a marvelous LED Installation for the Maitreya Festival. The project, titled “Space Theatre” will comprise of a huge “planet vs black hole ” diorama !


Some goodies for the installation above! We are using over 2000 APA102 Pixels, driven by a Raspberry Pi A+. This installation will be built on the backbones of the same tech used int the Wow Suit.


Here they are fully built and tested! Now onto building the LED layout map…

Wow Suit Gen 3 – Up and Running

Problems listen in the previous entry have been resolved. It seems that I can not push the APA102 strips to run above 5MHz using the Raspberry Pi’s SPI port. That seems to be the maximum before I get noise on the line. 6MHz works as well but you can see some noise on the very end of the block when allot of power is consumed. I think it is a combination of things. but im happy with 5MHZ



The other issue was the Power Up drain. For now the best forward is to put hardware switches onto each power tap. There are 11 power taps. Ill assign 7 switches on a small perf board that joins all the taps together to the 6 USB power cables. If i start up the sequence sequentially, the LEDs have 0 noise and power on in the OFF state, which is what we want! If i power up all the taps at once, i get a huge whopping bunch of noise and the batteries cut out to protect themselves from overload.

New batch of NodeMCU ESP8266 Modules


Received a huge batch of ESP8266 based NodeMCU modules today from Ali Express. Some of these will be used for a special installation project at Faux Mo for next Years MOFO Festival in Hobart Tasmania. The rest are for a new batch of LED Masks and some spares. These are great little devices that can run at 180MHz and can drive both WS2812b and APA102 LED Strips

New Panel Layout for the V3 Wow Suit

Here are 2 video demo of the new panel layout:

This one runs a simple pixel pusher to test each pixels colour and location:

This one runs part of the Wow Suits full software rendering suite:

Each panel consists of 255 APA102 LED Pixels. There will be a total of 12 of these panels, however the panels on the arms and body may be smaller.

Wow Suit V 3 – Production Update

I have used up the last of my APA102 strips from my previous order to make the 1st prototype panel for the 3rd Iteration of the Wow Suit.


This is the panel for the bottom right leg. With this prototype i have 17 strips x 15 Pixels Per Strip totaling at 255 LEDs for one panel. The previous iteration of the Wow Suit had 10 x 16 pixel strips, which were 160 Pixels per block).


I’m trying to get them as tightly packed as possible. The base block is a piece of felt secured to a thin piece of plastic sheet. Its both rigid and flexible enough to adhere to the cat suit Ill be putting this on to.


I have also added a pixel inside the RPI casing as the driver Pixel. This pixel is directly connected to the SPI bus on the RPI and is driven by the RPI’s 3.3v Power Supply. Its the best way to get a reliable signal at very high SPI speeds. I’m essentially using the pixel as a voltage level converter. When driving LEDs, the software ignores pixel 0 and sends a blank pixel to it each render.

The Wow Suit V3 – Building has begun


Above is the brains of the Wow Suit. The Raspberry Pi A+. I have 2, one is a backup in case I step on the 1st :)  For $50 you cant really pass up on this power house. The RPI runs the following stack of software:

I have also placed an order for a body suit, and will be building the 1st panel in the coming days to test out a new layout . Also in the pipeline is 20 Meters of APA102 144ppm LED Strips.

Building MRAA from source on a Raspberry Pi A+

I am using Raspbian (Kernel 4.1)

You will also need “python” and “git” however these are pre-installed on the device.

Update apt-get

sudo apt-get update
sudo apt-get upgrade

Install NodeJS on a Raspberry Pi A+

latest version of Node for RPI is not supported, gra barchived:
Install it using dpkg
   sudo dpkg -i node_archive_armhf.deb
Test Node and NPM
   node -v
   npm -v
Update npm
   npm update npm
Change npms registry path from https to http
   npm config set registry

Install PCRE
tar jxf pcre-8.37.tar.bz2
chmod 777 configure
sudo make install
sudo ln -sfv ../../lib/$(readlink /usr/lib/ /usr/lib/
sudo ldconfig

Install SWIG 3.07 or higher
tar -xzf swig-3.0.7.tar.gz
sudo make install

Install python-dev

sudo apt-get install python-dev

Install cmake

sudo apt-get install cmake

install mraa

git clone
cd mraa

Comment out the following from /src/spi/spi.c
(line 144)
// if (ioctl(dev->devfd, SPI_IOC_RD_MAX_SPEED_HZ, &speed) != -1) {
// if (speed < hz) {
// dev->clock = speed;
// syslog(LOG_WARNING, "spi: Selected speed reduced to max allowed speed");
// }

mkdir build
cd build

This is where it got weird and i tried something random and it worked

Go into your project directory and install mraa via npm

cd ~projectdirectory
npm install mraa

You then need to copy mraa.node from




LED Helmet V1a – Project update

I am still waiting on the Mega modules, ordered last week. Not sure what the postage hold up is. In the meantime, I managed to get the Galileo Gen1 to work!! So many bugs and wrong turns on this device.

●The firmware update instructions are very unclear…the device must have NO sd card inserted and then booted up with the usb port plugged in. It then comes up as a serial.port for the firmware update to work.

●To my surprise, i ran the latest IOT image, the same one used on the Gen2 board. It worked…with bugs..

●SPI functionality via MRAA is non existent on the Gen1. Even with the lastest 7.3 mraa moduke. The clock signal on my scope was garbage! Very disapointing

●SPI via arduino sketches is also flaky, at a setting of 8mhz i was only able to get around 2-3mhz clock before it skewed into noise

On a whim i ended up trying the pi-spi nodejs module and it worked at 3mhz!!! But when i rebooted i got noise on the spi pins…hours later i realised that if I ran an arduino sketch that uses spi before hand, spi was usable again…so i wrote an arduino sketch that initialised the spi and did nothing else…at boot time the sketch starts and about 10 seconds later the xdk daemon launches the main.js script…and bam!!!