Skip to content

Commit c45af00

Browse files
committed
add(board): Add LOLIN S3 Mini Pro
1 parent 4b7b5d3 commit c45af00

File tree

3 files changed

+275
-0
lines changed

3 files changed

+275
-0
lines changed

Diff for: boards.txt

+168
Original file line numberDiff line numberDiff line change
@@ -8749,6 +8749,174 @@ lolin_s3_mini.menu.EraseFlash.all.upload.erase_cmd=-e
87498749

87508750
##############################################################
87518751

8752+
lolin_s3_mini_pro.name=LOLIN S3 Mini Pro
8753+
lolin_s3_mini_pro.vid.0=0x303a
8754+
lolin_s3_mini_pro.pid.0=0x8216
8755+
8756+
lolin_s3_mini_pro.bootloader.tool=esptool_py
8757+
lolin_s3_mini_pro.bootloader.tool.default=esptool_py
8758+
8759+
lolin_s3_mini_pro.upload.tool=esptool_py
8760+
lolin_s3_mini_pro.upload.tool.default=esptool_py
8761+
lolin_s3_mini_pro.upload.tool.network=esp_ota
8762+
8763+
lolin_s3_mini_pro.upload.maximum_size=1310720
8764+
lolin_s3_mini_pro.upload.maximum_data_size=327680
8765+
lolin_s3_mini_pro.upload.flags=
8766+
lolin_s3_mini_pro.upload.extra_flags=
8767+
lolin_s3_mini_pro.upload.use_1200bps_touch=false
8768+
lolin_s3_mini_pro.upload.wait_for_upload_port=false
8769+
8770+
lolin_s3_mini_pro.serial.disableDTR=false
8771+
lolin_s3_mini_pro.serial.disableRTS=false
8772+
8773+
lolin_s3_mini_pro.build.tarch=xtensa
8774+
lolin_s3_mini_pro.build.bootloader_addr=0x0
8775+
lolin_s3_mini_pro.build.target=esp32s3
8776+
lolin_s3_mini_pro.build.mcu=esp32s3
8777+
lolin_s3_mini_pro.build.core=esp32
8778+
lolin_s3_mini_pro.build.variant=lolin_s3_mini_pro
8779+
lolin_s3_mini_pro.build.board=LOLIN_S3_MINI_PRO
8780+
8781+
lolin_s3_mini_pro.build.usb_mode=1
8782+
lolin_s3_mini_pro.build.cdc_on_boot=0
8783+
lolin_s3_mini_pro.build.msc_on_boot=0
8784+
lolin_s3_mini_pro.build.dfu_on_boot=0
8785+
lolin_s3_mini_pro.build.f_cpu=240000000L
8786+
lolin_s3_mini_pro.build.flash_size=4MB
8787+
lolin_s3_mini_pro.build.flash_freq=80m
8788+
lolin_s3_mini_pro.build.flash_mode=dio
8789+
lolin_s3_mini_pro.build.boot=qio
8790+
lolin_s3_mini_pro.build.boot_freq=80m
8791+
lolin_s3_mini_pro.build.partitions=default
8792+
lolin_s3_mini_pro.build.defines=-DBOARD_HAS_PSRAM
8793+
lolin_s3_mini_pro.build.loop_core=
8794+
lolin_s3_mini_pro.build.event_core=
8795+
lolin_s3_mini_pro.build.psram_type=qspi
8796+
lolin_s3_mini_pro.build.memory_type={build.boot}_{build.psram_type}
8797+
8798+
lolin_s3_mini_pro.menu.FlashMode.qio=QIO 80MHz
8799+
lolin_s3_mini_pro.menu.FlashMode.qio.build.flash_mode=dio
8800+
lolin_s3_mini_pro.menu.FlashMode.qio.build.boot=qio
8801+
lolin_s3_mini_pro.menu.FlashMode.qio.build.boot_freq=80m
8802+
lolin_s3_mini_pro.menu.FlashMode.qio.build.flash_freq=80m
8803+
lolin_s3_mini_pro.menu.FlashMode.qio120=QIO 120MHz
8804+
lolin_s3_mini_pro.menu.FlashMode.qio120.build.flash_mode=dio
8805+
lolin_s3_mini_pro.menu.FlashMode.qio120.build.boot=qio
8806+
lolin_s3_mini_pro.menu.FlashMode.qio120.build.boot_freq=120m
8807+
lolin_s3_mini_pro.menu.FlashMode.qio120.build.flash_freq=80m
8808+
8809+
lolin_s3_mini_pro.menu.LoopCore.1=Core 1
8810+
lolin_s3_mini_pro.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
8811+
lolin_s3_mini_pro.menu.LoopCore.0=Core 0
8812+
lolin_s3_mini_pro.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
8813+
8814+
lolin_s3_mini_pro.menu.EventsCore.1=Core 1
8815+
lolin_s3_mini_pro.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
8816+
lolin_s3_mini_pro.menu.EventsCore.0=Core 0
8817+
lolin_s3_mini_pro.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
8818+
8819+
lolin_s3_mini_pro.menu.USBMode.hwcdc=Hardware CDC and JTAG
8820+
lolin_s3_mini_pro.menu.USBMode.hwcdc.build.usb_mode=1
8821+
lolin_s3_mini_pro.menu.USBMode.default=USB-OTG (TinyUSB)
8822+
lolin_s3_mini_pro.menu.USBMode.default.build.usb_mode=0
8823+
8824+
lolin_s3_mini_pro.menu.CDCOnBoot.default=Disabled
8825+
lolin_s3_mini_pro.menu.CDCOnBoot.default.build.cdc_on_boot=0
8826+
lolin_s3_mini_pro.menu.CDCOnBoot.cdc=Enabled
8827+
lolin_s3_mini_pro.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
8828+
8829+
lolin_s3_mini_pro.menu.MSCOnBoot.default=Disabled
8830+
lolin_s3_mini_pro.menu.MSCOnBoot.default.build.msc_on_boot=0
8831+
lolin_s3_mini_pro.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
8832+
lolin_s3_mini_pro.menu.MSCOnBoot.msc.build.msc_on_boot=1
8833+
8834+
lolin_s3_mini_pro.menu.DFUOnBoot.default=Disabled
8835+
lolin_s3_mini_pro.menu.DFUOnBoot.default.build.dfu_on_boot=0
8836+
lolin_s3_mini_pro.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
8837+
lolin_s3_mini_pro.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
8838+
8839+
lolin_s3_mini_pro.menu.UploadMode.default=UART0 / Hardware CDC
8840+
lolin_s3_mini_pro.menu.UploadMode.default.upload.use_1200bps_touch=false
8841+
lolin_s3_mini_pro.menu.UploadMode.default.upload.wait_for_upload_port=false
8842+
lolin_s3_mini_pro.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
8843+
lolin_s3_mini_pro.menu.UploadMode.cdc.upload.use_1200bps_touch=true
8844+
lolin_s3_mini_pro.menu.UploadMode.cdc.upload.wait_for_upload_port=true
8845+
8846+
lolin_s3_mini_pro.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
8847+
lolin_s3_mini_pro.menu.PartitionScheme.default.build.partitions=default
8848+
lolin_s3_mini_pro.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
8849+
lolin_s3_mini_pro.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
8850+
lolin_s3_mini_pro.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
8851+
lolin_s3_mini_pro.menu.PartitionScheme.no_ota.build.partitions=no_ota
8852+
lolin_s3_mini_pro.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
8853+
lolin_s3_mini_pro.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
8854+
lolin_s3_mini_pro.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
8855+
lolin_s3_mini_pro.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
8856+
lolin_s3_mini_pro.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
8857+
lolin_s3_mini_pro.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
8858+
lolin_s3_mini_pro.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
8859+
lolin_s3_mini_pro.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
8860+
lolin_s3_mini_pro.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
8861+
lolin_s3_mini_pro.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
8862+
lolin_s3_mini_pro.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
8863+
lolin_s3_mini_pro.menu.PartitionScheme.huge_app.build.partitions=huge_app
8864+
lolin_s3_mini_pro.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
8865+
lolin_s3_mini_pro.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
8866+
lolin_s3_mini_pro.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
8867+
lolin_s3_mini_pro.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
8868+
lolin_s3_mini_pro.menu.PartitionScheme.rainmaker=RainMaker
8869+
lolin_s3_mini_pro.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
8870+
lolin_s3_mini_pro.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728
8871+
8872+
lolin_s3_mini_pro.menu.CPUFreq.240=240MHz (WiFi)
8873+
lolin_s3_mini_pro.menu.CPUFreq.240.build.f_cpu=240000000L
8874+
lolin_s3_mini_pro.menu.CPUFreq.160=160MHz (WiFi)
8875+
lolin_s3_mini_pro.menu.CPUFreq.160.build.f_cpu=160000000L
8876+
lolin_s3_mini_pro.menu.CPUFreq.80=80MHz (WiFi)
8877+
lolin_s3_mini_pro.menu.CPUFreq.80.build.f_cpu=80000000L
8878+
lolin_s3_mini_pro.menu.CPUFreq.40=40MHz
8879+
lolin_s3_mini_pro.menu.CPUFreq.40.build.f_cpu=40000000L
8880+
lolin_s3_mini_pro.menu.CPUFreq.20=20MHz
8881+
lolin_s3_mini_pro.menu.CPUFreq.20.build.f_cpu=20000000L
8882+
lolin_s3_mini_pro.menu.CPUFreq.10=10MHz
8883+
lolin_s3_mini_pro.menu.CPUFreq.10.build.f_cpu=10000000L
8884+
8885+
lolin_s3_mini_pro.menu.UploadSpeed.921600=921600
8886+
lolin_s3_mini_pro.menu.UploadSpeed.921600.upload.speed=921600
8887+
lolin_s3_mini_pro.menu.UploadSpeed.115200=115200
8888+
lolin_s3_mini_pro.menu.UploadSpeed.115200.upload.speed=115200
8889+
lolin_s3_mini_pro.menu.UploadSpeed.256000.windows=256000
8890+
lolin_s3_mini_pro.menu.UploadSpeed.256000.upload.speed=256000
8891+
lolin_s3_mini_pro.menu.UploadSpeed.230400.windows.upload.speed=256000
8892+
lolin_s3_mini_pro.menu.UploadSpeed.230400=230400
8893+
lolin_s3_mini_pro.menu.UploadSpeed.230400.upload.speed=230400
8894+
lolin_s3_mini_pro.menu.UploadSpeed.460800.linux=460800
8895+
lolin_s3_mini_pro.menu.UploadSpeed.460800.macosx=460800
8896+
lolin_s3_mini_pro.menu.UploadSpeed.460800.upload.speed=460800
8897+
lolin_s3_mini_pro.menu.UploadSpeed.512000.windows=512000
8898+
lolin_s3_mini_pro.menu.UploadSpeed.512000.upload.speed=512000
8899+
8900+
lolin_s3_mini_pro.menu.DebugLevel.none=None
8901+
lolin_s3_mini_pro.menu.DebugLevel.none.build.code_debug=0
8902+
lolin_s3_mini_pro.menu.DebugLevel.error=Error
8903+
lolin_s3_mini_pro.menu.DebugLevel.error.build.code_debug=1
8904+
lolin_s3_mini_pro.menu.DebugLevel.warn=Warn
8905+
lolin_s3_mini_pro.menu.DebugLevel.warn.build.code_debug=2
8906+
lolin_s3_mini_pro.menu.DebugLevel.info=Info
8907+
lolin_s3_mini_pro.menu.DebugLevel.info.build.code_debug=3
8908+
lolin_s3_mini_pro.menu.DebugLevel.debug=Debug
8909+
lolin_s3_mini_pro.menu.DebugLevel.debug.build.code_debug=4
8910+
lolin_s3_mini_pro.menu.DebugLevel.verbose=Verbose
8911+
lolin_s3_mini_pro.menu.DebugLevel.verbose.build.code_debug=5
8912+
8913+
lolin_s3_mini_pro.menu.EraseFlash.none=Disabled
8914+
lolin_s3_mini_pro.menu.EraseFlash.none.upload.erase_cmd=
8915+
lolin_s3_mini_pro.menu.EraseFlash.all=Enabled
8916+
lolin_s3_mini_pro.menu.EraseFlash.all.upload.erase_cmd=-e
8917+
8918+
##############################################################
8919+
87528920
lolin_s3_pro.name=LOLIN S3 Pro
87538921
lolin_s3_pro.vid.0=0x303a
87548922
lolin_s3_pro.pid.0=0x8161

