Go Down

Topic: Arduino Bootloader Protocol (Read 12433 times) previous topic - next topic

Digger450

Apr 15, 2007, 08:48 am Last Edit: Apr 15, 2007, 06:14 pm by Digger450 Reason: 1
I'm wondering if anyone can shed any light on exactly what is sent to the arduino during the upload process.  I've converted my ardunio to ethernet using a module from wiznet, found here.  It is working great and at a reduced cost from the lantronics solution.  However, it would be nice to be able to remotely update the software.  If anybody has any information regarding the upload process, it would be greatly appreciated.

mellis

The Arduino bootloader uses the STK500 (original, not version II) protocol: http://www.atmel.com/dyn/resources/prod_documents/doc2525.pdf.  The uploading is handled by uisp.  

I didn't see any information on the way in which the serial-to-ethernet module works.  You'll have to figure out what ethernet commands to send it in order to get the STK500 serial commands out of it.

Digger450

Thanks for the information, I'll look into it a little bit and see if I can get anywhere.

The serial-to-ethernet module works just like a com port and does not require any special commands.  If there was a way to point uisp to an ip address and port it would work.  Maybe I'll look around for some virtual serial port software.

follower

Quote
I've converted my ardunio to ethernet using a module from wiznet, found here.  It is working great

Hi,

I'm wondering if you could share if you made any further progress with this?

I'm working on porting the driver for a more recent ethernet module from WIZnet to Arduino-land. One of the thoughts I've had is programming-via-ethernet and I'm interested to hear how you got on. (Currently I have a working echo server. :-) )

--Phil.

Digger450

Well, this sort of dropped on my project list as I had so many home improvement projects to finish.  I did find some software to create a virtual serial port to a specific ip, but they wanted some big bucks for it.  I still have hope that it can be done.  My next step was going to sniff the com port during an upload and create my own program to send the same thing over tcp to the wiznet.

follower

Quote
I did find some software to create a virtual serial port to a specific ip, but they wanted some big bucks for it.  I still have hope that it can be done.  My next step was going to sniff the com port during an upload and create my own program to send the same thing over tcp to the wiznet.

Thanks for taking the time to reply.

Working out what to send may not require sniffing the com port--it might be easier to read the source of the bootloader to see what it expects.

--Phil.

mellis

Although if you do want to see the traffic, you can just set upload.verbose to true in the Arduino preferences file.  Then avrdude will dump every byte that goes by.

follower

Quote
...set upload.verbose to true in the Arduino preferences file.  Then avrdude will dump every byte that goes by.

Ah, cool, that's a handy thing to remember, thanks.

--Phil.

Go Up