| FreakZ Open Source Zigbee Stack | | Print | |
| Written by Akiba | |
| Tuesday, 18 November 2008 | |
|
Background: Zigbee is a low-power, low-cost, wireless sensor networking protocol defined by the Zigbee Alliance. The protocol was designed for low data rate wireless networks to facilitate automation and monitoring for applications such as home/building/HVAC automation, industrial control, farming, patient monitoring, and many other applications that could take advantage of low cost wireless communication and don't have a high data rate requirement. Motivation: One of the problems with the current state of Zigbee is that the software is either provided by semiconductor suppliers and bound to their hardware, or is proprietary and requires heavy licensing fees. This causes some major issues that I have a problem with: 1) It's very difficult for individual electronics enthusiasts to create their own Zigbee designs since they usually cannot afford the licensing fees or the costs of the proprietary tools (compilers, debuggers, etc) associated with developing a Zigbee application. In many cases, some of the most innovative creations come from individual enthusiasts or people with specific domain knowledge that might not be addressed by software or semiconductor vendors. I'm hoping that having a free stack with full source code access will allow people the freedom to create interesting things and hopefully create projects that can improve other people's lives. 2) It's almost impossible to mix and match hardware to optimize an application. Some designs are limited to using an ARM microcontroller since it may be part of an SOC that's needed for a specific application, ie: MP3 or video decoding. However the application would benefit from the addition of wireless communications. There currently isn't an easy way to take an MCU such as an ARM based one and mix it with an 802.15.4 radio from a different vendor to make a Zigbee application. This is because the Zigbee software given away by semiconductor vendors is either in binary form or contains a license clause which only permits the use of the software with their hardware. Software companies selling proprietary stacks usually charge stack licensing fees that can go upwards of $50k and also require fees for driver modification for specific MCUs. One of the goals of this project is to provide a free Zigbee stack which will give designer's flexibility in choosing their components with no proprietary lock-in. Download: The FreakZ Zigbee stack is an open source stack that is currently under development. The latest source code can be downloaded at SourceForge at the following address: http://www.sourceforge.net/projects/freakz The source can also be downloaded from the SourceForge Subversion repository here: https://freakz.svn.sourceforge.net/svnroot/freakz You can browse the documentation in html format from the following link: http://www.freaklabs.org/freakz/v0_75/html/index.html You can download the FreakZ Simulator and USB Hardware Command Line Interface here: http://www.freaklabs.org/freakz/v0_75/FreakZ Simulator Interface.pdf
Email This
Hits: 27811 Trackback(0)
Comments (33)
![]()
amazing!
written by arnold cahn, April 12, 2009
hello, i'd like to thank you for the amazing job you are doing. I hope to be able to test your zigbee stack soon.
report abuse
vote down
vote up
Votes: +1
...
written by Geoff, April 26, 2009
hey what development tools are you using Akiba? Visual studio? or something else?
report abuse
vote down
vote up
Votes: +0
Great Job
written by DivineBlade, May 26, 2009
Hi Akiba....great job with the open source zigbee stack......I have a question though......Is the FreakZ stack Zigbee certified??....
report abuse
vote down
vote up
Votes: -1
...
written by Eugene Izmailov, July 10, 2009
You started a Great project. But I have a question. Does it possible to use your stack in projects based on Keil uVision IDE for X51 or ARM MCUs with using RTOS like RTX51 ? Thanks.
report abuse
vote down
vote up
Votes: +0
it's really a amazing job~
written by liu, August 04, 2009 Does it possible to port your stack to CC2430? I have some CC2430EM module and I want to use the stack with them
report abuse
vote down
vote up
Votes: +0
Why did you choose to go full-time at this endeavor?
written by Michael Stoops, August 06, 2009
Akiba,
Why did you choose to take this on full-time? Is it because you believe so passionately in the cause? You think it's your golden opportunity to make a name for yourself? Just curious. report abuse
vote down
vote up
Votes: +0
Greate Job!
written by Edward, August 10, 2009
Greate job, Akiba. Is the stack free for both personal and comercial usage? What license is it released upon?
report abuse
vote down
vote up
Votes: +0
Membership Requirement?
written by Anon, October 14, 2009
As to your last point re: membership requirement, does this mean that by using your stack, the user is still required to be a Zigbee Alliance member (adopter?).
report abuse
vote down
vote up
Votes: +0
Wonderful!
written by dyan, October 20, 2009
Awesome effort Akiba, I am working on Zigbee, and infact, i attempted to design a sniffer as well using the stack from one of the vendors, but very strangely, i keep missing messages, atleast 10% of over the air traffic...and its random...i can never predict which msg i miss..
have you designed a sniffer as well? report abuse
vote down
vote up
Votes: -1
Help me understand.
written by MD, April 03, 2010
Even though I am not an electronics or programming person by trade, I consider myself an advanced user. I have written a lot of code for my core business and am at ease with various programming concepts. When I decided to investigage embedded controllers for fun, I was delighted to find the Arduino environment. It seemed ready-made for my skill set and provided a comfortable, quick-start environment. Since finding Arduino, the wireless aspects of embedded controller has caught my attention. That's how I found your effort.
You obviously know this subjecte. I would like to ask a few questions. (pleaes forgive my ignorance): 1) Why does a device with X at the beginning of the name dominate the Arduino-type mesh sphere? 2) Why is there not a device independent layer for mesh networking for the cheap tranceivers? 3) What will your project mean to people like me (who want to dabble) when it is done? 4) Will your project be available in some version for the Arduion IDE? (an easy to get going version) 5) What questions should I be asking that I'm missing? Thank you for your effort. report abuse
vote down
vote up
Votes: +0
Thank you. Another question if I may.
written by MD, April 03, 2010
Your Chibi project seems amazingly interesting.
As a civilian to your industry, it seems to me that many of the electronic engineers are "optimizing" much of the mesh features - localizing, communication speeds, etc. However, it doesn't seem to me that many of the practical needs of a mesh network require this level of engineering. For example, suppose that the network is monitoring the moisture in the soil of a large garden. The garden sprinkler has several zones and waters each as necessary. The soil dries slowly and doesn't need a gazillion megabit optimization protocal all the time. It just needs to report the moisture a few times per day. I can see that many mesh uses would be similar. Why not develop a simple "mesh-like" function with Chibi? It won't be a "true mesh" or get close to the technical features but it could meet the needs of the network. At a snails pace, the network could identify network nodes, wake them up, find routes, transmit data, and then put the members to sleep again. Please forgive my ignorance on the subject, but there seems to be a need for a slower, simpler networking environment that is being overlooked. Sincerely, MD report abuse
vote down
vote up
Votes: +0
Thanks
written by MD, April 04, 2010
You have been very generous. I will start working with Chibi.
report abuse
vote down
vote up
Votes: +0
*(U16*) Issue
written by RNC, May 01, 2010
Some compilers will only do this as a word-aligned operation, which may break the header on some devices. It's also endian specific, so it might be safer to do something like:
*buf->dptr = hdr->src_pan_id&0xFF; *buf->dptr = (hdr->src_pan_id>> &0xFF; buf->dptr = 2; Aside from that, great work. Nice to have a reference other than IEEE's on which to verify I'm doing everything sanely. report abuse
vote down
vote up
Votes: +0
improving humanity
written by Dennis, May 16, 2010
I just stumbled on your site today. It's interesting, and I'm interested in a lot of things you address here.
Having just read and exchange of messages in the FreakZ area, something struck me - You take the time to give clear, useful answers to questions you obviously took the time to read and understand. In other words, you are genuinely helpful. However useful and impressive your efforts are in the open standards wireless field (and I don't mean to downplay them - your effort is clearly pioneering), I think you helpfulness as one human being to another is more profoundly significant. This is how humankind improves. I'm glad I stumbled on your site. report abuse
vote down
vote up
Votes: +1
Using the stack on actual HW.
written by Richard, May 31, 2010
Hello,
Can this stack actually be used on real hardware? From looking at the documentation it only seems to run under a simulator, yet looking at the code there seems to be a driver for the at86rf230/1. Personally, I'm looking for wireless temperature sensors to litter around my house so I can test / monitor various changes I've made in my house regarding insulation and ventallation changes I've been making, but finding a wireless temperature sensor for less than USD$20 is near impossible (8 sensors @ $20 is easier to get past the wife than 8 sensors @ USD$160). Thoughts / suggestions? -Richard Maxwell report abuse
vote down
vote up
Votes: +0
Yup, I was wanting to do temperature gradients as well.
written by Richard, June 01, 2010
Thanks for the quick response :-)
Like most of my internet searches the $20 sensor you find is close, but no cigar (well, unless I want to hack it :-) Basically I wanted to have around 15-20 temperature sensors around the house and log the data in 1-5 minute intervals. Wireless seemed like the best way to go, but then cost rares its ugly head :-/ Anyway, the moment someone has a working open source zigbee stack, the sooner you'll have the crazy awesome uses that people just can't predict. So, please, keep up the good work. -Richard Maxwell report abuse
vote down
vote up
Votes: +0
...
written by mzoltan, July 07, 2010
Hi, congratulations for Your effort.
Im searching for platform alternatives for a ZigBee enabled project (about 100nodes over 100sqm area). Is Zstack working on the Chibi hardware? Or the Raven hardware? Could I have an AVR (xmega128a3) a CC2520 and a Zstack combination doing the networking of these 100 nodes? Im not bound to use ZigBee, also considering ipv6WLAN or route under MAC as ATMEL calls it. The only problem I have with the ATMEL CPU RF solution is its cost ~4EUR the CPU and ~2EUR the transceiver. Im looking for something that ~3EUR CPU transceiver .... I just stumpled on your site, not studied Your solution in detail yet. Thanks report abuse
vote down
vote up
Votes: +0
Write comment
|