• I wanted to upgrade the firmware on my MDBT42Q breakout running 2.06 but as it turns out, the built-in button doesn't seem to function properly.

    Running the sample program here https://www.espruino.com/Button on D22 and using a jumper to 3.3v properly detects button presses, so I think the button doesn't seem to make contact no matter how hard I press.

    Is there a different way to get to DFU mode and flash a firmware upgrade? I would've done it through a jtag programmer but the SWDIO and SWCLK pins are too small :(

  • Update: I was able to enter DFU mode by placing a jumper between 3.3v and the left most side of the button solder joint (orientation with the module up).

    I don't think I'll be able to repair or use the button anymore but at least I have a way to upgrade the firmware in the future :)

    (leaving this here in case someone else has the same issue)

  • Glad you got it sorted! I'm afraid to enter DFU the only way is to pull that pin high, so either on the button itself as you found, or the relevant pin on the module.

    That's a very strange issue though... Has the button ever worked? Can you see any obvious damage to it?

  • Yeah it's worked before as I've upgraded the module when I first got it, and tried out some sample programs that involve references to BTN1.

    It's been years though (got it during the Bangle.js 1 kickstarter) so maybe there's been some debris underneath, or some corrosion or something.

    The size of the breakout usually means I don't have to rely on that tiny button for actual user input though so it's not a big loss (aside from the janky procedure which I only really do if there's a relatively big release) :)

  • Is there a different way to get to DFU mode and flash a firmware upgrade?

    It is great you have it working now. Otherwise the solution would be to build custom firmware with modified bootloader and flash just the bootloader via Flash.write/erasePage methods.

    Adding check in bootloader for GPREGRET value you could poke32 there to stay in DFU is one liner.

  • Post a reply
    • Bold
    • Italics
    • Link
    • Image
    • List
    • Quote
    • code
    • Preview

Alternative to BTN (D0) on the MDBT42Q breakout to get to DFU mode?

Posted by Avatar for parasquid @parasquid