Badger2040 does not wake up after deep-sleep

I’m trying to build a small clock with Badger2040 and Circuit-Python. The program wakes up every minute on a timer-alarm and updates the display. This works perfect while running on VBUS, but on VBAT the system does not start.

Is there any way to change this behavior? I remember having read that starting disabled is “works as designed” and I interpret the schematic in this way that it does need a button to be pressed to start.

If I sacrifice a button so that it is always “pressed”, would that help? Would that draw too much current?


Solved it myself: with an always-on-button the Badger2040 wakes up after time-based alarms, even when running on batteries. Additional current is irrelevant.

I created a small 3D printed clamp for it:

OpenSCAD and STL are available here:

For a more permanent solution, I would recommend soldering a wire across the legs of one of the buttons.

If a pirate is reading this:

the Badger2040 is a great intelligent display, but it could be improved. If you plan to release a new version, consider this:

  • add solder-jumper-pads on the back to permanently pull EN high
  • and/or: connect a pin on the SMD-pads to the EN-logic, so we can drive it from outside
  • don’t connect the SCL/SDA pins on the SMD-pads to the same pins as the Stemma/Qt-connector. The SMD-pads are for power-users anyhow, why not connect these two pins (without pullups!) to the currently unused GPIO6/GPIO7? We would gain two general purpose IOs, and if we really need I2C on the SMD-pads, we could configure these pins as I2C1

Elegant, glad you found a solution :)

I’ve passed on your suggestions to our engineering team!