Diff for: variants/lolin_s3_mini_pro/pins_arduino.h

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
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 0x8216
9+
10+
static const uint8_t LED_BUILTIN = 8 + SOC_GPIO_PIN_COUNT;;
11+
#define BUILTIN_LED LED_BUILTIN // backward compatibility
12+
#define LED_BUILTIN LED_BUILTIN // allow testing #ifdef LED_BUILTIN
13+
#define RGB_BUILTIN LED_BUILTIN
14+
#define RGB_BRIGHTNESS 5
15+
#define RGB_POWER 7 //RGB LED POWER PIN
16+
17+
static const uint8_t TX = 43;
18+
static const uint8_t RX = 44;
19+
20+
static const uint8_t SDA = 12;
21+
static const uint8_t SCL = 11;
22+
23+
static const uint8_t SS = 37;
24+
static const uint8_t MOSI = 38;
25+
static const uint8_t MISO = 39;
26+
static const uint8_t SCK = 40;
27+
28+
//TFT
29+
static const uint8_t TFT_BL = 33;
30+
static const uint8_t TFT_DC = 36;
31+
static const uint8_t TFT_CS = 35;
32+
static const uint8_t TFT_RST = 34;
33+
34+
//IR
35+
static const uint8_t PIN_IR = 9;
36+
37+
//BUTTON
38+
static const uint8_t BUTTON_LEFT = 0;
39+
static const uint8_t BUTTON_OK = 47;
40+
static const uint8_t BUTTON_RIGHT = 48;
41+
42+
static const uint8_t A0 = 1;
43+
static const uint8_t A1 = 2;
44+
static const uint8_t A2 = 3;
45+
static const uint8_t A3 = 4;
46+
static const uint8_t A4 = 5;
47+
static const uint8_t A5 = 6;
48+
static const uint8_t A6 = 7;
49+
static const uint8_t A7 = 8;
50+
static const uint8_t A8 = 9;
51+
static const uint8_t A9 = 10;
52+
static const uint8_t A10 = 11;
53+
static const uint8_t A11 = 12;
54+
static const uint8_t A12 = 13;
55+
static const uint8_t A13 = 14;
56+
static const uint8_t A14 = 15;
57+
static const uint8_t A15 = 16;
58+
static const uint8_t A16 = 17;
59+
static const uint8_t A17 = 18;
60+
61+
static const uint8_t T1 = 1;
62+
static const uint8_t T2 = 2;
63+
static const uint8_t T3 = 3;
64+
static const uint8_t T4 = 4;
65+
static const uint8_t T5 = 5;
66+
static const uint8_t T6 = 6;
67+
static const uint8_t T7 = 7;
68+
static const uint8_t T8 = 8;
69+
static const uint8_t T9 = 9;
70+
static const uint8_t T10 = 10;
71+
static const uint8_t T11 = 11;
72+
static const uint8_t T12 = 12;
73+
static const uint8_t T13 = 13;
74+
static const uint8_t T14 = 14;
75+
76+
#endif /* Pins_Arduino_h */

