I love the idea of the BlinkM (individually addressed RGB leds controlled with 2 pins), but not so much the price (nearly 15 quid each!). 

Luckily, the hardware is open source and somebody has brought out an alternative firmware (although if you know where to look, you can find the official firmware). 

This is the story of my trials and successes while making a much more affordable unit. (There seemed to be more trials than successes)

I am in no way an expert on this sort of thing and I did a lot of research along the way.  I will be linking to the different sources that I used and lessons that helped me along the way. 

This was partially made possible by Jimthree and his fantastic Ghetto Pixels.  https://www.instructables.com/id/Ghetto-Pixels-Building-an-open-source-BlinkM/    I wanted a more robust unit with the possibility of removing the attiny for other projects if required.  Thanks Jimthree!

Before we get into it, here's a little taster of what we're going to be making today... 

So... (Deep breath) Here goes!

Step 1: First Things First. Gather Your Weapons!

Before we get into the juicy stuff, we're going to have to get our supplies together.  These will be divided between software, hardware and documentation.  


You will need;

RGB leds.  I get mine from Hong Kong and if you buy in enough amounts, they are pretty cheap. (MUCH CHEAPER THAN MAPLIN).  

Resistors to suit the above leds.  A good calculator for finding suitable resistors can be found here.  http://led.linear1.org/1led.wiz

attiny45 or attiny85.  The original BlinkM used the 45 and the latest version uses the 85, so both should work.  

8 pin dip socket.  This is not strictly necessary (it makes a higher profile board, but at least you can remove the chip to use in another project if you need).  

Header pins.  This will make your board removable from your circuit, but you could hard wire them into your circuit if you wish. 

Copper clad circuit board.  Pretty self explanatory.  

A suitable programmer.  Personally, I use my Arduino board along with the Arduinoisp sketch and a little shield that I knocked together in half an hour.  


You will need;

Some sort of PCB production program. I use Eagle, but use what you know.  http://www.cadsoftusa.com/download-eagle/

Something to calibrate your Attiny. When you get your factory fresh chips, they are clocked at 1Mhz.  They need to be 8Mhz.  I use my trusty Arduino as an ISP. You'll therefore need the arduino software. http://arduino.cc/hu/Main/Software

You will also need to get your Arduino talking to your Attiny, so head here http://hlt.media.mit.edu/?p=1695 and have a bit of a read and download the required files.  

Something to program your Attiny.  As above, I use my Arduino as an ISP, but you can't upload  the firmware with the Arduino software, so We're going to use Winavr.  http://sourceforge.net/projects/winavr/files/

Firmware for your Attiny. This is in the form of some clever guys who made an open source firmware for the BlinkM.    http://code.google.com/p/codalyze/wiki/CyzRgb  This will need to be put in a specific folder in your computer (on my laptop it goes into C:\Users\Flip.) The easiest way to find where it goes, is to open a command prompt ( Open your start menu and type cmd then enter) and see what it says just before the cursor.  That is where it needs to be.  

Something to test your new toys out with.  ThingM have Arduino sketches for testing and playing about with. There is also Communicator software available for controlling and uploading code to the lights.  You will find these on the right hand pane of the page.   http://thingm.com/products/blinkm


BlinkM datasheet.  http://thingm.com/fileadmin/thingm/downloads/BlinkM_datasheet.pdf

Attiny85 Datasheet.  http://www.atmel.com/Images/doc2586.pdf
Hey thanks for the great t tutorial! <br> <br>I have a question though. I want to do something similar and have been experimenting with a single attiny85 but I haven't been able to get the attiny to work in stand alone mode. Have you been able to program scripts on your clones with the blinkm sequencer?
Nice post! I could have used this a few weeks ago when I bought an Arduino Nano to drive an RGB LED strip for a window decoration. With your ATTiny design I could have saved a bunch of money.<br> <br> One suggestion I would make as an addition to your excellent post which might be useful to folks who want to drive more than a single RGB LED: add three MOSFETs to your PCB and a DC power jack so that even a string of LEDs can be driven. I got the circuit diagram from <a href="http://learn.adafruit.com/rgb-led-strips" rel="nofollow">Ladyada.net </a>
I totally agree with you on the Aeropress. Not about Taylor's coffee though - give Union coffee a try.
Awesome work Dude! At the time I was playing with the ghetto pixels, I'd never attempted home made PCBs, but now I've got that badge, your instructable is the next logical step! <br />Jim

About This Instructable




More by roadieflip:Dr Blinkenlights... (or how I learned to afford the BlinkM) Make a simple optocoupler. 
Add instructable to: