Just wanted to give a quick heads up to everyone that Chibi is now on Github. I also wanted to give a special thanks to Gry who set it up over there and Benny who did the port to the Microchip MRF24J40 radio. The Github repository can be found here:


The repo also contains Benny's MRF port. 

It all started from the conversations inside this thread:


I'm really lagging on a lot of stuff due to getting the webshop set up, but once I get a chance, I'll integrate the port into a Chibi release package and also create a project page for it. 

I didn’t get a chance (or actually I forgot) to wish everyone a Happy Thanksgiving. I’ll be doing my end of year reflection soon and I already know that I have a lot of things to be thankful for.

This Thanksgiving holiday wasn’t much of a holiday for me though. Since I spent so much time helping Tokyo Hackerspace prepare for the MAKE event, the holiday was spent trying to catch up with my designs and get things ready to roll out for the store. I’ve already decided to put off opening the store for this year since the holidays are quickly approaching and the last thing you’ll want to be doing over the holidays is prototyping wireless sensor circuits and writing code. However I do need to get over my mental blocks and insecurities and just get the damn thing open. You know things are bad when your wife starts pressuring you to open the store.

I already have the first wave of products ready to release. It’s going to consist of the 128 kB AVR board, the AT86RF230 radio board, and the prototyping breadboard. I’ll also have some other items like hi-gain directional antennas and such. It’s a pretty sparse initial offering, but there’s a reason for it.

I was initially going to release the Chibi board as well, but the time at MAKE and working with the scrolling LED board I designed taught me a couple of lessons. One of the things that I wasn’t too happy with is that Chibi is running a naked battery. By naked, I mean that it can run off a battery, but it’s running directly off of the battery with no power supply conditioning. The initial version of the scrolling LED boards I designed for Tokyo Hackerspace were doing the same thing, but I didn’t like the fact that the batteries dropped in voltage. Those nice flat discharge curves you see from the manufacturers aren’t exactly true. Those curves are flat so it looks like batteries retain their voltage until they’re almost fully discharged. Unfortunately, as those of you with cars might understand, when batteries are under load, the voltage does indeed drop as it discharges and it can be up to 1V or more. That’s why I wasn’t so happy to see the LED displays dimming out when the battery manufacturer had such a nice flat discharge curve for their lithium coin cells.

If you've been wondering why I haven't blogged as much recently, it was mostly because I was working with Tokyo Hackerspace to prepare for Make Japan #4. It was the first Make event for the hackerspace since it started and there was a lot to do. Since we've only been in the project space for three months, there wasn't a lot of stuff to show, so we all had to hustle to put together things to display there. I made a portable, hackable, scrolling LED sign which could be battery operated or USB powered. There was also a Windows app to change the messages. It was especially difficult because it was made to be sold rather than just for display. Hence, I had to make everything easy to use, write up documentation, design the boards, and work with the other hackerspace members to assemble them. For something that seems so common, a lot of work went into them. The project was open source for software and hardware and all the project files, schematics, and source code can be found here .

Other members were also working on interesting projects like turning common components like resistors, capacitors, etc into wearable jewelry, and doing mechatronic animation of squid characters. We were also working with the MAKE Japan team to run a public soldering area where people could build whatever they bought at the event at our booth. Unfortunately we didn't know that we'd also be teaching how to build the kits and since we were dealing with all types of kits, we had to learn how to sight read instructions and teach soldering techniques at the same time. Overall, it was really fun, and we taught a lot of people about electronics and soldering. I liked seeing the face of conquest that people had when it was their first time soldering and they put something electronic together that actually works.

I think that there’s a lot of people that might not understand how to use the command line shell that comes inside the FreakUSB release. Here’s a quick tutorial about how to add your own custom command to it.

Here’s the original code. I’m using the Tokyo Hackerspace development board and it already has a couple of commands, mostly for playing with the RGB LED. We’re going to add a command to toggle a GPIO.  

