Page 1 of 1

jeenode wireless bootloader

Posted: Fri Feb 03, 2012 6:30 pm
by dave
This is a copy of my post on the MCS Forum. The full source code can be down loaded there. ... ic&t=10360
But I have attached the binaries to this post so you can get the uploader working.

This project is a wireless bootloader for the RFM12B based jeenode and jeelink hardware. It can easily be adapted to other avr hardware. I have chosen the jeenode and jeelink hardware here because they are easy to use.

The loader requires three hardware devices. A windows PC, an uploader (the jeelink) and a target device (the jeenode). This version reads and writes to both the flash memory and eeprom memory. It uploads standard intel hex files generated by most compilers. Included in the zip file are the three programs needed to get this project working. They are the PC program (Loader2.6.exe) written in freebasic, the uploader program for the jeelink (DC_Link_jeeLink_v2.55.hex) written in bascom, and the bootloader program (Boot_jeenode_v2.55.hex) also written in bascom. All the source code is avalable on the MCS forum. You must register to see the attached files.

The Bootloader:
The bootloader fits into 2K bytes of flash memory in the boot space of the Atmega328P on the jeenode. You will need an ISP to load the bootloader into the Atmega328P. Also some fuse bits may need to be changed. The Boot size fuses should be set to 1024 Words and BOOTRST should be set. My jeenode has been slightly modified. I use the 8MHz internal oscillator instead of the 16MHz resonator that is normal. I have also added a LED to indicate Tx status. I recommend adding the Tx LED for a quick check that the loader is working. The oscillator frequency on the target device is not critical and will likely work anywhere in the 8 to 16MHz range.

The uploader runs on a jeelink. Just load DC_Link_jeeLink_v2.55.hex on to your jeelink and you will be good to go.

The PC Loader:
The PC loader program is a work in progress. The PC code has been the most problematic part of the project. I have done complete rewrites in 3 different languages, VB6, Lazarus and freebasic. The current version is written in freebasic and is sort of a hybrid dos/windows program. At some point I would like to make it a pure windows program. One problem to warn you about is that the PC loader program will hang if you try to open a com port that is not really there. Sometimes windows reports com ports are available that are not acktive. My bluetooth drivers do this. When one of those is opened the program freezes if the bluetooth device is turned off.

A manual of sorts will be added soon.


Re: jeenode wireless bootloader

Posted: Tue Feb 07, 2012 5:13 pm
by dave
Here is a Quick Start Guide.