In my last Decode column I gave details of the UKHASnet network along with links on how to build your own super cheap nodes and start experimenting. Having spent some time playing with these I have a few tips that might prevent you making the same mistakes as me!
In order to program the bare ATmega328 chips you will need a programmer connected to an IC socket (ZIF is best). For ATmega328’s the best programmer is an AVR-ISP and there are lots out there to choose from. I used an Olimex AVR-ISP programmer that’s available from lots of suppliers for around £20. One of the good points about this programmer is it’s ability to power the chip; many programmers don’t include this. When you get the programmer, you need to follow their simple process to change the firmware to work with the Arduino IDE.
To connect to the chip you can do the home-build route and use a bit of stripboard to create the ISP pins and then wire them to the ZIF socket. If you’re lazy, you can get the Sparkfun AVR ISP Shield. Although this is designed to clone Arduino boards it also makes a useful interface between the AVR-ISP mkII and the chip as it has the ISP socket, power voltage selection, power led and the ZIF socket.
Before you start programming, you need to add the updated board code to the Arduino boards.txt file – this is essential.
When connected you MUST burn a bootloader as this sets the fuses to the correct values for use as a node. If you miss this step you will find that the temperature sensor won’t work and the serial output from the gateway will be running at 1200 baud instead of 9600. This is because new ATmega328s are supplied with the divide by 8 fuse bit set. The original boards txt on the WiKi also had the 2.7V brownout fuse set but that stopped some ATmega328s from working so has been changed in theWiKi.
If you want to connect your node to the national UKHASnet network you first need to go to their site and select an unused node ID and then update the NodeConfig.h file for each node with the new name. The next step is to prepare a Raspberry Pi to act as the gateway. This is very easy as there’s Python code ready to run on the UKHASnet github.
Once the code is installed you just need to connect your gateway node to the UART port of the Pi and you’re in business.
I’ve written a more complete guide on the UKHASnet Wiki.