A TinyGo package for working with the hardware on the M5 Cardputer.
This package targets the ESP32-S3 based Cardputer family hardware.
Build with make build for the original Cardputer, or make build BOARD=cardputer-adv for the Cardputer-Adv. The checked-in Makefile forces TinyGo 0.37 to use Go 1.24.6, because TinyGo currently rejects the system go1.26.x toolchain.
The original Cardputer remains the default build. Cardputer-Adv support currently shares the common peripherals and board pin map, but still needs board-specific keypad and audio drivers on top of the new build-tag split.
I want to be able to use everything the cardputer has to offer, including the microphone and amplifier/speaker.
Much of the hardware on the cardputer already has drivers. The display and the SD card both already have drivers.
Some of the simple "peripherals" just need some convenience wrappers, such as sensing the battery level.
I intend to use my IR package for sending IR signals. I may add an IR receiver via the grove port for receiving signals.
- ☑️ Pin definitions
- 🔄 IR LED (my IR package is taking more work than anticipated to port from RP2040 to ESP32)
- ☑️ Keypad driver
- ☑️ IU ( adv only )
- ☑️ Screen (just a thin wrapper around the existing st7789 driver)
- ☑️ SD Card ( tinyfs / FAT is working
- 🔄 Audio support - this is proving rather challenging
- 🔄 Battery Level - battery level is returned but I'm not sure I have the ADC scaled properly