From 593fa292563524733f8aa22685e0d20d67985388 Mon Sep 17 00:00:00 2001 From: Matt Trentini Date: Sun, 21 Jan 2024 00:32:09 +1100 Subject: [PATCH] ports/esp32: Add the M5Stack AtomS3 Lite board. Signed-off-by: Matt Trentini --- .../boards/M5STACK_ATOMS3_LITE/board.json | 21 ++++++++++++++++++ .../esp32/boards/M5STACK_ATOMS3_LITE/board.md | 3 +++ .../boards/M5STACK_ATOMS3_LITE/deploy.md | 22 +++++++++++++++++++ .../M5STACK_ATOMS3_LITE/mpconfigboard.cmake | 8 +++++++ .../M5STACK_ATOMS3_LITE/mpconfigboard.h | 10 +++++++++ .../esp32/boards/M5STACK_ATOMS3_LITE/pins.csv | 11 ++++++++++ 6 files changed, 75 insertions(+) create mode 100644 ports/esp32/boards/M5STACK_ATOMS3_LITE/board.json create mode 100644 ports/esp32/boards/M5STACK_ATOMS3_LITE/board.md create mode 100644 ports/esp32/boards/M5STACK_ATOMS3_LITE/deploy.md create mode 100644 ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake create mode 100644 ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.h create mode 100644 ports/esp32/boards/M5STACK_ATOMS3_LITE/pins.csv diff --git a/ports/esp32/boards/M5STACK_ATOMS3_LITE/board.json b/ports/esp32/boards/M5STACK_ATOMS3_LITE/board.json new file mode 100644 index 0000000000..d00bb673be --- /dev/null +++ b/ports/esp32/boards/M5STACK_ATOMS3_LITE/board.json @@ -0,0 +1,21 @@ +{ + "deploy": [ + "deploy.md" + ], + "docs": "https://docs.m5stack.com/en/core/AtomS3%20Lite", + "features": [ + "BLE", + "WiFi", + "RGB LED", + "JST-PH", + "USB-C" + ], + "images": [ + "atoms3lite.jpg" + ], + "mcu": "esp32s3", + "product": "AtomS3 Lite", + "thumbnail": "", + "url": "https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit", + "vendor": "M5 Stack" +} diff --git a/ports/esp32/boards/M5STACK_ATOMS3_LITE/board.md b/ports/esp32/boards/M5STACK_ATOMS3_LITE/board.md new file mode 100644 index 0000000000..8c93b5781a --- /dev/null +++ b/ports/esp32/boards/M5STACK_ATOMS3_LITE/board.md @@ -0,0 +1,3 @@ +The [AtomS3 Lite](https://shop.m5stack.com/products/atoms3-lite-esp32s3-dev-kit) +([docs](https://docs.m5stack.com/en/core/AtomS3%20Lite)) is an ESP32-S3 based +development board from [M5Stack](https://m5stack.com/). diff --git a/ports/esp32/boards/M5STACK_ATOMS3_LITE/deploy.md b/ports/esp32/boards/M5STACK_ATOMS3_LITE/deploy.md new file mode 100644 index 0000000000..9a20a6a43d --- /dev/null +++ b/ports/esp32/boards/M5STACK_ATOMS3_LITE/deploy.md @@ -0,0 +1,22 @@ +Program your board using the `esptool.py` program, found +[here](https://github.com/espressif/esptool). + +To place the board in _bootloader mode_ - so `esptool`` can be used - press and +hold the reset button for two seconds. A green LED will flash behind the reset +button when the bootloader mode has been activated. + +If you are putting MicroPython on your board for the first time then you should +first erase the entire flash using: + +```bash +esptool.py --chip esp32s3 --port /dev/ttyACM0 erase_flash +``` + +From then on program the firmware starting at address 0: + +```bash +esptool.py --chip esp32s3 --port /dev/ttyACM0 write_flash -z 0 board-20240105-v1.22.1.bin +``` + +After the firmware has been deployed, press the reset button to reset the device +and start the new firmware. diff --git a/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake b/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake new file mode 100644 index 0000000000..10608fcec7 --- /dev/null +++ b/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.cmake @@ -0,0 +1,8 @@ +set(IDF_TARGET esp32s3) + +set(SDKCONFIG_DEFAULTS + boards/sdkconfig.base + boards/sdkconfig.usb + boards/sdkconfig.ble + boards/ESP32_GENERIC_S3/sdkconfig.board +) diff --git a/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.h b/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.h new file mode 100644 index 0000000000..14bde8438b --- /dev/null +++ b/ports/esp32/boards/M5STACK_ATOMS3_LITE/mpconfigboard.h @@ -0,0 +1,10 @@ +#define MICROPY_HW_BOARD_NAME "M5Stack AtomS3 Lite" +#define MICROPY_HW_MCU_NAME "ESP32S3" + +#define MICROPY_PY_MACHINE_DAC (0) + +// Enable UART REPL for modules that have an external USB-UART and don't use native USB. +#define MICROPY_HW_ENABLE_UART_REPL (1) + +#define MICROPY_HW_I2C0_SCL (39) +#define MICROPY_HW_I2C0_SDA (38) diff --git a/ports/esp32/boards/M5STACK_ATOMS3_LITE/pins.csv b/ports/esp32/boards/M5STACK_ATOMS3_LITE/pins.csv new file mode 100644 index 0000000000..cd3276599c --- /dev/null +++ b/ports/esp32/boards/M5STACK_ATOMS3_LITE/pins.csv @@ -0,0 +1,11 @@ +G1,GPIO1 +G2,GPIO2 +G5,GPIO5 +G6,GPIO6 +G7,GPIO7 +G8,GPIO8 +G38,GPIO38 +G39,GPIO39 +LED_RGB,GPIO35 +LED_IR,GPIO4 +BUTTON,GPIO41