I’m happy to announce the release of my latest design, the Freakduino-Chibi.Yes, there has been mixed reviews about the naming. It’s ranged from “seriously?” to outright laughter. I decided to go with it though because it does express two things that I think are important. The first is that it’s an Arduino-compatible board and the second is that it’s related to my original Chibi boards .

Before I get into the actual board, I should probably talk a bit about the background behind the design of the boards. The original Chibi protocol stack and Chibi boards were meant to be an entry level way for people to get involved in wireless sensor networking and data collection. But after observing people in Tokyo Hackerspace and in my microcontroller workshops, I realized that there were still some things missing.

Although people familiar with programming might be comfortable with makefiles and command line compiling, I’ve seen that it causes anxiety in people that are new to programming and the GNU toolchain. After a microcontroller class I taught a few months ago, I was talking to the participants and some of them mentioned that the Arduino environment has only one step to compile and load the code into the boards. That definitely intrigued me and I started investigating the platform.

I spent about a month playing with the Arduino, trying out code on it, downloading code from others and using it, and basically kicking the tires on the platform. After working with it, I found that there were a lot of benefits that weren’t immediately visible to me as a non-Arduino user. The IDE was very simple to use and a lot of usability features were built-in. But more importantly, having a large amount of third party shields , source code, a self-supporting community, and a common base platform were immensely valuable.

After working with it for a while, I discussed it with a few of the electronics and embedded people in the hackerspace and we decided to use the Arduino as the standard platform in the space. This would make it easier to ensure everyone has the same base hardware and software when we collaborate on projects. And since Tokyo Hackerspace has kind of a leaning towards wireless (hee hee hee), I decided to make a version of my Chibi boards compatible with Arduino but still include the 802.15.4 wireless radio. That marked the beginning of this design project.

The Software

Chibi means “midget” in Japanese and I felt that it was an appropriate name for this wireless protocol stack. It wasn’t meant to be a fancy, mesh routing, auto-discovery, standardized device profile type of stack. The main goals were that it was small and easy to use so that people that weren’t experts in communications protocols could still send and receive data wirelessly without dealing with complex setups and technical details.   

For the Freakduino-Chibi board, the Chibi stack was ported to the Arduino platform and named chibiArduino . It comes in the form of an Arduino library and you just unzip the package into the /libraries folder of your Arduino directory. The stack takes up approximately 3.6 kB of flash and about 270 bytes of RAM and allows users to set up star networks where any node can communicate with any other node within listening distance.

The Board

There were a lot of decisions that went into designing this board and I tried to keep my priorities on usability and price.

Usability dictated quite a few design decisions. Although most people will probably not notice them too much, I had a lot of internal debate with myself on things like using a mini-USB connector versus standard, having a printed antenna versus antenna connector, having a power switch, DIP switches to enable or disable LEDs, battery operation, battery case, enclosure, etc.

Interestingly enough, one of my biggest decisions was to maintain 5V operation which is what the original Arduinos use, rather than 3.3V. Although most chips are now 3.3V, most shields are designed with 5V in mind so switching the MCU to 3.3V might jeopardize compatibility with other shields. But using 5V means that logic level converters are required on the board to interface the radio to the MCU.

Another big decision was to have an enclosure option for the board. One of the things I noticed by being in the hackerspace is that many members bring their circuits and parts to the space in Tupperware. Tupperware is interesting because it offers protection, but also easy access to the circuit and parts due to the burp-able lid. I thought that having a way to transport the board safely would be an interesting feature to explore because it makes collaboration easier and also allows people to do prototyping and design at places like coffee shops or on the road. There are a lot of enclosures that offer protection, but finding one that offers easy access to the circuitry is much more difficult to find. Most enclosures have to be screwed down which makes portable prototyping a bit difficult. I finally decided on the Takachi LC135 series enclosures which come with a silicone sleeve in various colors. The silicone sleeve is used to ruggedize the enclosure, but there’s a much more interesting use for it. You don’t need to screw down the enclosure because the sleeve holds the top and bottom halves securely together. To open the enclosure, you just need to remove the sleeve which solves the issue of both protection and easy access.



Cost was a huge design consideration. A big problem with wireless sensor networks is the cost per node, since most networks have more than one node (duh). If you’re not purchasing in large quantities, it’s very difficult to bring down the cost of a board. One way is to force yourself into slave labor, but this is a bit undesirable. Assembly is a huge headache for a one-man shop so I decided that the best way to bring down the cost of the board without killing myself on assembly time is to offer the board in a partial kit form. If people are willing to spend some time mounting the through-hole components, I’d be perfectly fine with charging less for it. Of course, this makes testing the boards more complicated since the boards are incomplete so I had to experiment with customized test jigs with pogo pin test probes. Luckily, LadyAda had an excellent tutorial on it . It took a bit of trial and error but I finally got a decent test system working so I’m happy that I can offer this as an option.



Another cost decision was to offer different purchase options for this board. I’m experimenting with the “base model plus upgrade options” pattern. I was initially a bit hesitant because it meant that the purchase of the board would be more complicated since it requires extra decisions about which options, if any, would also be purchased. In the end, I decided that allowing people the option of only paying for the features they need was most important. That way, people that just wanted to try out wireless communications could do so inexpensively and people that required more functionality could add on options.

I think I can say that this is the first board I designed that was inspired by my involvement with and exposure to the hardware hacker community. It’s been about four months since I released my last design and in that time, I’ve gotten the chance to work more with Tokyo Hackerspace and meet many people from other hackerspaces around the world. There are a lot of subtle nuances and requirements that really only come out by hanging out with people in the maker community. The idea for portability came from watching Raphael of NYC Resistor carrying around his designs in cigar boxes, MRE from Tokyo Hackerspace and his infamous Tupperware carrying cases, and the guys from Hackers on a Plane putting together circuits inside the common area of a Tokyo hostel. The idea to go to the Arduino platform came from watching non-programmers in the hackerspace struggle with the GNU toolchain and the many questions and emails I got asking about a simple way to start doing wireless communications. The bottom mounted battery case came from trying to stuff the circuit board into NEMA rated boxes we used in the hackerspace for our rice farm monitoring project . And of course the price sensitivity came about because many of the really creative people in the maker community and in Tokyo Hackerspace are simply broke. So I’d like to thank everyone for all the inspiration and making this design possible.

I’ve started by making a small run of boards available in the shop and I’ll be making more as needed. As a thank you to the community that helped create this design and to kick-start it, the boards will be sold at 20% off through Christmas. And since I’ve been taking pictures of my whole design process over the past few months, I thought I’d include my outtakes which documented some of the stupid mistakes I made in getting this board out.

Link to Freakduino-Chibi Documentation

Link to chibiArduino Project Page

Link to Freakduino-Chibi Shop Page

Updated 2010-11-17: The response to the Freakduino-Chibi board was overwhelming. I was only expecting to sell a few so I made a small initial batch. Unfortunately, it sold out quicker than I expected. I source most of the parts locally so I can re-stock pretty quickly. If it's sold out, check back in a couple of days. It usually takes me a bit of time to assemble and test a batch, but I can probably restock at least once a week. Thanks to everyone for the great reception for these boards. It was totally unexpected :)