Getting Started
The Cardputer itself is an ESP32 based development board with a screen and keyboard (among other awesome features). Normally this would mean that you have to program it yourself, however we are lucky to have a budding community making cool software you can run on your Cardputer. Check out the firmware.
Technical Details
- the ESP32-S3FN8 datasheet
- the Cardputer Docs
- this awesome repo that covers most things
Developing for the Cardputer
If you want to write your own firmware for the Cardputer, you first need to decide on the programming language you will use. Below we have outlined the current options and included some resources to help you get started.
High Level Development
UIFlow
UIFlow is a visual programming interface provided by M5Stack that allows users to create firmware for their devices without needing to write code. It's designed to simplify the development process, particularly for beginners or those who prefer a more intuitive approach to programming.
- M5Stack's Getting Started Guide.
- M5Stack's Tutorial Series on Youtube
MicroPython
The stock MicroPython firmware for the ESP32-S3 works great out of the box. If you know what you are doing, just flash this and have at it. Otherwise we recommend installing Thonny as your main IDE and getting started with some of the examples below.
- Cardputer Examples - A collection of MicroPython examples specifically for the Cardputer
- tinyknight - A simple game for the cardputer written in MicroPython
- st7789py - A micropython library for drawing to the Cardputer's screen - docs here
Low Level Development
ESP IDF
ESPIDF stands for Espressif IoT Development Framework. It's an official software development framework maintained by Espressif Systems. It provides a comprehensive set of tools, libraries, and documentation for developing firmware for ESP32 and ESP8266-based devices. The [demo][usedemo] that comes with the board uses this. If you want to get started with C/C++ and want a robust dependency management.
Arduino IDE
If you are coming from an Arduino background and want to continue using that, then you absolutely can. Follow M5Stacks Guide on how to set up the board and install the libraries you will need.
Other Resources
Programming
- M5Stack's StampS3 Docs
- Volos Projects on YouTube - for M5Stack tutorials and code examples
Models for 3D Printing
Hardware Mods
There are quite a few people doing hardware mods on the cardputer. If you are interested in adding a wifi antenna, modding the display keyboard - go have a look at the relevant channels in the Discord.