For a long time, I’ve wanted to get into 2.4GHz digital RF communications, using microcontrollers. I recently came across the Freaklabs “Freakduino” v2.1a and bought a couple straight away.
The Freakduino – or chibiArduino (link to authentic Freakduino site) – is an Arduino compatible device, with on-board 2.4GHz radio. It utilises a custom-built protocol stack, named “Chibi”, which means “midget” in Japanese.
The radio chip itself is a Zigbee compliant Atmel AT86RF device. The Chibi stack, written by Akiba of Freaklabs, is an easy to use and light weight (small code size) stack, enabling simple communications, for known network structures. So, no mesh capability or anything like that. But it’s fully capable of addressed, bi-directional point to point and broadcast communications, over 802.15.4 style data channels and physical layer provided by the AT86RF radio chip. I’ve found it to be really fast and it even handles error correction on the fly. Just the thing for sending sensor information or twitter texts. (Honestly, I barely know what I’m talking about. So keep your grain of salt handy!)
If you wanted to, you could easily extend the Chibi stack to work whatever magic you can dream up. But you’ll be pleased to know there’s also FreakZ, a mesh networking stack. FreakZ is in early development at the time of this writing. It’s a big undertaking and already a great start!
Chibi requires only your favourite microcontroller and a compatible radio chip. So quite small circuit boards can be made.
Most importantly for me though, Chibi gave the opportunity to learn and understand low level Zigbee style radio communication, without having to learn the full Zigbee protocol and everything it is capable of, just yet anyway. So my learning curve has been significantly reduced, while still allowing practical devices to be built at my hobby desk, now. Very cool. Thanks Akiba! 😉
The Freakduino hardware, whilst fully open, is apparently authored using closed electronics CAD software, of some kind or another. I prefer to use open and free (as in speech) software, like KiCAD. So, this project is about creating a Freakduino v2.1a compatible board, in free KiCAD software, while at the same time gaining experience with the Atmel 2.4GHz Zigbee radio chip and Chibi, or course. This will also be only my second experience of hand building a board with a tiny QFN part as well as my first ever 2.4GHz project. So plenty of knew stuff to learn and play with.
Luckily, my interests in Ham Radio have prepared me for the some of the … shall we say, mystical aspects of microwave radio circuitry. I think I’ve got it about right in this case.
So there it is. An open KiCAD based version of the Freakduino v2.1a. Bare in mind though that it will surely cost you a lot more to build your own, compared just buying from Master Maker Akiba, over at his Freaklabs Store!
My design uses a couple of different components (level shifter and 5V boot regulator) due to local availability. Ironically, after a week of failing to find the two troublesome parts and going ahead with my modified version, I just received an email from China, asking me how many thousands of the ones I couldn’t find! Oh well.
Finally, I should point out that building one of these boards for yourself, using my open source design files hosted at Google Code (and not yet production ready at time of writing anyway) will be MUCH (much!) more expensive than just heading over to the Freaklabs online shop and buying some directly from Akiba, the original creator. I’m choosing to, “suffer the expense” as an education cost, you see. 🙂