Skip to content

add m5stack atom-s3u pindefs #11352

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
232 changes: 232 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -22032,6 +22032,238 @@ m5stack_atoms3.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################

m5stack_atoms3u.name=M5AtomS3U
m5stack_atoms3u.bootloader.tool=esptool_py
m5stack_atoms3u.bootloader.tool.default=esptool_py

m5stack_atoms3u.upload.tool=esptool_py
m5stack_atoms3u.upload.tool.default=esptool_py
m5stack_atoms3u.upload.tool.network=esp_ota

m5stack_atoms3u.upload.maximum_size=1310720
m5stack_atoms3u.upload.maximum_data_size=327680
m5stack_atoms3u.upload.flags=
m5stack_atoms3u.upload.extra_flags=
m5stack_atoms3u.upload.use_1200bps_touch=false
m5stack_atoms3u.upload.wait_for_upload_port=false

m5stack_atoms3u.serial.disableDTR=false
m5stack_atoms3u.serial.disableRTS=false

m5stack_atoms3u.build.tarch=xtensa
m5stack_atoms3u.build.bootloader_addr=0x0
m5stack_atoms3u.build.target=esp32s3
m5stack_atoms3u.build.mcu=esp32s3
m5stack_atoms3u.build.core=esp32
m5stack_atoms3u.build.variant=m5stack_atoms3u
m5stack_atoms3u.build.board=M5STACK_ATOMS3U

m5stack_atoms3u.build.usb_mode=1
m5stack_atoms3u.build.cdc_on_boot=1
m5stack_atoms3u.build.msc_on_boot=0
m5stack_atoms3u.build.dfu_on_boot=0
m5stack_atoms3u.build.f_cpu=240000000L
m5stack_atoms3u.build.flash_size=8MB
m5stack_atoms3u.build.flash_freq=80m
m5stack_atoms3u.build.flash_mode=dio
m5stack_atoms3u.build.boot=qio
m5stack_atoms3u.build.boot_freq=80m
m5stack_atoms3u.build.partitions=default
m5stack_atoms3u.build.defines=
m5stack_atoms3u.build.loop_core=
m5stack_atoms3u.build.event_core=
m5stack_atoms3u.build.psram_type=qspi
m5stack_atoms3u.build.memory_type={build.boot}_{build.psram_type}

## IDE 2.0 Seems to not update the value
m5stack_atoms3u.menu.JTAGAdapter.default=Disabled
m5stack_atoms3u.menu.JTAGAdapter.default.build.copy_jtag_files=0
m5stack_atoms3u.menu.JTAGAdapter.builtin=Integrated USB JTAG
m5stack_atoms3u.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
m5stack_atoms3u.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
m5stack_atoms3u.menu.JTAGAdapter.external=FTDI Adapter
m5stack_atoms3u.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg
m5stack_atoms3u.menu.JTAGAdapter.external.build.copy_jtag_files=1
m5stack_atoms3u.menu.JTAGAdapter.bridge=ESP USB Bridge
m5stack_atoms3u.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg
m5stack_atoms3u.menu.JTAGAdapter.bridge.build.copy_jtag_files=1

m5stack_atoms3u.menu.PSRAM.disabled=Disabled
m5stack_atoms3u.menu.PSRAM.disabled.build.defines=
m5stack_atoms3u.menu.PSRAM.disabled.build.psram_type=qspi
m5stack_atoms3u.menu.PSRAM.enabled=QSPI PSRAM
m5stack_atoms3u.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
m5stack_atoms3u.menu.PSRAM.enabled.build.psram_type=qspi
m5stack_atoms3u.menu.PSRAM.opi=OPI PSRAM
m5stack_atoms3u.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
m5stack_atoms3u.menu.PSRAM.opi.build.psram_type=opi

