USB Traffic Meter Thingy (gMeter) Update

gMeter-MLF
First working gMeter-MLF build

I’ve now completed two versions of the envisaged USB visual meter and alarm sounder device, both based on the ATmega88P MCU and as envisaged in my previous post. A photo of the smaller version is shown, right.

I have published the design files and firmware as free open source (GLP v3) at Google Code.

Below is an image of the same board, with the first 5 of 8 LEDs lit up.

gMeter-MLF lit
Showing the first 5 green and yellow LEDs lit up. The next three are orange (x2) and red.


The original version of the gMeter board is larger (at about 150% the size of the MLF version) and uses an easier-to-hand-solder (bigger) ATmega88P microcontroller chip. It also includes a 4-pin header to connect a commonly available Bluetooth module (currently not supported in any way by the published firmware) as well as four spare I/O pads for expanded use, should the user wish to wrangle with the firmware source code, to that end.

Original gMeter
The original, larger gMeter board, with Bluetooth header and four spare I/O pads.

KiCAD Freakduino

Based on the excellent work of Akiba of <a href=
Freaklabs, re-created in free KiCAD format. (Some components differ.)” width=”300″ height=”244″ /> Based on the excellent work of Akiba of Freaklabs, re-created in free KiCAD format. (Some components differ.)

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. 🙂