… to this leaner-and-meaner design, which is the current JeeNode v5:
As you can see, it’s still essentially based on the same layout.
The JeeNode has been the flagship product here at JeeLabs for quite some time. It has been expanded to include a JeeNode USB variant which includes a USB interface and a LiPo charger, as well as a USB “stick-like” JeeLink that ties nicely into the WSN use of JeeNodes. And then there’s the bare-bones JeeSMD, which doesn’t have a wireless module built-in, but which is pin-compatible with the other two members of the JeeNode family.
With all the end-of-year stories coming up, and new year’s resolutions to follow soon, it seems like a good time to present my reasons for doing things this way.
Rethinking the Arduino hardware interface
That’s – in a nutshell – the essence behind the JeeNode.
I stumbled upon the fascinating world of Physical Computing and “Arduino’s” over two years ago, around the time when I also discovered an interesting low-cost wireless module. Lots of things “clicked” right away, but a few didn’t. Given that the Arduino is simply an ATmega (hardware), plus an IDE (software), plus a set of conventions (shields), I quickly realized that there might be more ways to skin this cat, and something new was born (inspired by the RBBB) – as summarized here a year ago.
I don’t want to rehash those points, but let me simply state what the JeeNode is about, assuming you know what an Arduino is.
- the JeeNode lowers the operating voltage to 3.3V (implications)
- it includes a wireless radio module (with software)
- it drops the concept of shields (hard to combine)
- instead, it adds 4 interchangeable 6-pin Ports (layout)
- each port includes two dedicated I/O pins as well as power
- there are numerous Plugs using this port pinout (list)
- about half the plugs use (software) I2C and can be daisy-chained
- there are many interface classes and code examples (here and here)
- the remaining I/O pins are on two extra headers (details, PDF)
- JeeNodes can be mounted upside-down (CB, GB, POF)
- … or used alongside a solderless breadboard (BB)
- with extension cables to move plugs further away (EC)
- … or a prototype board to re-use all the I/O pins differently (PB)
- reduced cost by using a detachable / reusable USB-FTDI interface
All this, while remaining fully compatible with “the” Arduino’s software + firmware.
But perhaps the most interesting bit coming out of all this, is that the JeeNode has become a practical ultra-low-power platform, with battery lifetimes measured in months, almost a year even, so far. There have already been tons of posts about this topic. It even spawned a nice little add-on to run JeeNodes from a single AA or AAA cell.
You may or may not agree with all the choices, but this is what the JeeNode is about.
Update – the Redmine repository is no longer available, everything is now on GitHub.