m5stack_atoms3u.menu.FlashMode.qio=QIO 80MHz
m5stack_atoms3u.menu.FlashMode.qio.build.flash_mode=dio
m5stack_atoms3u.menu.FlashMode.qio.build.boot=qio
m5stack_atoms3u.menu.FlashMode.qio.build.boot_freq=80m
m5stack_atoms3u.menu.FlashMode.qio.build.flash_freq=80m
m5stack_atoms3u.menu.FlashMode.qio120=QIO 120MHz
m5stack_atoms3u.menu.FlashMode.qio120.build.flash_mode=dio
m5stack_atoms3u.menu.FlashMode.qio120.build.boot=qio
m5stack_atoms3u.menu.FlashMode.qio120.build.boot_freq=120m
m5stack_atoms3u.menu.FlashMode.qio120.build.flash_freq=80m
m5stack_atoms3u.menu.FlashMode.dio=DIO 80MHz
m5stack_atoms3u.menu.FlashMode.dio.build.flash_mode=dio
m5stack_atoms3u.menu.FlashMode.dio.build.boot=dio
m5stack_atoms3u.menu.FlashMode.dio.build.boot_freq=80m
m5stack_atoms3u.menu.FlashMode.dio.build.flash_freq=80m
m5stack_atoms3u.menu.FlashMode.opi=OPI 80MHz
m5stack_atoms3u.menu.FlashMode.opi.build.flash_mode=dout
m5stack_atoms3u.menu.FlashMode.opi.build.boot=opi
m5stack_atoms3u.menu.FlashMode.opi.build.boot_freq=80m
m5stack_atoms3u.menu.FlashMode.opi.build.flash_freq=80m


m5stack_atoms3u.menu.FlashSize.8M=8MB (64Mb)
m5stack_atoms3u.menu.FlashSize.8M.build.flash_size=8MB

m5stack_atoms3u.menu.LoopCore.1=Core 1
m5stack_atoms3u.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
m5stack_atoms3u.menu.LoopCore.0=Core 0
m5stack_atoms3u.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0

m5stack_atoms3u.menu.EventsCore.1=Core 1
m5stack_atoms3u.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
m5stack_atoms3u.menu.EventsCore.0=Core 0
m5stack_atoms3u.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0

m5stack_atoms3u.menu.USBMode.hwcdc=Hardware CDC and JTAG
m5stack_atoms3u.menu.USBMode.hwcdc.build.usb_mode=1
m5stack_atoms3u.menu.USBMode.default=USB-OTG (TinyUSB)
m5stack_atoms3u.menu.USBMode.default.build.usb_mode=0

m5stack_atoms3u.menu.CDCOnBoot.cdc=Enabled
m5stack_atoms3u.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
m5stack_atoms3u.menu.CDCOnBoot.default=Disabled
m5stack_atoms3u.menu.CDCOnBoot.default.build.cdc_on_boot=0

m5stack_atoms3u.menu.MSCOnBoot.default=Disabled
m5stack_atoms3u.menu.MSCOnBoot.default.build.msc_on_boot=0
m5stack_atoms3u.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
m5stack_atoms3u.menu.MSCOnBoot.msc.build.msc_on_boot=1

m5stack_atoms3u.menu.DFUOnBoot.default=Disabled
m5stack_atoms3u.menu.DFUOnBoot.default.build.dfu_on_boot=0
m5stack_atoms3u.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
m5stack_atoms3u.menu.DFUOnBoot.dfu.build.dfu_on_boot=1

m5stack_atoms3u.menu.UploadMode.default=UART0 / Hardware CDC
m5stack_atoms3u.menu.UploadMode.default.upload.use_1200bps_touch=false
m5stack_atoms3u.menu.UploadMode.default.upload.wait_for_upload_port=false
m5stack_atoms3u.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
m5stack_atoms3u.menu.UploadMode.cdc.upload.use_1200bps_touch=true
m5stack_atoms3u.menu.UploadMode.cdc.upload.wait_for_upload_port=true

