Skip to content

Commit b2ae61e

Browse files
Add Axiometa GENESIS One (ESP32-S3) board support (#12122)
* Added Genesis One added Axiometa GENESIS One Board support. * ci(pre-commit): Apply automatic fixes --------- Co-authored-by: pre-commit-ci-lite[bot] <117423508+pre-commit-ci-lite[bot]@users.noreply.github.com>
1 parent a328c98 commit b2ae61e

File tree

2 files changed

+339
-0
lines changed

2 files changed

+339
-0
lines changed

boards.txt

Lines changed: 233 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53295,6 +53295,239 @@ axiometa_pixie_m1.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api.zczr -lzbo
5329553295

5329653296
##############################################################
5329753297

53298+
# Axiometa Genesis One - Based on ESP32-S3-WROOM-1-N8R2
53299+
# 8MB Quad SPI Flash, 2MB Quad SPI PSRAM
53300+
53301+
axiometa_genesis_one.name=Axiometa Genesis One
53302+
53303+
axiometa_genesis_one.bootloader.tool=esptool_py
53304+
axiometa_genesis_one.bootloader.tool.default=esptool_py
53305+
53306+
axiometa_genesis_one.upload.tool=esptool_py
53307+
axiometa_genesis_one.upload.tool.default=esptool_py
53308+
axiometa_genesis_one.upload.tool.network=esp_ota
53309+
53310+
axiometa_genesis_one.upload.maximum_size=1310720
53311+
axiometa_genesis_one.upload.maximum_data_size=327680
53312+
axiometa_genesis_one.upload.flags=
53313+
axiometa_genesis_one.upload.extra_flags=
53314+
axiometa_genesis_one.upload.use_1200bps_touch=false
53315+
axiometa_genesis_one.upload.wait_for_upload_port=false
53316+
53317+
axiometa_genesis_one.serial.disableDTR=false
53318+
axiometa_genesis_one.serial.disableRTS=false
53319+
53320+
axiometa_genesis_one.build.tarch=xtensa
53321+
axiometa_genesis_one.build.bootloader_addr=0x0
53322+
axiometa_genesis_one.build.target=esp32s3
53323+
axiometa_genesis_one.build.mcu=esp32s3
53324+
axiometa_genesis_one.build.core=esp32
53325+
axiometa_genesis_one.build.variant=axiometa_genesis_one
53326+
axiometa_genesis_one.build.board=AXIOMETA_GENESIS_ONE
53327+
53328+
# Hardware Configuration (ESP32-S3-WROOM-1-N8R2)
53329+
axiometa_genesis_one.build.usb_mode=1
53330+
axiometa_genesis_one.build.cdc_on_boot=1
53331+
axiometa_genesis_one.build.msc_on_boot=0
53332+
axiometa_genesis_one.build.dfu_on_boot=0
53333+
axiometa_genesis_one.build.f_cpu=240000000L
53334+
axiometa_genesis_one.build.flash_size=8MB
53335+
axiometa_genesis_one.build.flash_freq=80m
53336+
axiometa_genesis_one.build.flash_mode=dio
53337+
axiometa_genesis_one.build.boot=qio
53338+
axiometa_genesis_one.build.boot_freq=80m
53339+
axiometa_genesis_one.build.partitions=default_8MB
53340+
axiometa_genesis_one.build.defines=-DBOARD_HAS_PSRAM
53341+
axiometa_genesis_one.build.loop_core=
53342+
axiometa_genesis_one.build.event_core=
53343+
axiometa_genesis_one.build.psram_type=qspi
53344+
axiometa_genesis_one.build.memory_type={build.boot}_{build.psram_type}
53345+
53346+
## JTAG Adapter - N8R2 Compatible
53347+
axiometa_genesis_one.menu.JTAGAdapter.default=Disabled
53348+
axiometa_genesis_one.menu.JTAGAdapter.default.build.copy_jtag_files=0
53349+
axiometa_genesis_one.menu.JTAGAdapter.builtin=Integrated USB JTAG
53350+
axiometa_genesis_one.menu.JTAGAdapter.builtin.build.openocdscript=esp32s3-builtin.cfg
53351+
axiometa_genesis_one.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
53352+
axiometa_genesis_one.menu.JTAGAdapter.external=FTDI Adapter
53353+
axiometa_genesis_one.menu.JTAGAdapter.external.build.openocdscript=esp32s3-ftdi.cfg
53354+
axiometa_genesis_one.menu.JTAGAdapter.external.build.copy_jtag_files=1
53355+
axiometa_genesis_one.menu.JTAGAdapter.bridge=ESP USB Bridge
53356+
axiometa_genesis_one.menu.JTAGAdapter.bridge.build.openocdscript=esp32s3-bridge.cfg
53357+
axiometa_genesis_one.menu.JTAGAdapter.bridge.build.copy_jtag_files=1
53358+
53359+
## PSRAM - N8R2 has 2MB QSPI PSRAM
53360+
axiometa_genesis_one.menu.PSRAM.enabled=QSPI PSRAM (Enabled)
53361+
axiometa_genesis_one.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
53362+
axiometa_genesis_one.menu.PSRAM.enabled.build.psram_type=qspi
53363+
axiometa_genesis_one.menu.PSRAM.disabled=Disabled
53364+
axiometa_genesis_one.menu.PSRAM.disabled.build.defines=
53365+
axiometa_genesis_one.menu.PSRAM.disabled.build.psram_type=qspi
53366+
53367+
## Flash Mode - N8R2 Compatible (QSPI Flash)
53368+
axiometa_genesis_one.menu.FlashMode.qio=QIO 80MHz
53369+
axiometa_genesis_one.menu.FlashMode.qio.build.flash_mode=dio
53370+
axiometa_genesis_one.menu.FlashMode.qio.build.boot=qio
53371+
axiometa_genesis_one.menu.FlashMode.qio.build.boot_freq=80m
53372+
axiometa_genesis_one.menu.FlashMode.qio.build.flash_freq=80m
53373+
axiometa_genesis_one.menu.FlashMode.qio120=QIO 120MHz
53374+
axiometa_genesis_one.menu.FlashMode.qio120.build.flash_mode=dio
53375+
axiometa_genesis_one.menu.FlashMode.qio120.build.boot=qio
53376+
axiometa_genesis_one.menu.FlashMode.qio120.build.boot_freq=120m
53377+
axiometa_genesis_one.menu.FlashMode.qio120.build.flash_freq=80m
53378+
axiometa_genesis_one.menu.FlashMode.dio=DIO 80MHz
53379+
axiometa_genesis_one.menu.FlashMode.dio.build.flash_mode=dio
53380+
axiometa_genesis_one.menu.FlashMode.dio.build.boot=dio
53381+
axiometa_genesis_one.menu.FlashMode.dio.build.boot_freq=80m
53382+
axiometa_genesis_one.menu.FlashMode.dio.build.flash_freq=80m
53383+
53384+
## CPU Core Assignment
53385+
axiometa_genesis_one.menu.LoopCore.1=Core 1
53386+
axiometa_genesis_one.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
53387+
axiometa_genesis_one.menu.LoopCore.0=Core 0
53388+
axiometa_genesis_one.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
53389+
53390+
axiometa_genesis_one.menu.EventsCore.1=Core 1
53391+
axiometa_genesis_one.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
53392+
axiometa_genesis_one.menu.EventsCore.0=Core 0
53393+
axiometa_genesis_one.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
53394+
53395+
## USB Mode - Both modes work on N8R2
53396+
axiometa_genesis_one.menu.USBMode.hwcdc=Hardware CDC and JTAG
53397+
axiometa_genesis_one.menu.USBMode.hwcdc.build.usb_mode=1
53398+
axiometa_genesis_one.menu.USBMode.default=USB-OTG (TinyUSB)
53399+
axiometa_genesis_one.menu.USBMode.default.build.usb_mode=0
53400+
53401+
## CDC On Boot
53402+
axiometa_genesis_one.menu.CDCOnBoot.cdc=Enabled
53403+
axiometa_genesis_one.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
53404+
axiometa_genesis_one.menu.CDCOnBoot.default=Disabled
53405+
axiometa_genesis_one.menu.CDCOnBoot.default.build.cdc_on_boot=0
53406+
53407+
## MSC On Boot (Only works with USB-OTG mode)
53408+
axiometa_genesis_one.menu.MSCOnBoot.default=Disabled
53409+
axiometa_genesis_one.menu.MSCOnBoot.default.build.msc_on_boot=0
53410+
axiometa_genesis_one.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
53411+
axiometa_genesis_one.menu.MSCOnBoot.msc.build.msc_on_boot=1
53412+
53413+
## DFU On Boot (Only works with USB-OTG mode)
53414+
axiometa_genesis_one.menu.DFUOnBoot.default=Disabled
53415+
axiometa_genesis_one.menu.DFUOnBoot.default.build.dfu_on_boot=0
53416+
axiometa_genesis_one.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
53417+
axiometa_genesis_one.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
53418+
53419+
## Upload Mode
53420+
axiometa_genesis_one.menu.UploadMode.default=UART0 / Hardware CDC
53421+
axiometa_genesis_one.menu.UploadMode.default.upload.use_1200bps_touch=false
53422+
axiometa_genesis_one.menu.UploadMode.default.upload.wait_for_upload_port=false
53423+
axiometa_genesis_one.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
53424+
axiometa_genesis_one.menu.UploadMode.cdc.upload.use_1200bps_touch=true
53425+
axiometa_genesis_one.menu.UploadMode.cdc.upload.wait_for_upload_port=true
53426+
53427+
## Partition Schemes - 8MB Flash Compatible
53428+
axiometa_genesis_one.menu.PartitionScheme.default_8MB=Default 8MB with spiffs (3MB APP/1.5MB SPIFFS)
53429+
axiometa_genesis_one.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
53430+
axiometa_genesis_one.menu.PartitionScheme.default_8MB.upload.maximum_size=3145728
53431+
axiometa_genesis_one.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
53432+
axiometa_genesis_one.menu.PartitionScheme.default.build.partitions=default
53433+
axiometa_genesis_one.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
53434+
axiometa_genesis_one.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
53435+
axiometa_genesis_one.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
53436+
axiometa_genesis_one.menu.PartitionScheme.minimal.build.partitions=minimal
53437+
axiometa_genesis_one.menu.PartitionScheme.no_fs=No FS 4MB (2MB APP x2)
53438+
axiometa_genesis_one.menu.PartitionScheme.no_fs.build.partitions=no_fs
53439+
axiometa_genesis_one.menu.PartitionScheme.no_fs.upload.maximum_size=2031616
53440+
axiometa_genesis_one.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
53441+
axiometa_genesis_one.menu.PartitionScheme.no_ota.build.partitions=no_ota
53442+
axiometa_genesis_one.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
53443+
axiometa_genesis_one.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
53444+
axiometa_genesis_one.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
53445+
axiometa_genesis_one.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
53446+
axiometa_genesis_one.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
53447+
axiometa_genesis_one.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
53448+
axiometa_genesis_one.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
53449+
axiometa_genesis_one.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
53450+
axiometa_genesis_one.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
53451+
axiometa_genesis_one.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
53452+
axiometa_genesis_one.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
53453+
axiometa_genesis_one.menu.PartitionScheme.huge_app.build.partitions=huge_app
53454+
axiometa_genesis_one.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
53455+
axiometa_genesis_one.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
53456+
axiometa_genesis_one.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
53457+
axiometa_genesis_one.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
53458+
axiometa_genesis_one.menu.PartitionScheme.rainmaker=RainMaker 4MB
53459+
axiometa_genesis_one.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
53460+
axiometa_genesis_one.menu.PartitionScheme.rainmaker.upload.maximum_size=1966080
53461+
axiometa_genesis_one.menu.PartitionScheme.rainmaker_8MB=RainMaker 8MB
53462+
axiometa_genesis_one.menu.PartitionScheme.rainmaker_8MB.build.partitions=rainmaker_8MB
53463+
axiometa_genesis_one.menu.PartitionScheme.rainmaker_8MB.upload.maximum_size=3145728
53464+
axiometa_genesis_one.menu.PartitionScheme.zigbee_zczr=Zigbee ZCZR 4MB with spiffs
53465+
axiometa_genesis_one.menu.PartitionScheme.zigbee_zczr.build.partitions=zigbee_zczr
53466+
axiometa_genesis_one.menu.PartitionScheme.zigbee_zczr.upload.maximum_size=1310720
53467+
axiometa_genesis_one.menu.PartitionScheme.custom=Custom
53468+
axiometa_genesis_one.menu.PartitionScheme.custom.build.partitions=
53469+
axiometa_genesis_one.menu.PartitionScheme.custom.upload.maximum_size=8388608
53470+
53471+
## CPU Frequency
53472+
axiometa_genesis_one.menu.CPUFreq.240=240MHz (WiFi)
53473+
axiometa_genesis_one.menu.CPUFreq.240.build.f_cpu=240000000L
53474+
axiometa_genesis_one.menu.CPUFreq.160=160MHz (WiFi)
53475+
axiometa_genesis_one.menu.CPUFreq.160.build.f_cpu=160000000L
53476+
axiometa_genesis_one.menu.CPUFreq.80=80MHz (WiFi)
53477+
axiometa_genesis_one.menu.CPUFreq.80.build.f_cpu=80000000L
53478+
axiometa_genesis_one.menu.CPUFreq.40=40MHz
53479+
axiometa_genesis_one.menu.CPUFreq.40.build.f_cpu=40000000L
53480+
axiometa_genesis_one.menu.CPUFreq.20=20MHz
53481+
axiometa_genesis_one.menu.CPUFreq.20.build.f_cpu=20000000L
53482+
axiometa_genesis_one.menu.CPUFreq.10=10MHz
53483+
axiometa_genesis_one.menu.CPUFreq.10.build.f_cpu=10000000L
53484+
53485+
## Upload Speed
53486+
axiometa_genesis_one.menu.UploadSpeed.921600=921600
53487+
axiometa_genesis_one.menu.UploadSpeed.921600.upload.speed=921600
53488+
axiometa_genesis_one.menu.UploadSpeed.115200=115200
53489+
axiometa_genesis_one.menu.UploadSpeed.115200.upload.speed=115200
53490+
axiometa_genesis_one.menu.UploadSpeed.256000.windows=256000
53491+
axiometa_genesis_one.menu.UploadSpeed.256000.upload.speed=256000
53492+
axiometa_genesis_one.menu.UploadSpeed.230400.windows.upload.speed=256000
53493+
axiometa_genesis_one.menu.UploadSpeed.230400=230400
53494+
axiometa_genesis_one.menu.UploadSpeed.230400.upload.speed=230400
53495+
axiometa_genesis_one.menu.UploadSpeed.460800.linux=460800
53496+
axiometa_genesis_one.menu.UploadSpeed.460800.macosx=460800
53497+
axiometa_genesis_one.menu.UploadSpeed.460800.upload.speed=460800
53498+
axiometa_genesis_one.menu.UploadSpeed.512000.windows=512000
53499+
axiometa_genesis_one.menu.UploadSpeed.512000.upload.speed=512000
53500+
53501+
## Debug Level
53502+
axiometa_genesis_one.menu.DebugLevel.none=None
53503+
axiometa_genesis_one.menu.DebugLevel.none.build.code_debug=0
53504+
axiometa_genesis_one.menu.DebugLevel.error=Error
53505+
axiometa_genesis_one.menu.DebugLevel.error.build.code_debug=1
53506+
axiometa_genesis_one.menu.DebugLevel.warn=Warn
53507+
axiometa_genesis_one.menu.DebugLevel.warn.build.code_debug=2
53508+
axiometa_genesis_one.menu.DebugLevel.info=Info
53509+
axiometa_genesis_one.menu.DebugLevel.info.build.code_debug=3
53510+
axiometa_genesis_one.menu.DebugLevel.debug=Debug
53511+
axiometa_genesis_one.menu.DebugLevel.debug.build.code_debug=4
53512+
axiometa_genesis_one.menu.DebugLevel.verbose=Verbose
53513+
axiometa_genesis_one.menu.DebugLevel.verbose.build.code_debug=5
53514+
53515+
## Erase Flash
53516+
axiometa_genesis_one.menu.EraseFlash.none=Disabled
53517+
axiometa_genesis_one.menu.EraseFlash.none.upload.erase_cmd=
53518+
axiometa_genesis_one.menu.EraseFlash.all=Enabled
53519+
axiometa_genesis_one.menu.EraseFlash.all.upload.erase_cmd=-e
53520+
53521+
## Zigbee Mode
53522+
axiometa_genesis_one.menu.ZigbeeMode.default=Disabled
53523+
axiometa_genesis_one.menu.ZigbeeMode.default.build.zigbee_mode=
53524+
axiometa_genesis_one.menu.ZigbeeMode.default.build.zigbee_libs=
53525+
axiometa_genesis_one.menu.ZigbeeMode.zczr=Zigbee ZCZR (coordinator/router)
53526+
axiometa_genesis_one.menu.ZigbeeMode.zczr.build.zigbee_mode=-DZIGBEE_MODE_ZCZR
53527+
axiometa_genesis_one.menu.ZigbeeMode.zczr.build.zigbee_libs=-lesp_zb_api.zczr -lzboss_stack.zczr -lzboss_port.remote
53528+
53529+
##############################################################
53530+
5329853531
soldered_nula_deepsleep_esp32s3.name=Soldered NULA DeepSleep ESP32S3
5329953532

5330053533
soldered_nula_deepsleep_esp32s3.bootloader.tool=esptool_py
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
#include "soc/soc_caps.h"
6+
7+
#define USB_VID 0x303a
8+
#define USB_PID 0x1001
9+
10+
// Battery monitoring (voltage divider /2)
11+
#define VBAT_SENSE 10
12+
13+
// Battery voltage reading macro
14+
#define getBatteryVoltage() ((analogRead(VBAT_SENSE) / 4095.0) * 3.3 * 2.0)
15+
16+
// Fixed communication pins (shared across all ports)
17+
static const uint8_t TX = 43;
18+
static const uint8_t RX = 44;
19+
20+
static const uint8_t SDA = 47;
21+
static const uint8_t SCL = 48;
22+
23+
static const uint8_t SS = 1;
24+
static const uint8_t MOSI = 11;
25+
static const uint8_t MISO = 12;
26+
static const uint8_t SCK = 13;
27+
28+
// Port 1 IO pins
29+
static const uint8_t P1_IO1 = 1;
30+
static const uint8_t P1_IO2 = 14;
31+
static const uint8_t P1_IO3 = 41;
32+
33+
// Port 2 IO pins
34+
static const uint8_t P2_IO1 = 2;
35+
static const uint8_t P2_IO2 = 15;
36+
static const uint8_t P2_IO3 = 42;
37+
38+
// Port 3 IO pins
39+
static const uint8_t P3_IO1 = 3;
40+
static const uint8_t P3_IO2 = 16;
41+
static const uint8_t P3_IO3 = 45;
42+
43+
// Port 4 IO pins
44+
static const uint8_t P4_IO1 = 4;
45+
static const uint8_t P4_IO2 = 17;
46+
static const uint8_t P4_IO3 = 46;
47+
48+
// Port 5 IO pins
49+
static const uint8_t P5_IO1 = 5;
50+
static const uint8_t P5_IO2 = 18;
51+
static const uint8_t P5_IO3 = 21;
52+
53+
// Port 6 IO pins
54+
static const uint8_t P6_IO1 = 6;
55+
static const uint8_t P6_IO2 = 40;
56+
static const uint8_t P6_IO3 = 38;
57+
58+
// Port 7 IO pins
59+
static const uint8_t P7_IO1 = 7;
60+
static const uint8_t P7_IO2 = 9;
61+
static const uint8_t P7_IO3 = 39;
62+
63+
// Port 8 IO pins
64+
static const uint8_t P8_IO1 = 48;
65+
static const uint8_t P8_IO2 = 43;
66+
static const uint8_t P8_IO3 = 44;
67+
68+
// Analog capable pins (ESP32-S3 specific)
69+
static const uint8_t A0 = 1;
70+
static const uint8_t A1 = 2;
71+
static const uint8_t A2 = 3;
72+
static const uint8_t A3 = 4;
73+
static const uint8_t A4 = 5;
74+
static const uint8_t A5 = 6;
75+
static const uint8_t A6 = 7;
76+
static const uint8_t A7 = 8;
77+
static const uint8_t A8 = 9;
78+
static const uint8_t A9 = 10;
79+
static const uint8_t A10 = 11;
80+
static const uint8_t A11 = 12;
81+
static const uint8_t A12 = 13;
82+
static const uint8_t A13 = 14;
83+
static const uint8_t A14 = 15;
84+
static const uint8_t A15 = 16;
85+
static const uint8_t A16 = 17;
86+
static const uint8_t A17 = 18;
87+
static const uint8_t A18 = 19;
88+
static const uint8_t A19 = 20;
89+
90+
// Touch capable pins (ESP32-S3 specific)
91+
static const uint8_t T1 = 1;
92+
static const uint8_t T2 = 2;
93+
static const uint8_t T3 = 3;
94+
static const uint8_t T4 = 4;
95+
static const uint8_t T5 = 5;
96+
static const uint8_t T6 = 6;
97+
static const uint8_t T7 = 7;
98+
static const uint8_t T8 = 8;
99+
static const uint8_t T9 = 9;
100+
static const uint8_t T10 = 10;
101+
static const uint8_t T11 = 11;
102+
static const uint8_t T12 = 12;
103+
static const uint8_t T13 = 13;
104+
static const uint8_t T14 = 14;
105+
106+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)