Skip to content

Commit 367f695

Browse files
committed
add senseBox MCU-S2
Add new senseBox Board (MCU-S2) with ESP32-S2
1 parent 6d9ebea commit 367f695

File tree

6 files changed

+345
-0
lines changed

6 files changed

+345
-0
lines changed

boards.txt

Lines changed: 166 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27775,3 +27775,169 @@ atd147_s3.menu.EraseFlash.all=Enabled
2777527775
atd147_s3.menu.EraseFlash.all.upload.erase_cmd=-e
2777627776

2777727777
##############################################################
27778+
# senseBox MCU ESP32-S2
27779+
27780+
sensebox_mcu_esp32s2.name=senseBox MCU-S2 ESP32-S2
27781+
sensebox_mcu_esp32s2.vid.0=0x303A
27782+
sensebox_mcu_esp32s2.pid.0=0x81B5
27783+
27784+
sensebox_mcu_esp32s2.bootloader.tool=esptool_py
27785+
sensebox_mcu_esp32s2.bootloader.tool.default=esptool_py
27786+
27787+
sensebox_mcu_esp32s2.upload.tool=esptool_py
27788+
sensebox_mcu_esp32s2.upload.tool.default=esptool_py
27789+
sensebox_mcu_esp32s2.upload.tool.network=esp_ota
27790+
27791+
sensebox_mcu_esp32s2.upload.maximum_size=1310720
27792+
sensebox_mcu_esp32s2.upload.maximum_data_size=327680
27793+
sensebox_mcu_esp32s2.upload.flags=
27794+
sensebox_mcu_esp32s2.upload.extra_flags=
27795+
sensebox_mcu_esp32s2.upload.use_1200bps_touch=true
27796+
sensebox_mcu_esp32s2.upload.wait_for_upload_port=true
27797+
27798+
sensebox_mcu_esp32s2.serial.disableDTR=false
27799+
sensebox_mcu_esp32s2.serial.disableRTS=false
27800+
27801+
sensebox_mcu_esp32s2.build.tarch=xtensa
27802+
sensebox_mcu_esp32s2.build.bootloader_addr=0x1000
27803+
sensebox_mcu_esp32s2.build.target=esp32s2
27804+
sensebox_mcu_esp32s2.build.mcu=esp32s2
27805+
sensebox_mcu_esp32s2.build.core=esp32
27806+
sensebox_mcu_esp32s2.build.variant=sensebox_mcu_esp32s2
27807+
sensebox_mcu_esp32s2.build.board=SENSEBOX_MCU_ESP32S2
27808+
27809+
sensebox_mcu_esp32s2.build.cdc_on_boot=1
27810+
sensebox_mcu_esp32s2.build.msc_on_boot=1
27811+
sensebox_mcu_esp32s2.build.dfu_on_boot=0
27812+
sensebox_mcu_esp32s2.build.f_cpu=240000000L
27813+
sensebox_mcu_esp32s2.build.flash_size=4MB
27814+
sensebox_mcu_esp32s2.build.flash_freq=80m
27815+
sensebox_mcu_esp32s2.build.flash_mode=dio
27816+
sensebox_mcu_esp32s2.build.boot=qio
27817+
sensebox_mcu_esp32s2.build.partitions=default
27818+
sensebox_mcu_esp32s2.build.defines=
27819+
27820+
sensebox_mcu_esp32s2.menu.CDCOnBoot.cdc=Enabled
27821+
sensebox_mcu_esp32s2.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
27822+
sensebox_mcu_esp32s2.menu.CDCOnBoot.default=Disabled
27823+
sensebox_mcu_esp32s2.menu.CDCOnBoot.default.build.cdc_on_boot=0
27824+
27825+
sensebox_mcu_esp32s2.menu.MSCOnBoot.default=Disabled
27826+
sensebox_mcu_esp32s2.menu.MSCOnBoot.default.build.msc_on_boot=0
27827+
sensebox_mcu_esp32s2.menu.MSCOnBoot.msc=Enabled
27828+
sensebox_mcu_esp32s2.menu.MSCOnBoot.msc.build.msc_on_boot=1
27829+
27830+
sensebox_mcu_esp32s2.menu.DFUOnBoot.default=Disabled
27831+
sensebox_mcu_esp32s2.menu.DFUOnBoot.default.build.dfu_on_boot=0
27832+
sensebox_mcu_esp32s2.menu.DFUOnBoot.dfu=Enabled
27833+
sensebox_mcu_esp32s2.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
27834+
27835+
sensebox_mcu_esp32s2.menu.UploadMode.cdc=Internal USB
27836+
sensebox_mcu_esp32s2.menu.UploadMode.cdc.upload.use_1200bps_touch=true
27837+
sensebox_mcu_esp32s2.menu.UploadMode.cdc.upload.wait_for_upload_port=true
27838+
sensebox_mcu_esp32s2.menu.UploadMode.default=UART0
27839+
sensebox_mcu_esp32s2.menu.UploadMode.default.upload.use_1200bps_touch=false
27840+
sensebox_mcu_esp32s2.menu.UploadMode.default.upload.wait_for_upload_port=false
27841+
27842+
sensebox_mcu_esp32s2.menu.PSRAM.enabled=Enabled
27843+
sensebox_mcu_esp32s2.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
27844+
sensebox_mcu_esp32s2.menu.PSRAM.disabled=Disabled
27845+
sensebox_mcu_esp32s2.menu.PSRAM.disabled.build.defines=
27846+
27847+
sensebox_mcu_esp32s2.menu.PartitionScheme.tinyuf2=TinyUF2 4MB (1.3MB APP/960KB FATFS)
27848+
sensebox_mcu_esp32s2.menu.PartitionScheme.tinyuf2.build.custom_bootloader=bootloader-tinyuf2
27849+
sensebox_mcu_esp32s2.menu.PartitionScheme.tinyuf2.build.custom_partitions=partitions-4MB-tinyuf2
27850+
sensebox_mcu_esp32s2.menu.PartitionScheme.tinyuf2.upload.maximum_size=1441792
27851+
sensebox_mcu_esp32s2.menu.PartitionScheme.tinyuf2.upload.extra_flags=0x2d0000 "{runtime.platform.path}/variants/{build.variant}/tinyuf2.bin"
27852+
sensebox_mcu_esp32s2.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
27853+
sensebox_mcu_esp32s2.menu.PartitionScheme.default.build.partitions=default
27854+
sensebox_mcu_esp32s2.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
27855+
sensebox_mcu_esp32s2.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
27856+
sensebox_mcu_esp32s2.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
27857+
sensebox_mcu_esp32s2.menu.PartitionScheme.minimal.build.partitions=minimal
27858+
sensebox_mcu_esp32s2.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
27859+
sensebox_mcu_esp32s2.menu.PartitionScheme.no_ota.build.partitions=no_ota
27860+
sensebox_mcu_esp32s2.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
27861+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
27862+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
27863+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
27864+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
27865+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
27866+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
27867+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
27868+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
27869+
sensebox_mcu_esp32s2.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
27870+
sensebox_mcu_esp32s2.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
27871+
sensebox_mcu_esp32s2.menu.PartitionScheme.huge_app.build.partitions=huge_app
27872+
sensebox_mcu_esp32s2.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
27873+
sensebox_mcu_esp32s2.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
27874+
sensebox_mcu_esp32s2.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
27875+
sensebox_mcu_esp32s2.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
27876+
27877+
sensebox_mcu_esp32s2.menu.CPUFreq.240=240MHz (WiFi)
27878+
sensebox_mcu_esp32s2.menu.CPUFreq.240.build.f_cpu=240000000L
27879+
sensebox_mcu_esp32s2.menu.CPUFreq.160=160MHz (WiFi)
27880+
sensebox_mcu_esp32s2.menu.CPUFreq.160.build.f_cpu=160000000L
27881+
sensebox_mcu_esp32s2.menu.CPUFreq.80=80MHz (WiFi)
27882+
sensebox_mcu_esp32s2.menu.CPUFreq.80.build.f_cpu=80000000L
27883+
sensebox_mcu_esp32s2.menu.CPUFreq.40=40MHz
27884+
sensebox_mcu_esp32s2.menu.CPUFreq.40.build.f_cpu=40000000L
27885+
sensebox_mcu_esp32s2.menu.CPUFreq.20=20MHz
27886+
sensebox_mcu_esp32s2.menu.CPUFreq.20.build.f_cpu=20000000L
27887+
sensebox_mcu_esp32s2.menu.CPUFreq.10=10MHz
27888+
sensebox_mcu_esp32s2.menu.CPUFreq.10.build.f_cpu=10000000L
27889+
27890+
sensebox_mcu_esp32s2.menu.FlashMode.qio=QIO
27891+
sensebox_mcu_esp32s2.menu.FlashMode.qio.build.flash_mode=dio
27892+
sensebox_mcu_esp32s2.menu.FlashMode.qio.build.boot=qio
27893+
sensebox_mcu_esp32s2.menu.FlashMode.dio=DIO
27894+
sensebox_mcu_esp32s2.menu.FlashMode.dio.build.flash_mode=dio
27895+
sensebox_mcu_esp32s2.menu.FlashMode.dio.build.boot=dio
27896+
sensebox_mcu_esp32s2.menu.FlashMode.qout=QOUT
27897+
sensebox_mcu_esp32s2.menu.FlashMode.qout.build.flash_mode=dout
27898+
sensebox_mcu_esp32s2.menu.FlashMode.qout.build.boot=qout
27899+
sensebox_mcu_esp32s2.menu.FlashMode.dout=DOUT
27900+
sensebox_mcu_esp32s2.menu.FlashMode.dout.build.flash_mode=dout
27901+
sensebox_mcu_esp32s2.menu.FlashMode.dout.build.boot=dout
27902+
27903+
sensebox_mcu_esp32s2.menu.FlashFreq.80=80MHz
27904+
sensebox_mcu_esp32s2.menu.FlashFreq.80.build.flash_freq=80m
27905+
sensebox_mcu_esp32s2.menu.FlashFreq.40=40MHz
27906+
sensebox_mcu_esp32s2.menu.FlashFreq.40.build.flash_freq=40m
27907+
27908+
sensebox_mcu_esp32s2.menu.FlashSize.4M=4MB (32Mb)
27909+
sensebox_mcu_esp32s2.menu.FlashSize.4M.build.flash_size=4MB
27910+
27911+
sensebox_mcu_esp32s2.menu.UploadSpeed.921600=921600
27912+
sensebox_mcu_esp32s2.menu.UploadSpeed.921600.upload.speed=921600
27913+
sensebox_mcu_esp32s2.menu.UploadSpeed.115200=115200
27914+
sensebox_mcu_esp32s2.menu.UploadSpeed.115200.upload.speed=115200
27915+
sensebox_mcu_esp32s2.menu.UploadSpeed.256000.windows=256000
27916+
sensebox_mcu_esp32s2.menu.UploadSpeed.256000.upload.speed=256000
27917+
sensebox_mcu_esp32s2.menu.UploadSpeed.230400.windows.upload.speed=256000
27918+
sensebox_mcu_esp32s2.menu.UploadSpeed.230400=230400
27919+
sensebox_mcu_esp32s2.menu.UploadSpeed.230400.upload.speed=230400
27920+
sensebox_mcu_esp32s2.menu.UploadSpeed.460800.linux=460800
27921+
sensebox_mcu_esp32s2.menu.UploadSpeed.460800.macosx=460800
27922+
sensebox_mcu_esp32s2.menu.UploadSpeed.460800.upload.speed=460800
27923+
sensebox_mcu_esp32s2.menu.UploadSpeed.512000.windows=512000
27924+
sensebox_mcu_esp32s2.menu.UploadSpeed.512000.upload.speed=512000
27925+
27926+
sensebox_mcu_esp32s2.menu.DebugLevel.none=None
27927+
sensebox_mcu_esp32s2.menu.DebugLevel.none.build.code_debug=0
27928+
sensebox_mcu_esp32s2.menu.DebugLevel.error=Error
27929+
sensebox_mcu_esp32s2.menu.DebugLevel.error.build.code_debug=1
27930+
sensebox_mcu_esp32s2.menu.DebugLevel.warn=Warn
27931+
sensebox_mcu_esp32s2.menu.DebugLevel.warn.build.code_debug=2
27932+
sensebox_mcu_esp32s2.menu.DebugLevel.info=Info
27933+
sensebox_mcu_esp32s2.menu.DebugLevel.info.build.code_debug=3
27934+
sensebox_mcu_esp32s2.menu.DebugLevel.debug=Debug
27935+
sensebox_mcu_esp32s2.menu.DebugLevel.debug.build.code_debug=4
27936+
sensebox_mcu_esp32s2.menu.DebugLevel.verbose=Verbose
27937+
sensebox_mcu_esp32s2.menu.DebugLevel.verbose.build.code_debug=5
27938+
27939+
sensebox_mcu_esp32s2.menu.EraseFlash.none=Disabled
27940+
sensebox_mcu_esp32s2.menu.EraseFlash.none.upload.erase_cmd=
27941+
sensebox_mcu_esp32s2.menu.EraseFlash.all=Enabled
27942+
sensebox_mcu_esp32s2.menu.EraseFlash.all.upload.erase_cmd=-e
27943+
Binary file not shown.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
# ESP-IDF Partition Table
2+
# Name, Type, SubType, Offset, Size, Flags
3+
# bootloader.bin,, 0x1000, 32K
4+
# partition table, 0x8000, 4K
5+
6+
nvs, data, nvs, 0x9000, 20K,
7+
otadata, data, ota, 0xe000, 8K,
8+
ota_0, 0, ota_0, 0x10000, 1408K,
9+
ota_1, 0, ota_1, 0x170000, 1408K,
10+
uf2, app, factory,0x2d0000, 256K,
11+
ffat, data, fat, 0x310000, 960K,
12+
Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
6+
#define USB_VID 0x303A
7+
#define USB_PID 0x81B5
8+
#define USB_MANUFACTURER "senseBox"
9+
#define USB_PRODUCT "MCU-S2 ESP32S2"
10+
#define USB_SERIAL "" // Empty string for MAC adddress
11+
12+
// Default USB FirmwareMSC Settings
13+
#define USB_FW_MSC_VENDOR_ID "senseBox" // max 8 chars
14+
#define USB_FW_MSC_PRODUCT_ID "MCU-S2 ESP32S2" // max 16 chars
15+
#define USB_FW_MSC_PRODUCT_REVISION "1.00" // max 4 chars
16+
#define USB_FW_MSC_VOLUME_NAME "senseBox" // max 11 chars
17+
#define USB_FW_MSC_SERIAL_NUMBER 0x00000000
18+
19+
#define EXTERNAL_NUM_INTERRUPTS 46
20+
#define NUM_DIGITAL_PINS 48
21+
#define NUM_ANALOG_INPUTS 20
22+
23+
#define analogInputToDigitalPin(p) (((p) < 20) ? (analogChannelToDigitalPin(p)) : -1)
24+
#define digitalPinToInterrupt(p) (((p) < 48) ? (p) : -1)
25+
#define digitalPinHasPWM(p) (p < 46)
26+
27+
#define PIN_NEOPIXEL 1 // NeoPixel LED
28+
#define NEOPIXEL_PIN 1 // NeoPixel LED
29+
#define NEOPIXEL_NUM 1 // number of neopixels
30+
31+
// Default I2C QWIIC-Ports
32+
static const uint8_t SDA = 39;
33+
static const uint8_t SCL = 40;
34+
35+
// Secondary I2C MPU6050
36+
#define WIRE1_PIN_DEFINED 1 // See Wire.cpp at bool TwoWire::initPins(int sdaPin, int sclPin)
37+
static const uint8_t SCL1 = 42;
38+
static const uint8_t SDA1 = 45;
39+
40+
static const uint8_t SS = 42;
41+
static const uint8_t MOSI = 35;
42+
static const uint8_t SCK = 36;
43+
static const uint8_t MISO = 37;
44+
45+
#define PIN_XBEE_INT 33
46+
#define PIN_XBEE_CS 34
47+
#define PIN_XBEE_MOSI 35
48+
#define PIN_XBEE_SCLK 36
49+
#define PIN_XBEE_MISO 37
50+
#define PIN_XBEE_RESET 38
51+
52+
// IO Pins
53+
#define PIN_LED 1
54+
#define PIN_IO2 2
55+
#define PIN_IO3 3
56+
#define PIN_IO4 4
57+
#define PIN_IO5 5
58+
#define PIN_IO6 6
59+
#define PIN_IO7 7
60+
#define IO_ENABLE 8
61+
62+
static const uint8_t A2 = PIN_IO2;
63+
static const uint8_t A3 = PIN_IO3;
64+
static const uint8_t A4 = PIN_IO4;
65+
static const uint8_t A5 = PIN_IO5;
66+
static const uint8_t A6 = PIN_IO6;
67+
static const uint8_t A7 = PIN_IO7;
68+
69+
static const uint8_t D2 = PIN_IO2;
70+
static const uint8_t D3 = PIN_IO3;
71+
static const uint8_t D4 = PIN_IO4;
72+
static const uint8_t D5 = PIN_IO5;
73+
static const uint8_t D6 = PIN_IO6;
74+
static const uint8_t D7 = PIN_IO7;
75+
76+
// UART Port
77+
static const uint8_t TX = 43;
78+
static const uint8_t RX = 44;
79+
#define PIN_UART_ENABLE 26
80+
81+
// UART XBee
82+
static const uint8_t TX1 = 17;
83+
static const uint8_t RX1 = 18;
84+
85+
// PD-Sensor
86+
#define PD_SENSE 14
87+
#define PD_ENABLE 21
88+
89+
// XBee
90+
#define PIN_XB1_CS 34
91+
#define PIN_XB1_ENABLE 41
92+
93+
// SD-Card
94+
#define VSPI_MISO 13
95+
#define VSPI_MOSI 11
96+
#define VSPI_SCLK 12
97+
#define VSPI_SS 10
98+
#define SD_ENABLE 9
99+
100+
// Touch Pins
101+
static const uint8_t T2 = PIN_IO2;
102+
static const uint8_t T3 = PIN_IO3;
103+
static const uint8_t T4 = PIN_IO4;
104+
static const uint8_t T5 = PIN_IO5;
105+
static const uint8_t T6 = PIN_IO6;
106+
static const uint8_t T7 = PIN_IO7;
107+
108+
109+
static const uint8_t DAC1 = 17;
110+
static const uint8_t DAC2 = 18;
111+
112+
// Alias Serial to SerialUSB
113+
#define Serial SerialUSB
114+
115+
#endif /* Pins_Arduino_h */
146 KB
Binary file not shown.
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
/*
2+
* The MIT License (MIT)
3+
*
4+
* Copyright (c) 2021 Ha Thach (tinyusb.org) for Adafruit Industries
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+
//enable IO Pins by default
35+
pinMode(IO_ENABLE, OUTPUT);
36+
digitalWrite(IO_ENABLE,LOW);
37+
38+
//reset RGB
39+
pinMode(PIN_NEOPIXEL, OUTPUT);
40+
digitalWrite(PIN_NEOPIXEL, LOW);
41+
42+
//enable XBEE by default
43+
pinMode(PIN_XB1_ENABLE, OUTPUT);
44+
digitalWrite(PIN_XB1_ENABLE, LOW);
45+
46+
//enable PD-Sensor by default
47+
pinMode(PD_ENABLE, OUTPUT);
48+
analogReadResolution(12);
49+
digitalWrite(PD_ENABLE, HIGH);
50+
51+
}
52+
}

0 commit comments

Comments
 (0)