m5stack_atoms3u.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
m5stack_atoms3u.menu.PartitionScheme.default.build.partitions=default
m5stack_atoms3u.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
m5stack_atoms3u.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
m5stack_atoms3u.menu.PartitionScheme.default_8MB=8M with spiffs (3MB APP/1.5MB SPIFFS)
m5stack_atoms3u.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
m5stack_atoms3u.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
m5stack_atoms3u.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
m5stack_atoms3u.menu.PartitionScheme.minimal.build.partitions=minimal
m5stack_atoms3u.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
m5stack_atoms3u.menu.PartitionScheme.no_ota.build.partitions=no_ota
m5stack_atoms3u.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
m5stack_atoms3u.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
m5stack_atoms3u.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
m5stack_atoms3u.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
m5stack_atoms3u.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
m5stack_atoms3u.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
m5stack_atoms3u.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
m5stack_atoms3u.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
m5stack_atoms3u.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
m5stack_atoms3u.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
m5stack_atoms3u.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
m5stack_atoms3u.menu.PartitionScheme.huge_app.build.partitions=huge_app
m5stack_atoms3u.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
m5stack_atoms3u.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
m5stack_atoms3u.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
m5stack_atoms3u.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
m5stack_atoms3u.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
m5stack_atoms3u.menu.PartitionScheme.fatflash.build.partitions=ffat
m5stack_atoms3u.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
m5stack_atoms3u.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
m5stack_atoms3u.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
m5stack_atoms3u.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
m5stack_atoms3u.menu.PartitionScheme.rainmaker=RainMaker 4MB
m5stack_atoms3u.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
m5stack_atoms3u.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
m5stack_atoms3u.menu.PartitionScheme.rainmaker_4MB=RainMaker 4MB No OTA
m5stack_atoms3u.menu.PartitionScheme.rainmaker_4MB.build.partitions=rainmaker_4MB_no_ota
m5stack_atoms3u.menu.PartitionScheme.rainmaker_4MB.upload.maximum_size=4038656
m5stack_atoms3u.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB
m5stack_atoms3u.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB
m5stack_atoms3u.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=4116480
m5stack_atoms3u.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS)
m5stack_atoms3u.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB
m5stack_atoms3u.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592
m5stack_atoms3u.menu.PartitionScheme.app5M_little24M_32MB=32M Flash (4.8MB APP/22MB LittleFS)
m5stack_atoms3u.menu.PartitionScheme.app5M_little24M_32MB.build.partitions=large_littlefs_32MB
m5stack_atoms3u.menu.PartitionScheme.app5M_little24M_32MB.upload.maximum_size=4718592
m5stack_atoms3u.menu.PartitionScheme.esp_sr_16=ESP SR 16M (3MB APP/7MB SPIFFS/2.9MB MODEL)
m5stack_atoms3u.menu.PartitionScheme.esp_sr_16.upload.maximum_size=3145728
m5stack_atoms3u.menu.PartitionScheme.esp_sr_16.upload.extra_flags=0xD10000 {build.path}/srmodels.bin
m5stack_atoms3u.menu.PartitionScheme.esp_sr_16.build.partitions=esp_sr_16
m5stack_atoms3u.menu.PartitionScheme.custom=Custom
m5stack_atoms3u.menu.PartitionScheme.custom.build.partitions=
m5stack_atoms3u.menu.PartitionScheme.custom.upload.maximum_size=16777216

m5stack_atoms3u.menu.CPUFreq.240=240MHz (WiFi)
m5stack_atoms3u.menu.CPUFreq.240.build.f_cpu=240000000L
m5stack_atoms3u.menu.CPUFreq.160=160MHz (WiFi)
m5stack_atoms3u.menu.CPUFreq.160.build.f_cpu=160000000L
m5stack_atoms3u.menu.CPUFreq.80=80MHz (WiFi)
m5stack_atoms3u.menu.CPUFreq.80.build.f_cpu=80000000L
m5stack_atoms3u.menu.CPUFreq.40=40MHz
m5stack_atoms3u.menu.CPUFreq.40.build.f_cpu=40000000L
m5stack_atoms3u.menu.CPUFreq.20=20MHz
m5stack_atoms3u.menu.CPUFreq.20.build.f_cpu=20000000L
m5stack_atoms3u.menu.CPUFreq.10=10MHz
m5stack_atoms3u.menu.CPUFreq.10.build.f_cpu=10000000L

