Skip to content

Added support for M5Stamp Pico from M5Stack #8301

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

Merged
merged 2 commits into from
Jul 17, 2023
Merged
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
75 changes: 75 additions & 0 deletions boards.txt
Original file line number Diff line number Diff line change
Expand Up @@ -13407,6 +13407,81 @@ stamp-s3.menu.EraseFlash.none.upload.erase_cmd=
stamp-s3.menu.EraseFlash.all=Enabled
stamp-s3.menu.EraseFlash.all.upload.erase_cmd=-e

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

m5stamp-pico.name=M5Stamp-Pico

m5stamp-pico.bootloader.tool=esptool_py
m5stamp-pico.bootloader.tool.default=esptool_py

m5stamp-pico.upload.tool=esptool_py
m5stamp-pico.upload.tool.default=esptool_py
m5stamp-pico.upload.tool.network=esp_ota

m5stamp-pico.upload.maximum_size=1310720
m5stamp-pico.upload.maximum_data_size=327680
m5stamp-pico.upload.wait_for_upload_port=true
m5stamp-pico.upload.flags=
m5stamp-pico.upload.extra_flags=

m5stamp-pico.serial.disableDTR=true
m5stamp-pico.serial.disableRTS=true

m5stamp-pico.build.tarch=xtensa
m5stamp-pico.build.bootloader_addr=0x1000
m5stamp-pico.build.target=esp32
m5stamp-pico.build.mcu=esp32
m5stamp-pico.build.core=esp32
m5stamp-pico.build.variant=m5stack_stamp_pico
m5stamp-pico.build.board=M5Stamp_Pico

m5stamp-pico.build.f_cpu=240000000L
m5stamp-pico.build.flash_size=4MB
m5stamp-pico.build.flash_freq=80m
m5stamp-pico.build.flash_mode=dio
m5stamp-pico.build.boot=dio
m5stamp-pico.build.partitions=default
m5stamp-pico.build.defines=

m5stamp-pico.menu.PartitionScheme.default=Default
m5stamp-pico.menu.PartitionScheme.default.build.partitions=default
m5stamp-pico.menu.PartitionScheme.no_ota=No OTA (Large APP)
m5stamp-pico.menu.PartitionScheme.no_ota.build.partitions=no_ota
m5stamp-pico.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
m5stamp-pico.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (Large APPS with OTA)
m5stamp-pico.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
m5stamp-pico.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080


m5stamp-pico.menu.UploadSpeed.1500000=1500000
m5stamp-pico.menu.UploadSpeed.1500000.upload.speed=1500000
m5stamp-pico.menu.UploadSpeed.750000=750000
m5stamp-pico.menu.UploadSpeed.750000.upload.speed=750000
m5stamp-pico.menu.UploadSpeed.500000=500000
m5stamp-pico.menu.UploadSpeed.500000.upload.speed=500000
m5stamp-pico.menu.UploadSpeed.250000=250000
m5stamp-pico.menu.UploadSpeed.250000.upload.speed=250000
m5stamp-pico.menu.UploadSpeed.115200=115200
m5stamp-pico.menu.UploadSpeed.115200.upload.speed=115200

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

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

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

odroid_esp32.name=ODROID ESP32
Expand Down
40 changes: 40 additions & 0 deletions variants/m5stack_stamp_pico/pins_arduino.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#ifndef Pins_Arduino_h
#define Pins_Arduino_h

#include <stdint.h>

#define EXTERNAL_NUM_INTERRUPTS 16
#define NUM_DIGITAL_PINS 40
#define NUM_ANALOG_INPUTS 16

#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
#define digitalPinToInterrupt(p) (((p)<40)?(p):-1)
#define digitalPinHasPWM(p) (p < 34)


static const uint8_t TX = 1;
static const uint8_t RX = 3;

static const uint8_t SDA = 21;
static const uint8_t SCL = 22;

static const uint8_t G26 = 26;
static const uint8_t G36 = 36;
static const uint8_t G18 = 18;
static const uint8_t G19 = 19;
static const uint8_t G21 = 21;
static const uint8_t G22 = 22;
static const uint8_t G25 = 25;
static const uint8_t G1 = 1;
static const uint8_t G3 = 3;
static const uint8_t G0 = 0;

static const uint8_t G32 = 32;
static const uint8_t G33 = 33;

static const uint8_t SS = 19;
static const uint8_t MOSI = 26;
static const uint8_t MISO = 36;
static const uint8_t SCK = 18;

#endif /* Pins_Arduino_h */