How is the SparkFun Pro Micro reset using software?

Hi All,

I'm trying to understand how the Arduino IDE resets the pro micro board so that it is in a programmable state. The reason why I am asking is I will be trying to integrate AVRDUDE functionality into my own C# program and some of the products my company offers use the Pro Micro schematic and operates exactly the same.

I understand you can hardware reset the device by jumping RST and GND but how does the IDE itself issue this over USB serial connection? Does it just send some sort of reset command or is the reset functionality built into AVRDUDE functionality which is sent?

Thanks in advance :slight_smile:

  • Brandon

It's the bootloader (unless you're on about using ICSP - the 6pin).

That depends on how you are uploading. Both the serial bootloader method and the ISP programmer method toggle the /RESET pin, but using different circuits.

The source code for the ATMEL DFU bootloader for the USB connection is available here, among other places.

Assuming upload via USB
A Pro Micro is reset by opening and closing the serial port with a baud rate of 1200 baud. Your can see this when you perform an upload and have verbose output during upload enabled under file → preferences in the IDE.

This applies, to my knowledge, to all boards that have native USB.

Note:
A part of the sketch that you upload is responsible for the reaction on the software reset as well as the identification of the board. If your sketch overwrites variables used by those two functionalities, the board will not be identified or will not react on the software reset.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.