Custom board needs bootloader mode to program

Hi All,

I have a custom board that implements the RAK4630-R module, things are working alright except that programming via usb is not as seemless as I would expect. It appears that the usb port can reset the device properly, however it does not come up immediately - it takes 5-10 seconds to re-populate on the device manager.

It appears the programming process expects this behavior, but it times out JUST before the device populates again, leading to this error:

Therefore, I have been forced to double-reset the board for bootloader mode, in order to program it. Quite annoying! Any solutions?

I just have RST going straight from the J-link to the RST line on the module, am I missing a pullup or capacitor on this line perhaps?

I tried adding the reset circuitry in with external capacitor and resistors, no luck, still see the same behavior.

Circuit that I added:

image

Confirmed I’m seeing the same behavior with a stock RAK4631 module on a RAK5005-O base board (v1.0).

It appears that something in the RUI firmware is keeping the COM port from populating as quickly as it needs to in order to be recognized by the Arduino IDE after a reset. @carlrowan are you aware of this issue?

No ideas? @beegee have you seen this behavior before?