Howdy
Is anyone else interested in this, before I proceed much further?
I have built a test board and used it to successfully port and test the Freaklabs Chibi protocol stack on a Sparkcore. The reason for doing this was the idea that a Sparkcore might be used as an IP (Internet) gateway to a bunch of local, wireless low power devices, say in a sensor or control network.
The AT86RF231 chip is a 2.4GHz beast, intended for full Ziggbie (and other) systems. But there are no existing (complete) open source libraries for the rather complicated and IMHO over engineered (though very cool) Ziggbie protocol, which also requires quite a lot of RAM and other resources to implement.
The Chibi stack is simple and light on CPU and memory resources. You get error handling for free and simple send / receive functions. Data moves at about 1Mbps (or up to 2Mb, I believe) in the case of the units I have been playing with.
You can of course build your own protocols on top of Chibi, which is something I am considering, for sensor/control networks without going to full Ziggbie. Yes, it would be re-inventing the wheel – but a much smaller, easier to build and this more hobbyist accessible wheel, I think.
Chibi also supports at least a couple other radio chips, for other bands, such as 900MHz. I have not worked with those, to date.
Here’s a snapshot of my test rig …
(Oh – ignore the unrelated BT serial port board, to the left. The ribbon cable in the foreground is actually running off to a JTAG programmer.)
Getting this far was a quite lengthy and steep learning curve for me. I had never worked with 2.4GHz or such tiny little chips before.
A little history, just in case it’s of interest …
To get to this point, just as a learning exercise, I did a project where I pretty much copied the Freaklabs ChibiArduino board, with a few changes, owing to parts availability outside of Japan. That is documented on its own project site named, KiCAD-Freakduino. It’s an Arduino compatible board, with AT86RF231 2.4GHz radio on board. Here’s a picture of my board, to save clicking off-site …
This thing runs on just two AA batteries, drawing about 35mA peak transmit current (at 3V) if memory serves – all up, including the CPU at 8MHz – a lot less than a WiFi radio at 300mA+ anyway. Pretty cool stuff. There’s an onboard 2xAA battery holder on the underside of the board, like the original design by Freaklabs, which is up-converted to 5V for the Arduino compatibility aspect. That is not needed for the Sparkcore, which already runs on 3.3V, same as the radio chip.
The KiCAD-Freakduino (so named because I am not good with names and was using KiCAD EDA software at the time!) cost me enough just in parts to have simply bought several Freaklabs boards! But the point was to get experience with the little radio chip (and others) and prove to myself that I could handle everything required.
There is more to these 2.4GHz devices than first meets the eye. One has to take care to design the RF ground plane correctly, for one thing, lest crosstalk between the RF and digital data domains cause interference and reduced range, for example. Even things like the 16MHz crystal being just slightly off frequency, can have a marked effect on final performance – lowered radio range or no link at all, in one case. Fortunately, my rather humble workshop contains a budget 8 digit frequency counter!
In any case, I learned a lot of that the hard way, by doing it – three times before I was finally happy with the results and what I had learned. Actually, I was over the moon, at the time. But that has faded now. Now it all just seems, “Easy peasy!” LOL // For what it’s worth, I’m sure I would enjoy helping others achieve the same results, if you’re interested in having a go. Making your own 2.4GHz low powered digital radio transceivers is very, very cool! (Even getting to a point where one can confidently handle these tiny surface mount chips is a pretty decent thing to have under your belt, I reckon.)
So that’s the history. As far as this potential Sparkcore / Sensor Network “gateway” project (ChibiSpark Gateway?) is concerned, basically, I would prefer not to box on, working in a bubble – especially considering the possibility that someone else not yet known to me is already working on something similar. That and I am frankly not sure if I have to motivation to proceed beyond this point, if it’s only ever going to me for me and a few devices around my own home.
So there it is. Anyone else interested, at any level? Please comment. Thanks!
Gruvin.