Status of pins during bootloader

  • Hi @all, specially @tekka,

    I have a project including a LED dot matrix display. I use the MYSbootloader to have a convenient way of updating firmware. Now I was on a try to increase the brightness of the LEDs and go beyond the stated current maximum. During operation thats no problem as I have a row multiplexing of 1/16. Only problem I see arising is when the bootloader starts. At this moment all my multiplexing pins are low, so only one row is lit up. Having the OE pin of my driver chip (74HC595) active low, this is also active and displays something. With higher current than rated, this might burn the LEDs and the complete display would be ruined.
    I thought of adding a pullup on the OE line, but that depends on the state of the pin during bootloader. If it is configured as output at standard, this will not work. If it's configured as input this might work.
    The other way would be to add a MOSFET or anything like that to disconnect the OE pin from my driver chip and than add a pullup resistor. But that is way more effort, so any tips is welcome.

  • Mod

    @Anduril IO Pins are configured as inputs after reset of the ATMega. I don't think (apart from the LED pin) the bootloader is changing any of these.
    If you want to force a pin into a certain state right after reset (when it's still configured as input) you can connect an external pull-up/pull-down resistor. This makes sure the signal on the IO pin has a defined state when not controlling it (e.g. attach a pull-up to the OE line to disable the outputs).

  • @Yveaux thats what I was thinking about. Thanks for confirming.