m5stack_atoms3u.menu.UploadSpeed.921600=921600
m5stack_atoms3u.menu.UploadSpeed.921600.upload.speed=921600
m5stack_atoms3u.menu.UploadSpeed.115200=115200
m5stack_atoms3u.menu.UploadSpeed.115200.upload.speed=115200
m5stack_atoms3u.menu.UploadSpeed.256000.windows=256000
m5stack_atoms3u.menu.UploadSpeed.256000.upload.speed=256000
m5stack_atoms3u.menu.UploadSpeed.230400.windows.upload.speed=256000
m5stack_atoms3u.menu.UploadSpeed.230400=230400
m5stack_atoms3u.menu.UploadSpeed.230400.upload.speed=230400
m5stack_atoms3u.menu.UploadSpeed.460800.linux=460800
m5stack_atoms3u.menu.UploadSpeed.460800.macosx=460800
m5stack_atoms3u.menu.UploadSpeed.460800.upload.speed=460800
m5stack_atoms3u.menu.UploadSpeed.512000.windows=512000
m5stack_atoms3u.menu.UploadSpeed.512000.upload.speed=512000

m5stack_atoms3u.menu.DebugLevel.none=None
m5stack_atoms3u.menu.DebugLevel.none.build.code_debug=0
m5stack_atoms3u.menu.DebugLevel.error=Error
m5stack_atoms3u.menu.DebugLevel.error.build.code_debug=1
m5stack_atoms3u.menu.DebugLevel.warn=Warn
m5stack_atoms3u.menu.DebugLevel.warn.build.code_debug=2
m5stack_atoms3u.menu.DebugLevel.info=Info
m5stack_atoms3u.menu.DebugLevel.info.build.code_debug=3
m5stack_atoms3u.menu.DebugLevel.debug=Debug
m5stack_atoms3u.menu.DebugLevel.debug.build.code_debug=4
m5stack_atoms3u.menu.DebugLevel.verbose=Verbose
m5stack_atoms3u.menu.DebugLevel.verbose.build.code_debug=5

m5stack_atoms3u.menu.EraseFlash.none=Disabled
m5stack_atoms3u.menu.EraseFlash.none.upload.erase_cmd=
m5stack_atoms3u.menu.EraseFlash.all=Enabled
m5stack_atoms3u.menu.EraseFlash.all.upload.erase_cmd=-e

##############################################################

m5stack_cores3.name=M5CoreS3
m5stack_cores3.bootloader.tool=esptool_py
m5stack_cores3.bootloader.tool.default=esptool_py
Expand Down
53 changes: 53 additions & 0 deletions variants/m5stack_atoms3u/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>
#include "soc/soc_caps.h"

#define USB_VID 0x303a
#define USB_PID 0x1001

// WS2812 RGB LED on pin 7
#define PIN_RGB_LED 35
// BUILTIN_LED can be used in new Arduino API digitalWrite() like in Blink.ino
static const uint8_t LED_BUILTIN = SOC_GPIO_PIN_COUNT + PIN_RGB_LED;
#define BUILTIN_LED LED_BUILTIN // backward compatibility
#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN
// RGB_BUILTIN and RGB_BRIGHTNESS can be used in new Arduino API rgbLedWrite()
#define RGB_BUILTIN LED_BUILTIN
#define RGB_BRIGHTNESS 64

// https://docs.m5stack.com/en/core/AtomS3U

static const uint8_t IR_TX = 12;
static const uint8_t BUTTON = 41;

// grove port
static const uint8_t SDA = 1;
static const uint8_t SCL = 2;

// grove port aliases
static const uint8_t TCH1 = 1;
static const uint8_t TCH2 = 2;
static const uint8_t ACH0 = 1;
static const uint8_t ACH1 = 2;

// gpio
static const uint8_t G14 = 14;
static const uint8_t G17 = 17;
static const uint8_t G40 = 40;
static const uint8_t G42 = 42;

// gpio aliases
static const uint8_t A2CH3 = 14;
static const uint8_t TCH14 = 14;
static const uint8_t A2CH6 = 17;
static const uint8_t CLK_OUT2 = 40;

// i2s mic
static const uint8_t MIC_CLK = 38;
static const uint8_t MIC_DATA = 39;



#endif /* Pins_Arduino_h */