Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 007badb

Browse filesBrowse files
authored
Add New Board: Cytron Maker Feather AIoT S3. (#7348)
* Added support for Cytron Maker Feather AIoT S3. * 1. Select OPI PSRAM by default. 2. Fixed pin name error in variant.cpp. 3. Added definition for RGB_BUILTIN. * Define the RGB_BUILTIN as shown in #6979. * Added pin definition for A12 (Vin Sense).
1 parent c58f756 commit 007badb
Copy full SHA for 007badb

File tree

Expand file treeCollapse file tree

6 files changed

+304
-0
lines changed
Filter options
Expand file treeCollapse file tree

6 files changed

+304
-0
lines changed

‎boards.txt

Copy file name to clipboardExpand all lines: boards.txt
+175Lines changed: 175 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19022,3 +19022,178 @@ unphone9.menu.EraseFlash.all=Enabled
1902219022
unphone9.menu.EraseFlash.all.upload.erase_cmd=-e
1902319023

1902419024
###############################################################
19025+
# Cytron Maker Feather AIoT S3
19026+
19027+
cytron_maker_feather_aiot_s3.name=Cytron Maker Feather AIoT S3
19028+
cytron_maker_feather_aiot_s3.vid.0=0x303a
19029+
cytron_maker_feather_aiot_s3.pid.0=0x80f8
19030+
19031+
cytron_maker_feather_aiot_s3.bootloader.tool=esptool_py
19032+
cytron_maker_feather_aiot_s3.bootloader.tool.default=esptool_py
19033+
19034+
cytron_maker_feather_aiot_s3.upload.tool=esptool_py
19035+
cytron_maker_feather_aiot_s3.upload.tool.default=esptool_py
19036+
cytron_maker_feather_aiot_s3.upload.tool.network=esp_ota
19037+
19038+
cytron_maker_feather_aiot_s3.upload.maximum_size=1310720
19039+
cytron_maker_feather_aiot_s3.upload.maximum_data_size=327680
19040+
cytron_maker_feather_aiot_s3.upload.flags=
19041+
cytron_maker_feather_aiot_s3.upload.extra_flags=
19042+
cytron_maker_feather_aiot_s3.upload.use_1200bps_touch=true
19043+
cytron_maker_feather_aiot_s3.upload.wait_for_upload_port=true
19044+
19045+
cytron_maker_feather_aiot_s3.serial.disableDTR=false
19046+
cytron_maker_feather_aiot_s3.serial.disableRTS=false
19047+
19048+
cytron_maker_feather_aiot_s3.build.tarch=xtensa
19049+
cytron_maker_feather_aiot_s3.build.bootloader_addr=0x0
19050+
cytron_maker_feather_aiot_s3.build.target=esp32s3
19051+
cytron_maker_feather_aiot_s3.build.mcu=esp32s3
19052+
cytron_maker_feather_aiot_s3.build.core=esp32
19053+
cytron_maker_feather_aiot_s3.build.variant=cytron_maker_feather_aiot_s3
19054+
cytron_maker_feather_aiot_s3.build.board=CYTRON_MAKER_FEATHER_AIOT_S3
19055+
19056+
cytron_maker_feather_aiot_s3.build.usb_mode=0
19057+
cytron_maker_feather_aiot_s3.build.cdc_on_boot=1
19058+
cytron_maker_feather_aiot_s3.build.msc_on_boot=0
19059+
cytron_maker_feather_aiot_s3.build.dfu_on_boot=0
19060+
cytron_maker_feather_aiot_s3.build.f_cpu=240000000L
19061+
cytron_maker_feather_aiot_s3.build.flash_size=8MB
19062+
cytron_maker_feather_aiot_s3.build.flash_freq=80m
19063+
cytron_maker_feather_aiot_s3.build.flash_mode=dio
19064+
cytron_maker_feather_aiot_s3.build.boot=qio
19065+
cytron_maker_feather_aiot_s3.build.partitions=default
19066+
cytron_maker_feather_aiot_s3.build.defines=
19067+
cytron_maker_feather_aiot_s3.build.loop_core=
19068+
cytron_maker_feather_aiot_s3.build.event_core=
19069+
cytron_maker_feather_aiot_s3.build.flash_type=qio
19070+
cytron_maker_feather_aiot_s3.build.psram_type=opi
19071+
cytron_maker_feather_aiot_s3.build.memory_type={build.flash_type}_{build.psram_type}
19072+
19073+
cytron_maker_feather_aiot_s3.menu.LoopCore.1=Core 1
19074+
cytron_maker_feather_aiot_s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
19075+
cytron_maker_feather_aiot_s3.menu.LoopCore.0=Core 0
19076+
cytron_maker_feather_aiot_s3.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
19077+
19078+
cytron_maker_feather_aiot_s3.menu.EventsCore.1=Core 1
19079+
cytron_maker_feather_aiot_s3.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
19080+
cytron_maker_feather_aiot_s3.menu.EventsCore.0=Core 0
19081+
cytron_maker_feather_aiot_s3.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
19082+
19083+
cytron_maker_feather_aiot_s3.menu.USBMode.default=USB-OTG (TinyUSB)
19084+
cytron_maker_feather_aiot_s3.menu.USBMode.default.build.usb_mode=0
19085+
cytron_maker_feather_aiot_s3.menu.USBMode.hwcdc=Hardware CDC and JTAG
19086+
cytron_maker_feather_aiot_s3.menu.USBMode.hwcdc.build.usb_mode=1
19087+
19088+
cytron_maker_feather_aiot_s3.menu.CDCOnBoot.cdc=Enabled
19089+
cytron_maker_feather_aiot_s3.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
19090+
cytron_maker_feather_aiot_s3.menu.CDCOnBoot.default=Disabled
19091+
cytron_maker_feather_aiot_s3.menu.CDCOnBoot.default.build.cdc_on_boot=0
19092+
19093+
cytron_maker_feather_aiot_s3.menu.MSCOnBoot.default=Disabled
19094+
cytron_maker_feather_aiot_s3.menu.MSCOnBoot.default.build.msc_on_boot=0
19095+
cytron_maker_feather_aiot_s3.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
19096+
cytron_maker_feather_aiot_s3.menu.MSCOnBoot.msc.build.msc_on_boot=1
19097+
19098+
cytron_maker_feather_aiot_s3.menu.DFUOnBoot.default=Disabled
19099+
cytron_maker_feather_aiot_s3.menu.DFUOnBoot.default.build.dfu_on_boot=0
19100+
cytron_maker_feather_aiot_s3.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
19101+
cytron_maker_feather_aiot_s3.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
19102+
19103+
cytron_maker_feather_aiot_s3.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
19104+
cytron_maker_feather_aiot_s3.menu.UploadMode.cdc.upload.use_1200bps_touch=true
19105+
cytron_maker_feather_aiot_s3.menu.UploadMode.cdc.upload.wait_for_upload_port=true
19106+
cytron_maker_feather_aiot_s3.menu.UploadMode.default=UART0 / Hardware CDC
19107+
cytron_maker_feather_aiot_s3.menu.UploadMode.default.upload.use_1200bps_touch=false
19108+
cytron_maker_feather_aiot_s3.menu.UploadMode.default.upload.wait_for_upload_port=false
19109+
19110+
cytron_maker_feather_aiot_s3.menu.PSRAM.opi=OPI PSRAM
19111+
cytron_maker_feather_aiot_s3.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
19112+
cytron_maker_feather_aiot_s3.menu.PSRAM.opi.build.psram_type=opi
19113+
cytron_maker_feather_aiot_s3.menu.PSRAM.enabled=QSPI PSRAM
19114+
cytron_maker_feather_aiot_s3.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
19115+
cytron_maker_feather_aiot_s3.menu.PSRAM.enabled.build.psram_type=qspi
19116+
cytron_maker_feather_aiot_s3.menu.PSRAM.disabled=Disabled
19117+
cytron_maker_feather_aiot_s3.menu.PSRAM.disabled.build.defines=
19118+
cytron_maker_feather_aiot_s3.menu.PSRAM.disabled.build.psram_type=qspi
19119+
19120+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.tinyuf2=TinyUF2 8MB (2MB APP/3.7MB FFAT)
19121+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.tinyuf2.build.custom_bootloader=bootloader-tinyuf2
19122+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.tinyuf2.build.custom_partitions=partitions-8MB-tinyuf2
19123+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.tinyuf2.upload.maximum_size=2097152
19124+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.tinyuf2.upload.extra_flags=0x410000 "{runtime.platform.path}/variants/{build.variant}/tinyuf2.bin"
19125+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.default_8MB=Default (3MB APP/1.5MB SPIFFS)
19126+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
19127+
cytron_maker_feather_aiot_s3.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
19128+
19129+
cytron_maker_feather_aiot_s3.menu.CPUFreq.240=240MHz (WiFi)
19130+
cytron_maker_feather_aiot_s3.menu.CPUFreq.240.build.f_cpu=240000000L
19131+
cytron_maker_feather_aiot_s3.menu.CPUFreq.160=160MHz (WiFi)
19132+
cytron_maker_feather_aiot_s3.menu.CPUFreq.160.build.f_cpu=160000000L
19133+
cytron_maker_feather_aiot_s3.menu.CPUFreq.80=80MHz (WiFi)
19134+
cytron_maker_feather_aiot_s3.menu.CPUFreq.80.build.f_cpu=80000000L
19135+
cytron_maker_feather_aiot_s3.menu.CPUFreq.40=40MHz
19136+
cytron_maker_feather_aiot_s3.menu.CPUFreq.40.build.f_cpu=40000000L
19137+
cytron_maker_feather_aiot_s3.menu.CPUFreq.20=20MHz
19138+
cytron_maker_feather_aiot_s3.menu.CPUFreq.20.build.f_cpu=20000000L
19139+
cytron_maker_feather_aiot_s3.menu.CPUFreq.10=10MHz
19140+
cytron_maker_feather_aiot_s3.menu.CPUFreq.10.build.f_cpu=10000000L
19141+
19142+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio=QIO 80MHz
19143+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio.build.flash_mode=dio
19144+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio.build.boot=qio
19145+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio.build.boot_freq=80m
19146+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio.build.flash_freq=80m
19147+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio120=QIO 120MHz
19148+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio120.build.flash_mode=dio
19149+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio120.build.boot=qio
19150+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio120.build.boot_freq=120m
19151+
cytron_maker_feather_aiot_s3.menu.FlashMode.qio120.build.flash_freq=80m
19152+
cytron_maker_feather_aiot_s3.menu.FlashMode.dio=DIO 80MHz
19153+
cytron_maker_feather_aiot_s3.menu.FlashMode.dio.build.flash_mode=dio
19154+
cytron_maker_feather_aiot_s3.menu.FlashMode.dio.build.boot=dio
19155+
cytron_maker_feather_aiot_s3.menu.FlashMode.dio.build.boot_freq=80m
19156+
cytron_maker_feather_aiot_s3.menu.FlashMode.dio.build.flash_freq=80m
19157+
cytron_maker_feather_aiot_s3.menu.FlashMode.opi=OPI 80MHz
19158+
cytron_maker_feather_aiot_s3.menu.FlashMode.opi.build.flash_mode=dout
19159+
cytron_maker_feather_aiot_s3.menu.FlashMode.opi.build.boot=opi
19160+
cytron_maker_feather_aiot_s3.menu.FlashMode.opi.build.boot_freq=80m
19161+
cytron_maker_feather_aiot_s3.menu.FlashMode.opi.build.flash_freq=80m
19162+
19163+
cytron_maker_feather_aiot_s3.menu.FlashSize.8M=8MB (64Mb)
19164+
cytron_maker_feather_aiot_s3.menu.FlashSize.8M.build.flash_size=8MB
19165+
19166+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.921600=921600
19167+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.921600.upload.speed=921600
19168+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.115200=115200
19169+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.115200.upload.speed=115200
19170+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.256000.windows=256000
19171+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.256000.upload.speed=256000
19172+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.230400.windows.upload.speed=256000
19173+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.230400=230400
19174+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.230400.upload.speed=230400
19175+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.460800.linux=460800
19176+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.460800.macosx=460800
19177+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.460800.upload.speed=460800
19178+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.512000.windows=512000
19179+
cytron_maker_feather_aiot_s3.menu.UploadSpeed.512000.upload.speed=512000
19180+
19181+
cytron_maker_feather_aiot_s3.menu.DebugLevel.none=None
19182+
cytron_maker_feather_aiot_s3.menu.DebugLevel.none.build.code_debug=0
19183+
cytron_maker_feather_aiot_s3.menu.DebugLevel.error=Error
19184+
cytron_maker_feather_aiot_s3.menu.DebugLevel.error.build.code_debug=1
19185+
cytron_maker_feather_aiot_s3.menu.DebugLevel.warn=Warn
19186+
cytron_maker_feather_aiot_s3.menu.DebugLevel.warn.build.code_debug=2
19187+
cytron_maker_feather_aiot_s3.menu.DebugLevel.info=Info
19188+
cytron_maker_feather_aiot_s3.menu.DebugLevel.info.build.code_debug=3
19189+
cytron_maker_feather_aiot_s3.menu.DebugLevel.debug=Debug
19190+
cytron_maker_feather_aiot_s3.menu.DebugLevel.debug.build.code_debug=4
19191+
cytron_maker_feather_aiot_s3.menu.DebugLevel.verbose=Verbose
19192+
cytron_maker_feather_aiot_s3.menu.DebugLevel.verbose.build.code_debug=5
19193+
19194+
cytron_maker_feather_aiot_s3.menu.EraseFlash.none=Disabled
19195+
cytron_maker_feather_aiot_s3.menu.EraseFlash.none.upload.erase_cmd=
19196+
cytron_maker_feather_aiot_s3.menu.EraseFlash.all=Enabled
19197+
cytron_maker_feather_aiot_s3.menu.EraseFlash.all.upload.erase_cmd=-e
19198+
19199+
##############################################################
Binary file not shown.
+10Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# ESP-IDF Partition Table
2+
# Name, Type, SubType, Offset, Size, Flags
3+
# bootloader.bin,, 0x1000, 32K
4+
# partition table,, 0x8000, 4K
5+
nvs, data, nvs, 0x9000, 20K,
6+
otadata, data, ota, 0xe000, 8K,
7+
ota_0, 0, ota_0, 0x10000, 2048K,
8+
ota_1, 0, ota_1, 0x210000, 2048K,
9+
uf2, app, factory,0x410000, 256K,
10+
ffat, data, fat, 0x450000, 3776K,
+81Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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 0x80F8
9+
#define USB_MANUFACTURER "Cytron"
10+
#define USB_PRODUCT "Maker Feather AIoT S3"
11+
#define USB_SERIAL ""
12+
13+
#define EXTERNAL_NUM_INTERRUPTS 46
14+
#define NUM_DIGITAL_PINS 20
15+
#define NUM_ANALOG_INPUTS 12
16+
17+
#define analogInputToDigitalPin(p) (((p)<20)?(analogChannelToDigitalPin(p)):-1)
18+
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
19+
#define digitalPinHasPWM(p) (p < 46)
20+
21+
22+
23+
static const uint8_t LED_BUILTIN = 2; // Status LED.
24+
static const uint8_t RGB_BUILTIN = SOC_GPIO_PIN_COUNT + 46; // RGB LED.
25+
26+
#define BUILTIN_LED LED_BUILTIN // Backward compatibility
27+
#define LED_BUILTIN LED_BUILTIN
28+
#define LED LED_BUILTIN
29+
#define RGB_BUILTIN RGB_BUILTIN
30+
#define RGB RGB_BUILTIN
31+
#define NEOPIXEL RGB_BUILTIN
32+
#define RGB_BRIGHTNESS 65
33+
34+
35+
36+
#define VP_EN 11 // V Peripheral Enable.
37+
#define BUZZER 12 // Piezo Buzzer.
38+
#define BOOT 0 // Boot Button.
39+
#define BUTTON 3 // User Button.
40+
41+
#define VIN 13 // Vin Sense.
42+
#define VBATT 13
43+
#define VOLTAGE_MONITOR 13
44+
45+
46+
static const uint8_t TX = 15;
47+
static const uint8_t RX = 16;
48+
49+
static const uint8_t SDA = 42;
50+
static const uint8_t SCL = 41;
51+
52+
static const uint8_t SS = 7;
53+
static const uint8_t MOSI = 8;
54+
static const uint8_t SCK = 17;
55+
static const uint8_t MISO = 18;
56+
57+
static const uint8_t A0 = 10;
58+
static const uint8_t A1 = 9;
59+
static const uint8_t A2 = 6;
60+
static const uint8_t A3 = 5;
61+
static const uint8_t A4 = 4;
62+
static const uint8_t A5 = 7;
63+
64+
static const uint8_t A6 = 17;
65+
static const uint8_t A7 = 8;
66+
static const uint8_t A8 = 18;
67+
static const uint8_t A9 = 16;
68+
static const uint8_t A10 = 15;
69+
static const uint8_t A11 = 14;
70+
static const uint8_t A12 = 13;
71+
72+
static const uint8_t T4 = 4;
73+
static const uint8_t T5 = 5;
74+
static const uint8_t T6 = 6;
75+
static const uint8_t T7 = 7;
76+
static const uint8_t T8 = 8;
77+
static const uint8_t T9 = 9;
78+
static const uint8_t T10 = 10;
79+
static const uint8_t T14 = 14;
80+
81+
#endif /* Pins_Arduino_h */
Binary file not shown.
+38Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* The MIT License (MIT)
3+
*
4+
* Copyright (c) 2022 Wai Weng for Cytron Technologies
5+
*
6+
* Permission is hereby granted, free of charge, to any person obtaining a copy
7+
* of this software and associated documentation files (the "Software"), to deal
8+
* in the Software without restriction, including without limitation the rights
9+
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
10+
* copies of the Software, and to permit persons to whom the Software is
11+
* furnished to do so, subject to the following conditions:
12+
*
13+
* The above copyright notice and this permission notice shall be included in
14+
* all copies or substantial portions of the Software.
15+
*
16+
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17+
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18+
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
19+
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20+
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
21+
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
22+
* THE SOFTWARE.
23+
*/
24+
25+
26+
#include "esp32-hal-gpio.h"
27+
#include "pins_arduino.h"
28+
29+
extern "C" {
30+
31+
// Initialize variant/board, called before setup()
32+
void initVariant(void)
33+
{
34+
// Turn on VPeripheral by default.
35+
pinMode(VP_EN, OUTPUT);
36+
digitalWrite(VP_EN, HIGH);
37+
}
38+
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.