Go Down

Topic: Reset line behaviour on different arduino models (Read 106 times) previous topic - next topic


I am developping an arduino shield that uses the uart lines (pin0/1) to communicate for the arduino.
The small problem with that is that i can't upload a sketch to the arduino when the shield is on it, because uart lines are shared with usb (for arduino models with only one uart).

One solution, at least for avr boards, would be to disable the shield communication ( set RX to high z and ignore TX) when the reset line is active (low).
My question is : is this approach correct for all arduino models?
Do all arduino have an active low reset line, and do they all keep the line active during sketch upload?



Yes, all 328P/1284P/2560 type Arduinos (the 8-bit uCs) have an active low reset line. 

For serial downloads the reset line is pulsed to kickoff the bootloader (when a bootloader is installed).

When there is no bootloader and the code is loaded  using a Programmer via the ICSP header,  reset is held low by the Programmer the entire transfer time.

A better solution is to have a Slave Select option on the shield with a pullup resister. Then when the  uC is in reset, the pin is pulled high, and when the sketch starts up it can pull the pin low to enable the shield.

Designing & building electrical circuits for over 25 years.  Screw Shield for Mega/Due/Uno,  Bobuino with ATMega1284P, & other '328P & '1284P creations & offerings at  my website.


Hmm, indeed this is not a good idea, since with the bootloader the reset line will not be held active during the sketch upload.
A slave select line is a better idea, i will consider that, thanks.

Go Up

Please enter a valid email to subscribe

Confirm your email address

We need to confirm your email address.
To complete the subscription, please click the link in the email we just sent you.

Thank you for subscribing!

via Egeo 16
Torino, 10131