I’ve always been interested in electronics that could control stuff in the real world. Back twenty years ago I used the Commodore 64 to control some motors etc. and had fun with that. It was fairly easy because everything on the serial port was directly available. A peek here and a poke there, and you could do everything! If you had a LED you could wire it up directly into the C64 and turn it on using only two poke commands.
But then the world changed, OS’s became complicated, and the serial port even pretty much disappeared on all computers. USB was the new thing, but USB is seriously complex. Both coding for it, and just to turn on a LED you need a load of electronics at the far end of the USB cable.
Then came the internet, and everything had to be online. All my dreams about controlling stuff sort of boiled down to: “I want it to be online and easy to do.” and thus went nowhere for 20 years… until today where I got my hands on a Nanode board. The only problem was that I hadn’t fiddled with electronics for 20 years! This is how it went…
Building the board
The board arrived in a little plastic bag filled with tiny bits and pieces. Everything has to be soldered on by yourself. I think you can get prebuilt ones for about double the price, but I wasn’t afraid of a little soldering.
However once I had a good look at all the components I was a bit frightened. These things were tiny! And the space between the components on the PCB were close!
I dug out an old soldering iron and started following Ian Chilton’s really nice guide. The guide is for the RF version, but it really only means that you have to skip all the optional RF bits in the end.
Now… soldering was something I learned a long time ago… and pretty much haven’t soldered anything serious for 20 years. So my first couple of soldering points looked like crap.
So I decided to learn from scratch using the links the Ian also has on his page. Apparently today things are done differently. Keep that solder away from the iron, Mount the PCB so the solder flows through the holes, etc. etc. The video complains about older 1mm solder, but it worked out fine for me.
Also after digging out a much more professional soldering iron things went quite well. There are some points where you would wish you had 3 hands. And even having a “helping hand”-solder stand does not help much.
I spent a good 3 hours completing the board, and I was extremely happy when I saw that all the voltage checks were just as they should be.
It wasn’t until now that all the problems started 🙂
Running programs on the Nanode
I hooked up the board and looked at a blinking red LED. I didn’t know what to expect, but for now this was the most expensive blinking LED I had ever owned.
Ian ends his guide telling you about some test program and tells you to “write it to the board”.
A half and hour of Google surfing I was a bit wiser. It did take a while because most of the “official” Nanode pages simply link to each other in a sort of linking frenzy.
Well, it turns out that the Nanode is sort of a “copy” of the Arduino board that has been around for years. I never got the Arduino because it was expensive, and on top of that you had to pay a lot extra to extend the board with ethernet capabilities. The Nanode has ethernet built in, so that’s why I decided to buy it. I wasn’t expecting the two boards to be so much alike, but it turns out that they are.
So to put a program onto your Nanode follow this guide:
1. Get a driver for the FTDI cable if you are using that. (It’s really only a USB to serial port cable, but it’s cheap and very easy to use, so I ordered it along with the Nanode. I suggest you do the same.) Install it and see in your device manager which COM port you got. On my computer I got COM5.
2. Go to www.arduino.cc and get the software for your operating system. To complicate matters even more the software program is also named Arduino. And it’s version 1.0 at this time of writing. Installation of this is simply just unzipping the zip file.
3. Now connect the FTDI cable (and the Nanode) to the computer, and run Arduino.
Now even though Arduino 1.0 looks like something that was quickly thrown together and can’t really do much. It’s actually a complete tool for coding, compiling and transferring programs to the board. It’s almost too easy 🙂
Well, not really.. since the Nanode is NOT an Arduino, there are some confusing things that you need to set up in the Arduino program that I simply had to spend several hours on misc. forums to figure out.
4. This one is obvious. Set the correct COM port.
Go to the tools menu and select the COM port you saw in step 1.
If you’re on a mac your com port will have a seriously strange name, AND there might even be a mess of other ports on the list too. On my mac it works if I choose and of the two ports named something that ends with SLAB_USBtoUART. You won’t find any help on COM ports in the system settings or in the Apple help. Serial ports are things that Apple want the user to think doesn’t exist any more.
5. Choose the right type of board
There is no option to choose Nanode and you need to select the right one. I spent 2 hours until I found the answer in an unrelated post on the Nanode forums. You need to set the board type to: Arduino Duemilanove w/ ATmega328
6. Now you should be able to upload programs into the Nanode.
The Arduino software comes with a lot of examples, but since the Nanode is not really an Arduino, many of the programs won’t work without changes. To get you started take a look at the two examples below.
Start out with the Blink program.
Click the little up arrow (Load) and select Basics / Blink.
If you read the code you’ll see that it turns output 13 on/off with a one second delay.
But on the Nanode the LED is wired to output 6 and not 13. So, in order to make your Nanode blink you need to change the 13 to 6, all 3 places in the program.
Simply do that, and click the little upload button. Shortly after, like 30 seconds, your Nanode should start blinking the led.
Of course you want to test the Ethernet as well. Unfortunately, at this time of writing this is somewhat difficult, because the examples that come with the Arduino software do not work on the Nanode at all. The examples use a library named Ethernet.h that is not compatible with the nanodes ENC28J60 ethernet controller.
Instead you’ll need to get some examples for another library named Ethercard.h
The name in the zipfile will contain a lot of numbers etc so rename the folder to “Ethercard”.Everything should look like the picture below.
Now restart the Arduino software, and you should be able to load the webserver example by clicking the little up-arrow and selecting Ethercard/rbbb_server.
You might want to change the IP address in the example. It’s set to 192.168.1.203, so make sure that it fits your network. Upload it to the Nanode, and when it’s done you should browse to the IP address and see a webpage showing the “uptime” of the server. Quite neat 😉