Wednesday 6 July 2011

panStamp project: small wireless Arduino boards

It's been a long time since I wrote my last post. Meanwhile, I've been re-evaluating my business model and the possibilities of my traditional market. Getting contracts in Spain (and even in Europe) has been a hard task since the current crisis started and freelancers like me are facing a market much less receptive than before.

I've been digesting the idea for more than a year, taking suggestions from here and inspirations from there. I really like the idea of selling my own products and wireless connectivity is supposed to become one of the leading markets for the next ten years. Finally, I did my maths and started evaluating different technologies.

6LowPan appeared as the strongest candidate. A friend from Freaklabs recommended me the Econotag platform as a starting point. These boards are manufactured and distributed by RedWire. Econotags are based on the MC13224, a well equipped processor from Freescale with an important amount of flash, ram and even with a serial bootloader. Mariano Alvira from RedWire is one of those brilliant engineers with a strong open-source culture. He not only maintains the project but also improves the libraries and responds to any question from his well-animated mailing list. On the other hand, RedWire's Contiki port is one of the best adaptations of the OS for IEEE802.15.4 platforms so if you ever consider working with Contiki and 6LowPan, RedWire products adn the MC1322X processor are a must to consider.

Unfortunately, I ended by understanding that Contiki and 6LowPan were far from my initial target market. I wanted something for the programmers not initiated in low-power wireless communications. Arduino has been a recurrent concept in my plans. Lots of people without much experience in programming know what Arduino is and what this platform can do. Thus, I finally took the decision of implementing something around the Atmega328P and give the arduino concept a try.

I then created the panStamp project. I initially tested different non-IEEE802.15.4 IC's but the CC1101 was finally retained. I created my first prototypes and developed the initial RF drivers. I was surprised about the power of the Arduino compiler/linker. Based on GCC, Arduino provides a very good stack depth. Using the object-oriented paradigm on simple atmegas has not given me a single problem since I started the project!!

Figure 1: panStamp prototypes

Since then, further developments have been carried out with success, including a complete single-thread communication stack based on interruptions, Java libraries and tools and a port for the eZ430-Chronos watch from Texas Instruments.

In order to trace my project from its genesis up to the final commercial release I created a new blog. This said, I'll unlikely post any panStamp-related stuff here so, for those interested in the project, I strongly recommend to take a look at the new blog periodically or subscribe to our twitter channel.