Forum - MCS Electronics

 

FAQFAQ SearchSearch RegisterRegister Log inLog in

RFM12B Wireless Bootloader

 
Post new topic   Reply to topic    www.mcselec.com Forum Index -> BASCOM Project Blog
View previous topic :: View next topic  
Author Message
Dave
member
member


Joined: 05 Feb 2005
Posts: 226
Location: McMinnville, OR

blank.gif
PostPosted: Thu Feb 02, 2012 11:42 pm    Post subject: RFM12B Wireless Bootloader Reply with quote

This project is a wireless bootloader for the RFM12B based jeenode and jeelink hardware. It can easily be adapted to other avr hardware. In fact I prefer to build my projects on protoboards but I have chosen the jeenode and jeelink hardware here because of there easy use.

The loader requires three hardware devices. A windows PC, an uploader (the jeelink) and a target device (the jeenode). Your compiled bascom program is uploaded and runs on the target device. This version reads and writes to both the flash memory and eeprom memory. It uploads the standard intel hex files generated by bascom. Included in the zip file are the three programs needed to get this project working. They are the PC program is called Loader2.6.exe written in freebasic, the uploader program for the jeelink is called DC_Link_jeeLink_v2.55.hex written in bascom, and the bootloader program is called DC_Boot_jeenode_v2.55.hex also written in bascom. All the source is also in the zip file.

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:
The uploader runs on the jeelink and plugs into one of your USB slots on your PC. You may need to install a USB driver for the jeelink to work on your PC. The jeelink has a arduino compatible bootloader pre installed so loading my uplaoder onto the jeelink requires a arduino compilable uploader on your PC. I use avrdude but it may be possible to upload from bascom directly.

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 a unavailable com port is opened. Sometimes windows reports com ports are available that are not. When one of those is opened on my PC the program freezes.

A quick web search will show where to buy the jeenode and jeelink in your area. The jeenode and jeelink can be purchased with 915MHz modules or 868MHz modules. My code is written for the 915MHz modules but it can be easily change for the other. Also if there is interest I can show how to build on a protoboard to save some money.

Please let me know if you find this useful or if you need help getting it working. And if you make improvements please share them with the rest of us here.

Dave

Project Updated Feb. 19, 2012


Last edited by Dave on Sun Feb 19, 2012 9:39 pm; edited 4 times in total
Back to top
View user's profile
MAK3
member
member


Joined: 24 Sep 2010
Posts: 445
Location: Germany

germany.gif
PostPosted: Fri Feb 03, 2012 8:10 am    Post subject: Reply with quote

Hello Dave,

very nice project. Thanks for sharing.

MAK3
Back to top
View user's profile
Dave
member
member


Joined: 05 Feb 2005
Posts: 226
Location: McMinnville, OR

blank.gif
PostPosted: Tue Feb 07, 2012 11:03 pm    Post subject: Reply with quote

MAK3 - Thanks for your kind comment.

I've attached a quick start guide.

I hope it is of some help.

Dave
Back to top
View user's profile
Dave
member
member


Joined: 05 Feb 2005
Posts: 226
Location: McMinnville, OR

blank.gif
PostPosted: Wed Feb 15, 2012 2:11 am    Post subject: Reply with quote

Hello

I have written a little tutorial showing how to use terminal mode of the Wireless Bootloader Project.

Regards,
Dave
Back to top
View user's profile
forter
member
member


Joined: 12 Jan 2012
Posts: 8

PostPosted: Wed Feb 15, 2012 1:43 pm    Post subject: Reply with quote

This is very intresting project!
I'll try test it on may development board.
Thank you.
Back to top
View user's profile
Dave
member
member


Joined: 05 Feb 2005
Posts: 226
Location: McMinnville, OR

blank.gif
PostPosted: Sat Feb 18, 2012 12:37 am    Post subject: Reply with quote

Forter - Your welcome. Let me know how your testing goes. - Dave
Back to top
View user's profile
Display posts from previous:   
Post new topic   Reply to topic    www.mcselec.com Forum Index -> BASCOM Project Blog All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum