Nobody likes bugs, but all nontrivial software and hardware has some. The master list of problems is the Issues list on github.
If you create a
busio.I2C object, call
.deinit() on it, and then create another one, CircuitPython will lock up.
Workaround: Do not deinitialize I2C objects, except by soft reload or entering deep sleep.
Current versions of esp-idf do not have the required APIs for DAC-based audio output. Once a future version of esp-idf that adds it, it will be possible to implement DAC-based AudioOut in CircuitPython.
Workaround: PWMOut can create tones and buzzes.
Workaround: I2SOut audio is currently being developed and will work with boards such as the Adafruit I2S Stereo Decoder - UDA1334A Breakout.
ESP32-S2 has hardware limitations on what kind of "pin alarms" can wake it. The following combinations are possible:
- EITHER one or two pins that wake from deep sleep when they are pulled LOW
- OR an arbitrary number of pins that wake from deep sleep when they are pulled HIGH, and optionally one pin that wakes from deep sleep when pulled LOW
This means that "wake" buttons should be wired so that pressing them pulls HIGH and a pull DOWN resistor is used with the pin. However, in some hardware designs including the original MagTag, the integrated buttons are pulled LOW when pressed and so only 1 or 2 buttons can be selected to wake the MagTag.