My wife is the best. She listens to me even when I yammer on about the most boring and geeky of topics, and does so with patience and grace. What’s more, she even remembers what I talk about, and I reap the benefits at Christmas time. I mentioned Nanode about a month back, because I thought it was cool: it’s an Arduino compatible kit that sells for about $35. “That’s not so good”, think you. But the cool thing is that it includes Ethernet. It also has a couple of other improvements. It has a double row of pin headers. The inner set are compatible with the (incredibly annoying) irregular Arduino shield spacing, while the outer set are on standard 0.1″ headers which allows you to solder in pins and use it easily on a breadboard. It also includes a space to solder an external SPI memory (SRAM, FRAM, or EEPROM) for additional expansion. Nifty.
Here is my assembled (and functional) nanode:
The instructions say 1.5 hours, it took me a little over two, because I went very slowly and methodically. It’s not difficult, but it’s a fair amount of soldering, and it’s easier to make sure that you do a good job as you go along, rather than spend it debugging later. There were only a couple of minor problems with the instructions: the 22pf ceramic caps shown in the pictorial are actually blue caps in my kit, and the what the instructions showed as blue were in fact little yellow caps. The later required a bit of lead manipulation to get them to fit tidily (their natural spacing was a bit wider than what the PCB has). I didn’t see where they specified to insert the LED’s current limiting 270 ohm resistor, but it was obvious to me at the end where it went. Getting the Ethernet socket in place took a little careful manipulation of the pins. But in the end, it all worked out okay, and when I powered it up, the LED blinked to indicate all was well. I moved my Tiny BASIC interpreter over, and after fixing a minor bug that I introduced the day before but didn’t catch, had it running basic programs to blink LEDS. Huzzah!
It seems like a good kit, really. But there are a few things I thought were odd. The place to solder the SOIC memory expansion is on the bottom. And, in spite of the fact the rest of the kit is entirely through hole, this one is surface mount. That’s not a big deal, but there is something that kind of bugs me: it requires other board modifications to make it work for most of the memory chips I’ve looked at. The problem is that there aren’t any level converters wired to it. The board itself is mixed voltage: 5v for the ATmega328, and 3.3v for the Microchip Ethernet, but this isn’t carried over to the memory expansion. To really make this work, you need to convert the board to run on 3.3V, and that requires hardware mods (replacing the regulators). And frankly, I wish they had. Yes, I understand that some shields need 5v, but the precedent of 3.3v Arduino Pro boards has already been set, and I suspect that much of the complexity of the existing board is in the resistive dividers that it needs. As it is, I think it will actually be simpler to do memory expansion via a small data board that rides on the headers, and includes the necessary level conversion. It also means I can use the PDIP version of the 23K256 chip, which is more breadboard friendly.
I was also surprised that they didn’t include an SD card slot. If you have an Ethernet, one of obvious ideas is to serve webpages, and you need some space to store them. The obvious thing would be a small SD card. I recognize that the board space is at a premium (especially since this kit uses through hole packages for ease of assembly), and this kit is inexpensive, but it still would have been nice. There is a spiffy Arduino-compatible but looks nice: the EtherTen by Freetronics, but to be fair, it costs twice as much and uses surface mount technology.
One other minor gotcha that I encountered was with the “FTDI cable” that came with my order from Wicked Devices. While it is described as an FTDI cable, when I plugged it into my MacBook that I use for Arduino development, it wasn’t recognized, in spite of the fact I’ve used other FTDI cables. It turns out that it’s not actually an FTDI cable: it’s based upon a USB UART converter made by Silicon Labs. Once I dug out the proper drivers, it worked fine, but it might have caused more confusion for beginners.
I will probably use this for more Tiny BASIC experimentation, and/or serving a simple website. If you’d like to get a kit that you can assemble that includes Ethernet, it’s hard to do better at the price point. You can also order them preassembled.
Addendum: I think I see what the problem was, and while I was confused about the specifications: my wife ordered this from Wicked Devices, who are listed as the US distributor for the Nanode. But Wicked Devices only carries the Nanode V5, which is not the most recent revision of the board. The “Nanode Classic” includes most of the changes that I thought the one I have should carry, as well as including an expansion board for RF, but is apparently not available from their US distributors (yet).