Diff for: variants/lolin_s3_mini_pro/variant.cpp

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/*
2+
*/
3+
4+
#include "esp32-hal-gpio.h"
5+
#include "pins_arduino.h"
6+
7+
extern "C" {
8+
9+
// Initialize variant/board, called before setup()
10+
void initVariant(void) {
11+
// IR
12+
pinMode(PIN_IR, OUTPUT);
13+
digitalWrite(PIN_IR, LOW);
14+
// RGB
15+
pinMode(RGB_POWER, OUTPUT);
16+
digitalWrite(RGB_POWER, LOW);
17+
// BUTTON
18+
pinMode(BUTTON_LEFT, INPUT_PULLUP);
19+
pinMode(BUTTON_OK, INPUT_PULLUP);
20+
pinMode(BUTTON_RIGHT, INPUT_PULLUP);
21+
// TFT
22+
pinMode(TFT_BL, OUTPUT);
23+
digitalWrite(TFT_BL, LOW);
24+
pinMode(TFT_CS, OUTPUT);
25+
digitalWrite(TFT_CS, HIGH);
26+
pinMode(TFT_RST, OUTPUT);
27+
digitalWrite(TFT_RST, LOW);
28+
delay(1);
29+
digitalWrite(TFT_RST, HIGH);
30+
}
31+
}

0 commit comments

Comments
 (0)