Go Down

Topic: Micro Boot - HTTP Bootloader for ATmega328 (Updated) (Read 542 times) previous topic - next topic

ercanersoy

Jan 21, 2019, 01:42 pm Last Edit: Jan 22, 2019, 06:48 pm by ercanersoy
Hello everyone,

I have developed HTTP bootloader for ATmega328. I have developed this bootloader for my master thesis. This bootloader uploads to microcontroller via web browser. It needs Wiznet 5100 Ethernet controller. It uploads raw format firmware program.

I have tested on Arduino Uno and Wiznet 5100 Ethernet shield for Arduino.

GitHub Link
GitLab Link

Thanks for replies,
Ercan

Juraj

#1
Jan 21, 2019, 01:48 pm Last Edit: Jan 21, 2019, 01:59 pm by Juraj
Hello everyone,

I have developed HTTP bootloader for ATmega328. I have developed this bootloader for my master thesis. This bootloader uploads to microcontroller via web browser. It needs Wiznet 5100 Ethernet controller. It uploads raw format firmware program.

I have tested on Arduino Uno and Wiznet 5100 Ethernet shield for Arduino.

GitHub Link
GitLab Link

Thanks for replies,
Ercan
4kB bootloader
only over HTTP? no serial upload?
does it accept upload from IDE? (after some configuration?) is it compatible with the IDE build in arduinoOTA upload tool? I guess it doesn't propagate the 'network port' for IDE over mdns?

why the folder  platforms/megaavr ? Arduino uses the megaavr name for ATmegaAVR-0 series architecture (ATmega4809 Uno WiFi)
You can't write an Arduino sketch if you didn't learn programming. Not the language, but the concepts of programming - algorithms and data types.

ercanersoy

Quote
4kB bootloader
only over HTTP? no serial upload?
does it accept upload from IDE? (after some configuration?) is it compatible with the IDE build in arduinoOTA upload tool? I guess it doesn't propagate the 'network port' for IDE over mdns?

why the folder  platforms/megaavr ? Arduino uses the megaavr name for ATmegaAVR-0 series architecture (ATmega4809 Uno WiFi)
Micro Boot takes up space is under than 4KB.

Micro Boot is able to HTTP upload.

Micro Boot doesn't need an IDE or external tool. Micro Boot needs only web browser.

pert

Thanks for sharing ercanersoy! It sounds interesting.

The GitHub link also goes to Gitlab. Here's the GitHub link:
https://github.com/ercanersoy/Micro-Boot

ercanersoy


westfw

Looks interesting.  Do you want critique, or are you just publishing this to be helpful, as-is?

ercanersoy

Looks interesting.  Do you want critique, or are you just publishing this to be helpful, as-is?
Yes, you can critique and/or contribute Micro Boot.

westfw

Quote
you can critique and/or contribute Micro Boot.
standard_library seems to consist entirely of functionality that is provided by standard libc functions (atoi, itoa, strstr)
Needs more comments.  For some sort of school project, needs A LOT more comments.  (unless you have one of those misguided profs who thinks that code should be "self-documenting" to the extent that it doesn't need any comments.)  (I guess that there's some sort of paper that goes with this?)
Your strings[] array seems unnecessary - you could just have one big PROGMEM string containing the whole web page:
Code: [Select]
   #define VERSION "Version 123.456"
   const char PROGMEM bigtext[] = "this is a sample of a long string\r\n"
     "The individual pieces are automatically concatenated\r\n"
     " by the compiler, including the version: " VERSION " and other stuff\r\n";



Juraj

this bootloader could be very useful for Arduinos or AVR boards deployed at the 'end user'. the developer develops a new firmware and sends the bin file to the user. the user needs only very simple instructions to upload over a webpage.
You can't write an Arduino sketch if you didn't learn programming. Not the language, but the concepts of programming - algorithms and data types.

ercanersoy

Thanks for replies, I'm consider these issues.

I have updated and expanded documentation.

Go Up