I've been bringing up the Chibi boards recently and ported FreakUSB to the ATMega32U4. I've been using FreakUSB for my development on many different boards now over the past year that its been released. Since then, I've also made modifications, ported it to different chips (all AVR tho), and have been tweaking things and fixing small bugs that have been coming up. I think that FreakUSB is at a point where its very stable for me and an indispensable tool for development, especially when paired with a command line parser. Hence, I decided to take some time to collect all the mods, package them up, and do a release.

Here are the main modifications in the v0.70 release of FreakUSB:

I’m taking a break from my seemingly neverending hardware assembly process because I was suddenly inspired to write a blog post about the future of WSNs as I see it. I’m not an analyst, nor would I want anyone basing their decisions off of something I said. However I do have the luxury of meeting with quite a few people in the wireless sensor network community (both Zigbee and non), hanging out with a rather large crowd of uber geeks (Tokyo Hackerspace), and am exposed to WSN news just about every day of my waking life for the past two years from updating the blog’s news feed. So in a way, that makes me slightly more qualified than some dumbass research groups (like ABI Research) that pay their interns to surf the web and collect datasheets, parts specs, and articles to put together a multi-thousand dollar research report based on publicly available data.

The past two years that I’ve been heavily involved with wireless sensor networks have been very interesting and, I daresay, exciting. I’ve actually been involved with WSNs on a very superficial basis for longer, but the last two years got me kind of deep into the middle of the pile. When I first started collecting news, it was to try and aggregate the disparate and sparse information that would occasionally surface. Today, I find myself spending a lot of time every day sifting through all the wireless sensor press releases, blog posts, and related information that seems to be flooding the internet. The verdict: wireless sensor networks’ popularity is increasing at a frighteningly fast pace.

Just wanted to let people know that the Chibi boards have come in. I'm dreading the assembly of another board since I already feel like a sweathouse laborer, but I think this board will be kinda fun to play with. I've added some captions of things that make it kind of interesting...if you're a geek...

Also threw in a shot of one batch of the AT90USB128 (FLAVR128) boards that will be one one of the modular MCU boards for the FreakZ platform. They're in an intermediate assembly stage where the surface mount components have been placed and reflowed. The thru hole components like the right angle headers, JTAG connectors, and DC jack have yet to be installed. 


People following this blog are probably wondering what I’ve been doing the past four months. Well, I’ve discovered that developing wireless sensor network hardware has been more of a challenge than I had anticipated. The design was actually the easy part. It’s everything that comes after that makes my life difficult. When I started on the hardware development, I thought that I just needed to design the boards, tune the radios, and stick them in a web storefront. Looking back, I’d say this was completely naive. The original idea was to have a supply of boards both for my own use and to sell in a webshop. My eventual goal is to make this open source project self-sustainable and I had figured that making hardware was the easiest way to get there. That was a gross underestimation.

One of the things that I discovered is that designing a schematic and making a PCB is just one small part of the overall design process when you’re trying to bring a board to market. There are a lot of factors that get ignored or underestimated like prototyping, sourcing components, prepping for manufacture, testing, writing documentation, and of course, the killer issue of all low-volume hardware outfits: assembly. A lot of these areas are trial-and-error and the error part is what consumes a lot of the time.

In the last four months, I’ve designed seven PCBs: three for Tokyo Hackerspace, four for FreakLabs. In that time, I’ve learned quite a bit about the flaws in my overall design process   and also the business side of trying to manufacture and sell boards. I’ve made a lot of mistakes that could have been corrected in the design phase if I had more insight into how I was going to manufacture and assemble the boards, but it’s tough to get that insight without going through the overall process a few times. I can’t really complain because although the past four months have wreaked havoc on both the Zigbee project and my personal life (and made me even more anti-social than I used to be), I have to say that I’ve probably also accumulated more hardware, manufacturing, and business knowledge than I’ve ever had in my entire career.

