There are two software loading processes in this project:

    1. Direct programming:
      This is using the standard STM32 interface to program the microcontroller. This is done on the development boards where there are no robustness concerns for the input pins.
    2. Protected programming:
      When the ring is polished and finished, it should still be able to be programmed to account for final development and potential firmware fixes during deployment. However, on the final form factor all of the programming pins must be robust to external signals, including short circuits. Therefore some additional protection is added.

 

 

SignalProtectionDescription
3.322Ohms + forward biased diode.Resistor limits the inrush current to protect the diode. The diode is to stop charge from leaving the super capacitors via the charging pin. For example if the charging pin was shorted to ground, as is the case when using the auxiliary carry case button.
ResetSeries 62kOhm resistorCombined with the internal pullup, it is required to pull the pin to negative 3.3V to reset.
SWDIO/SWCLKSeries 1kOhm resistorLimits current if exposed to the negative reset voltage.