The BlinkM “Smart LED” is a great little device on its own accord. It allows for complete control of its RGB LED using a built-in microcontroller, enabling the user to do a wide array of things that normally require PWM to accomplish. At just over half an inch square, this little device might also be the smallest Arduino on the market.
The BlinkM packs an ATiny85 micro controller, which allows it to be flashed with the Arduino bootloader thanks to the people over at the [High-Low Tech group at MIT]. They did some tweaking of the Arduino IDE configuration files and incorporated some core library code created by [Alessandro Saporetti] to get the job done – all of which is available on their site.
Once the code is uploaded to the BlinkM, you essentially have a micro Arduino running at 8MHz with a built in LED and 2 I/O lines (5 if you snip off the LED). It’s a great device to have on hand if you feel like a full-fledged Arduino would be overkill in your project.
Stick around to see a video tutorial of the reflashing process.
18 thoughts on “Converting The BlinkM Into The World’s Tiniest Arduino”
I have a surface-mount resistor that runs the Arduino bootloader, what now?
… im taking this as a challenge to make a smaller one XD
Very nice, I think i might get one for my next project
It’s officialy a challenge.
From the Department of Redundancy Department.
Actually, they’re using ICSP to program it, so the bootloader isn’t needed, which is good, because that would waste too much of the ATtiny’s precious memory. I’ve also written a tutorial for bootloader-less Arduino programming here: http://blog.lincomatic.com/?p=10
Wow, what is with the lack of proficiency nowadays? Is noone on this site capable of programming an atmel microcontroller without “arduino” crap on it? Geez.
@kyle: Trash the arduino all you want, but it allowed me to get into the whole micro controller deal. By actually getting results before i spend 100’s of euro’s and days of learning. Now if i ever feel the need to switch (or do more), al least i have some kind of knowlage to start it…
the BlinkMdatasheet says ATiny45s not ATiny85
The smallest Arduino ever? Not for long, I guess – their ATtiny packages still have pins! A TQFN package, when placed diagonally, will probably fit right under the LED. Wouldn’t that be nice?
Sicki, BlinkMs originally had ATtiny45s. For over a year now they have ATtiny85s.
Lincomatic, your article is great! I’ve been using something similar for doing ATmega development.
Besides the low memory issues, one of the other reasons why there isn’t an Arduino bootloader for the ATtiny85 is there is way to write-protect a memory block, like there is on the ATmega. Otherwise, you run the risk of nuking your bootloader.
At http://www.avr-developers.com there are core files for using a bunch of different AVR micros with Arduino, including the tiny85.
Big whoop. SMD Picaxe microcontrollers have been around for years.
is it coincidence that i RT’d this from @todbot on twitter yesterday?
i was looking into the sproutboard stuff and saw a blinkM used as a visual indicator for a network monitoring device, did a quick google and and ran across this article. Hmmmmmmm
i want one.
that’s stupid !
There is not and never will be an arduino.
An arduino is an arduino thanks to two features:
1) the bootloader, to re-program the AVR chip quickly using a minimum of pins and without having to plug/unplug lots of things.
2) the easy-to-use UART (rx/tx) to monitor values and debug when nothing act as expected (with serial.print, etc..).
… the ATtiny doesn’t support bootloader and doesn’t have UART.
this post should be named “using part of arduino API in the BlinkM’s ATtiny”
or “run arduino code on a BlikM LED”
Smaller, bah. How about someone try to make the biggest Arduino? 0.5 square meters, say, with so many step-up and step-down power regulators on board that the thing consumes 50 watts. Built into a custom CNC-milled aluminum enclosure “for EMI protection”. With not one but two USB-RS232 converters piggybacked (so the external connection is… RS232), with 5W LEDs on fan-cooled heatsinks as power/rx/tx indicators… all telling the time in morse code on a 3mm blue LED.
Sadly, someone’s probably already done that. “Why does my Arduino draw five amperes? Because it can, of course!”
maybe arduino-lite would be a better compromise. http://www.robopeak.net/blog/?p=131
it’s a lot less bulky than arduino.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)