Everyone talks about the machine-to-machine (M2M) universe where the information from a plethora of cost-effective sensors allows people and systems to make even better decisions. One of the many challenges has always been the connectivity required for these sensors.


I was a little surprised that people actually checked out my first pick and place tutorial on setting up the machine. Well, this second one will probably put you to sleep. It deals mostly with the operation of the machine, and it only pertains to an MDC pick and place machine. I think that there is only one person on this planet at this moment that might be truly interested in this information. Hmm...possibly two. But anyways, that's good enough for me.

Hopefully in the future, these tutorials might actually contribute an infinitesimal amount to building the concept of micro-manufacturing. The open hardware community is definitely active in this area and the great thing is that they're spurring innovation and improving their local economies. This will probably be my last pick and place tutorial for awhile, but I figured it was needed to get things started. There just isn't enough information about it on the internet. Although most will probably not benefit from this tutorial at the moment, I think that in the future, when the openhardware community starts automating their operations more, these tuts might come in handy. Let's give it up for hardware hackers with a wad of cash and sore eyes!

With no further ado...

Recently, there’s been some interest in the open hardware community for pick and place machines. Especially with LadyAda's most recent engineering chat featuring her new pick and place . I had always suspected there would be, but never knew for sure because there wasn’t a lot of information out on the internet for indie developers trying to buy pick and place machines. I ended up purchasing my pick and place machine from a company called MDC in Japan who are one of the few makers of benchtop pick and place machines that are relatively inexpensive (ie: <$50,000). Incidentally, when I purchased the machine, I told the president that there would be a lot of interest from indie developers for a machine like theirs. He didn’t believe me. If you inquire about a machine from them, tell them Chris sent you and that the open hardware community loves pick and place machines :)

Anyways, in case anyone else purchases an MDC machine, I decided to put up a step-by-step image gallery tutorial on setting it up. If anything, it will at least help familiarize others with what a pick and place machine is and the different components on it. Hope you like it. 

Please click on the "Read More" button. There are a lot of pictures involved so I didn't want it to bog down my front page.

Forgot to mention. The website of MDC is here . Also Manncorp sells them under their "Economy Pick and Place Machines". Update 2: To answer the questions, my machine cost about ~$20,000 but was a used floor model and has almost no options. I do have quite a few feeders. If you want to fully automate your placement, you'll need to get the bottom vision option which allows placement of fine pitch parts like QFNs and BGAs. Also, the final price will depend on the number and types of feeders you get as well as which model of machine you purchase. And no, I'm not a sales rep for MDC...

After reading the recently uploaded IETF draft co-written by members of the Zigbee Alliance and IPSO, I thought it was a must-read for others interested in the Zigbee/IP effort, IPSO, or in the application of WSNs to smart energy. Since I know its a pain to read through IETF draft documents online, I thought I would post an outline summary of the document in bulleted form for easy scanning. That way, you can just look for the keywords that you're interested in. Just a note, I slightly reworded things or added comments (they're italicized) to put things in more laymens terms. Some of the jargon is meant for people that are well versed in wireless sensor networks, Zigbee, 6LoWPAN, and web protocols. If there are any questions, you should refer to the original document located here.

One good thing to note is that it looks like 6LoWPAN is locked in for Smart Energy and Zigbee will be integrated into 6LowAPP for the application level protocol and features. Anyways, here's the summary:

Finally working through my design backlog and getting ready to start the stack development again. Things took much longer than expected. After releasing the Chibi stack, I realized that hardware is needed or else the stack is meaningless (seems to be true for any stack I guess). So I took a couple of days to design a board specifically for it so that people could play with it. It's mostly targeted at the DIY electronics community which is composed of artists, hardware hackers, and enthusiasts so I had to put some extra thought into it to increase functionality and keep the cost low. I just sent the PCBs out yesterday so I'm hoping that they should be back in about a week and a half (including shipping time).