- Tue Oct 28, 2014 6:17 pm
#2018
Well, here is a video I have recorded with the proof of concept:
http://youtu.be/22URkgl6G1U and it works!!!
I have tested it with an ATMEGA168 in a protoboard, doing reset by hand when programming. You can see how the program is loaded using avrdude. The module has been previously connected to python script by hand.
Next step is to configure the sketch to connect the module to python script and do the reset with the transistor.
M0ebius wrote:Good ideas!
I would prefer the one with the modified bootloader, cause it does not depend on a working sketch on the Arduino. So it 's more failsafe (for me, this is important, cause some of my modules will be integrated)
Both solutions will work, but I prefer to leave the Arduino bootloader intact.
M0ebius wrote:Why you need the transistor in the 2nd solution? I think you can directly jump to the bootloader from the main program.
Reading the source code of optiboot and original bootloader, I watched they ask to MCUSR register what was the reset cause, and if one of them is equal to WDRF, then they jump directly to the begining of application.
When I will finish this, I will try to implement STK500 protocol in python script to avoid the use of avrdude.