Skip to content

Commit c382265

Browse files
authored
I have added support for the DFRobot Romeo ESP32-S3 board. (espressif#8195)
* add dfrobot romeo esp32S3 * add dfrobot romeo esp32s3 * Update pins_arduino.h * Update pins_arduino.h * Update pins_arduino.h * Update pins_arduino.h
1 parent 5548fbe commit c382265

File tree

4 files changed

+300
-3
lines changed

4 files changed

+300
-3
lines changed

boards.txt

+194-2
Original file line numberDiff line numberDiff line change
@@ -7479,8 +7479,8 @@ dfrobot_firebeetle2_esp32e.menu.EraseFlash.all.upload.erase_cmd=-e
74797479
dfrobot_firebeetle2_esp32s3.name=DFRobot Firebeetle 2 ESP32-S3
74807480
#dfrobot_firebeetle2_esp32s3.vid.0=0x3343
74817481
#dfrobot_firebeetle2_esp32s3.pid.0=0x83CF
7482-
dfrobot_beetle_esp32c3.vid.0=0x303a
7483-
dfrobot_beetle_esp32c3.pid.0=0x1001
7482+
dfrobot_firebeetle2_esp32s3.vid.0=0x303a
7483+
dfrobot_firebeetle2_esp32s3.pid.0=0x1001
74847484

74857485
dfrobot_firebeetle2_esp32s3.bootloader.tool=esptool_py
74867486
dfrobot_firebeetle2_esp32s3.bootloader.tool.default=esptool_py
@@ -7691,6 +7691,198 @@ dfrobot_firebeetle2_esp32s3.menu.EraseFlash.none.upload.erase_cmd=
76917691
dfrobot_firebeetle2_esp32s3.menu.EraseFlash.all=Enabled
76927692
dfrobot_firebeetle2_esp32s3.menu.EraseFlash.all.upload.erase_cmd=-e
76937693

7694+
##############################################################
7695+
# dfrobot Romeo ESP32-S3
7696+
dfrobot_romeo_esp32s3.name=DFRobot Romeo ESP32-S3
7697+
dfrobot_romeo_esp32s3.vid.0=0x303a
7698+
dfrobot_romeo_esp32s3.pid.0=0x1001
7699+
7700+
dfrobot_romeo_esp32s3.bootloader.tool=esptool_py
7701+
dfrobot_romeo_esp32s3.bootloader.tool.default=esptool_py
7702+
7703+
dfrobot_romeo_esp32s3.upload.tool=esptool_py
7704+
dfrobot_romeo_esp32s3.upload.tool.default=esptool_py
7705+
dfrobot_romeo_esp32s3.upload.tool.network=esp_ota
7706+
7707+
dfrobot_romeo_esp32s3.upload.maximum_size=1310720
7708+
dfrobot_romeo_esp32s3.upload.maximum_data_size=327680
7709+
dfrobot_romeo_esp32s3.upload.flags=
7710+
dfrobot_romeo_esp32s3.upload.extra_flags=
7711+
dfrobot_romeo_esp32s3.upload.use_1200bps_touch=false
7712+
dfrobot_romeo_esp32s3.upload.wait_for_upload_port=false
7713+
7714+
dfrobot_romeo_esp32s3.serial.disableDTR=false
7715+
dfrobot_romeo_esp32s3.serial.disableRTS=false
7716+
7717+
dfrobot_romeo_esp32s3.build.tarch=xtensa
7718+
dfrobot_romeo_esp32s3.build.bootloader_addr=0x0
7719+
dfrobot_romeo_esp32s3.build.target=esp32s3
7720+
dfrobot_romeo_esp32s3.build.mcu=esp32s3
7721+
dfrobot_romeo_esp32s3.build.core=esp32
7722+
dfrobot_romeo_esp32s3.build.variant=dfrobot_romeo_esp32s3
7723+
dfrobot_romeo_esp32s3.build.board=DFROBOT_ROMEO_ESP32S3
7724+
7725+
7726+
dfrobot_romeo_esp32s3.build.usb_mode=1
7727+
dfrobot_romeo_esp32s3.build.cdc_on_boot=0
7728+
dfrobot_romeo_esp32s3.build.msc_on_boot=0
7729+
dfrobot_romeo_esp32s3.build.dfu_on_boot=0
7730+
dfrobot_romeo_esp32s3.build.f_cpu=240000000L
7731+
dfrobot_romeo_esp32s3.build.flash_size=16MB
7732+
dfrobot_romeo_esp32s3.build.flash_freq=80m
7733+
dfrobot_romeo_esp32s3.build.flash_mode=qio
7734+
dfrobot_romeo_esp32s3.build.boot=qio
7735+
dfrobot_romeo_esp32s3.build.boot_freq=80m
7736+
dfrobot_romeo_esp32s3.build.partitions=default
7737+
dfrobot_romeo_esp32s3.build.defines=
7738+
dfrobot_romeo_esp32s3.build.loop_core=
7739+
dfrobot_romeo_esp32s3.build.event_core=
7740+
dfrobot_romeo_esp32s3.build.flash_type=qio
7741+
dfrobot_romeo_esp32s3.build.psram_type=qspi
7742+
dfrobot_romeo_esp32s3.build.memory_type={build.flash_type}_{build.psram_type}
7743+
7744+
dfrobot_romeo_esp32s3.menu.PSRAM.opi=OPI PSRAM
7745+
dfrobot_romeo_esp32s3.menu.PSRAM.opi.build.defines=-DBOARD_HAS_PSRAM
7746+
dfrobot_romeo_esp32s3.menu.PSRAM.opi.build.psram_type=opi
7747+
dfrobot_romeo_esp32s3.menu.PSRAM.disabled=Disabled
7748+
dfrobot_romeo_esp32s3.menu.PSRAM.disabled.build.defines=
7749+
dfrobot_romeo_esp32s3.menu.PSRAM.disabled.build.psram_type=qspi
7750+
dfrobot_romeo_esp32s3.menu.PSRAM.enabled=QSPI PSRAM
7751+
dfrobot_romeo_esp32s3.menu.PSRAM.enabled.build.defines=-DBOARD_HAS_PSRAM
7752+
dfrobot_romeo_esp32s3.menu.PSRAM.enabled.build.psram_type=qspi
7753+
7754+
7755+
dfrobot_romeo_esp32s3.menu.FlashMode.qio=QIO 80MHz
7756+
dfrobot_romeo_esp32s3.menu.FlashMode.qio.build.flash_mode=dio
7757+
dfrobot_romeo_esp32s3.menu.FlashMode.qio.build.boot=qio
7758+
dfrobot_romeo_esp32s3.menu.FlashMode.qio.build.boot_freq=80m
7759+
dfrobot_romeo_esp32s3.menu.FlashMode.qio.build.flash_freq=80m
7760+
dfrobot_romeo_esp32s3.menu.FlashMode.qio.build.flash_type=qio
7761+
dfrobot_romeo_esp32s3.menu.FlashMode.qio120=QIO 120MHz
7762+
dfrobot_romeo_esp32s3.menu.FlashMode.qio120.build.flash_mode=dio
7763+
dfrobot_romeo_esp32s3.menu.FlashMode.qio120.build.boot=qio
7764+
dfrobot_romeo_esp32s3.menu.FlashMode.qio120.build.boot_freq=120m
7765+
dfrobot_romeo_esp32s3.menu.FlashMode.qio120.build.flash_freq=80m
7766+
dfrobot_romeo_esp32s3.menu.FlashMode.qio120.build.flash_type=qio
7767+
dfrobot_romeo_esp32s3.menu.FlashMode.dio=DIO 80MHz
7768+
dfrobot_romeo_esp32s3.menu.FlashMode.dio.build.flash_mode=dio
7769+
dfrobot_romeo_esp32s3.menu.FlashMode.dio.build.boot=dio
7770+
dfrobot_romeo_esp32s3.menu.FlashMode.dio.build.boot_freq=80m
7771+
dfrobot_romeo_esp32s3.menu.FlashMode.dio.build.flash_freq=80m
7772+
dfrobot_romeo_esp32s3.menu.FlashMode.dio.build.flash_type=qio
7773+
dfrobot_romeo_esp32s3.menu.FlashMode.opi=OPI 80MHz
7774+
dfrobot_romeo_esp32s3.menu.FlashMode.opi.build.flash_mode=dout
7775+
dfrobot_romeo_esp32s3.menu.FlashMode.opi.build.boot=opi
7776+
dfrobot_romeo_esp32s3.menu.FlashMode.opi.build.boot_freq=80m
7777+
dfrobot_romeo_esp32s3.menu.FlashMode.opi.build.flash_freq=80m
7778+
dfrobot_romeo_esp32s3.menu.FlashMode.opi.build.flash_type=opi
7779+
7780+
dfrobot_romeo_esp32s3.menu.FlashSize.16M=16MB (128Mb)
7781+
dfrobot_romeo_esp32s3.menu.FlashSize.16M.build.flash_size=16MB
7782+
7783+
7784+
dfrobot_romeo_esp32s3.menu.LoopCore.1=Core 1
7785+
dfrobot_romeo_esp32s3.menu.LoopCore.1.build.loop_core=-DARDUINO_RUNNING_CORE=1
7786+
dfrobot_romeo_esp32s3.menu.LoopCore.0=Core 0
7787+
dfrobot_romeo_esp32s3.menu.LoopCore.0.build.loop_core=-DARDUINO_RUNNING_CORE=0
7788+
7789+
dfrobot_romeo_esp32s3.menu.EventsCore.1=Core 1
7790+
dfrobot_romeo_esp32s3.menu.EventsCore.1.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
7791+
dfrobot_romeo_esp32s3.menu.EventsCore.0=Core 0
7792+
dfrobot_romeo_esp32s3.menu.EventsCore.0.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=0
7793+
7794+
dfrobot_romeo_esp32s3.menu.USBMode.hwcdc=Hardware CDC and JTAG
7795+
dfrobot_romeo_esp32s3.menu.USBMode.hwcdc.build.usb_mode=1
7796+
dfrobot_romeo_esp32s3.menu.USBMode.default=USB-OTG (TinyUSB)
7797+
dfrobot_romeo_esp32s3.menu.USBMode.default.build.usb_mode=0
7798+
7799+
dfrobot_romeo_esp32s3.menu.CDCOnBoot.cdc=Enabled
7800+
dfrobot_romeo_esp32s3.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
7801+
dfrobot_romeo_esp32s3.menu.CDCOnBoot.default=Disabled
7802+
dfrobot_romeo_esp32s3.menu.CDCOnBoot.default.build.cdc_on_boot=0
7803+
7804+
7805+
dfrobot_romeo_esp32s3.menu.MSCOnBoot.default=Disabled
7806+
dfrobot_romeo_esp32s3.menu.MSCOnBoot.default.build.msc_on_boot=0
7807+
dfrobot_romeo_esp32s3.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
7808+
dfrobot_romeo_esp32s3.menu.MSCOnBoot.msc.build.msc_on_boot=1
7809+
7810+
dfrobot_romeo_esp32s3.menu.DFUOnBoot.default=Disabled
7811+
dfrobot_romeo_esp32s3.menu.DFUOnBoot.default.build.dfu_on_boot=0
7812+
dfrobot_romeo_esp32s3.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
7813+
dfrobot_romeo_esp32s3.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
7814+
7815+
dfrobot_romeo_esp32s3.menu.UploadMode.default=UART0 / Hardware CDC
7816+
dfrobot_romeo_esp32s3.menu.UploadMode.default.upload.use_1200bps_touch=false
7817+
dfrobot_romeo_esp32s3.menu.UploadMode.default.upload.wait_for_upload_port=false
7818+
dfrobot_romeo_esp32s3.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
7819+
dfrobot_romeo_esp32s3.menu.UploadMode.cdc.upload.use_1200bps_touch=true
7820+
dfrobot_romeo_esp32s3.menu.UploadMode.cdc.upload.wait_for_upload_port=true
7821+
7822+
dfrobot_romeo_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9.9MB FATFS)
7823+
dfrobot_romeo_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
7824+
dfrobot_romeo_esp32s3.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
7825+
dfrobot_romeo_esp32s3.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FATFS)
7826+
dfrobot_romeo_esp32s3.menu.PartitionScheme.fatflash.build.partitions=ffat
7827+
dfrobot_romeo_esp32s3.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
7828+
dfrobot_romeo_esp32s3.menu.PartitionScheme.minimal=Minimal (1.3MB APP/700KB SPIFFS)
7829+
dfrobot_romeo_esp32s3.menu.PartitionScheme.minimal.build.partitions=minimal
7830+
dfrobot_romeo_esp32s3.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
7831+
dfrobot_romeo_esp32s3.menu.PartitionScheme.huge_app.build.partitions=huge_app
7832+
dfrobot_romeo_esp32s3.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
7833+
dfrobot_romeo_esp32s3.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
7834+
dfrobot_romeo_esp32s3.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
7835+
dfrobot_romeo_esp32s3.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
7836+
dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker=RainMaker
7837+
dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker.build.partitions=rainmaker
7838+
dfrobot_romeo_esp32s3.menu.PartitionScheme.rainmaker.upload.maximum_size=3145728
7839+
7840+
dfrobot_romeo_esp32s3.menu.CPUFreq.240=240MHz (WiFi)
7841+
dfrobot_romeo_esp32s3.menu.CPUFreq.240.build.f_cpu=240000000L
7842+
dfrobot_romeo_esp32s3.menu.CPUFreq.160=160MHz (WiFi)
7843+
dfrobot_romeo_esp32s3.menu.CPUFreq.160.build.f_cpu=160000000L
7844+
dfrobot_romeo_esp32s3.menu.CPUFreq.80=80MHz (WiFi)
7845+
dfrobot_romeo_esp32s3.menu.CPUFreq.80.build.f_cpu=80000000L
7846+
dfrobot_romeo_esp32s3.menu.CPUFreq.40=40MHz
7847+
dfrobot_romeo_esp32s3.menu.CPUFreq.40.build.f_cpu=40000000L
7848+
dfrobot_romeo_esp32s3.menu.CPUFreq.20=20MHz
7849+
dfrobot_romeo_esp32s3.menu.CPUFreq.20.build.f_cpu=20000000L
7850+
dfrobot_romeo_esp32s3.menu.CPUFreq.10=10MHz
7851+
dfrobot_romeo_esp32s3.menu.CPUFreq.10.build.f_cpu=10000000L
7852+
7853+
dfrobot_romeo_esp32s3.menu.UploadSpeed.921600=921600
7854+
dfrobot_romeo_esp32s3.menu.UploadSpeed.921600.upload.speed=921600
7855+
dfrobot_romeo_esp32s3.menu.UploadSpeed.115200=115200
7856+
dfrobot_romeo_esp32s3.menu.UploadSpeed.115200.upload.speed=115200
7857+
dfrobot_romeo_esp32s3.menu.UploadSpeed.256000.windows=256000
7858+
dfrobot_romeo_esp32s3.menu.UploadSpeed.256000.upload.speed=256000
7859+
dfrobot_romeo_esp32s3.menu.UploadSpeed.230400.windows.upload.speed=256000
7860+
dfrobot_romeo_esp32s3.menu.UploadSpeed.230400=230400
7861+
dfrobot_romeo_esp32s3.menu.UploadSpeed.230400.upload.speed=230400
7862+
dfrobot_romeo_esp32s3.menu.UploadSpeed.460800.linux=460800
7863+
dfrobot_romeo_esp32s3.menu.UploadSpeed.460800.macosx=460800
7864+
dfrobot_romeo_esp32s3.menu.UploadSpeed.460800.upload.speed=460800
7865+
dfrobot_romeo_esp32s3.menu.UploadSpeed.512000.windows=512000
7866+
dfrobot_romeo_esp32s3.menu.UploadSpeed.512000.upload.speed=512000
7867+
7868+
dfrobot_romeo_esp32s3.menu.DebugLevel.none=None
7869+
dfrobot_romeo_esp32s3.menu.DebugLevel.none.build.code_debug=0
7870+
dfrobot_romeo_esp32s3.menu.DebugLevel.error=Error
7871+
dfrobot_romeo_esp32s3.menu.DebugLevel.error.build.code_debug=1
7872+
dfrobot_romeo_esp32s3.menu.DebugLevel.warn=Warn
7873+
dfrobot_romeo_esp32s3.menu.DebugLevel.warn.build.code_debug=2
7874+
dfrobot_romeo_esp32s3.menu.DebugLevel.info=Info
7875+
dfrobot_romeo_esp32s3.menu.DebugLevel.info.build.code_debug=3
7876+
dfrobot_romeo_esp32s3.menu.DebugLevel.debug=Debug
7877+
dfrobot_romeo_esp32s3.menu.DebugLevel.debug.build.code_debug=4
7878+
dfrobot_romeo_esp32s3.menu.DebugLevel.verbose=Verbose
7879+
dfrobot_romeo_esp32s3.menu.DebugLevel.verbose.build.code_debug=5
7880+
7881+
dfrobot_romeo_esp32s3.menu.EraseFlash.none=Disabled
7882+
dfrobot_romeo_esp32s3.menu.EraseFlash.none.upload.erase_cmd=
7883+
dfrobot_romeo_esp32s3.menu.EraseFlash.all=Enabled
7884+
dfrobot_romeo_esp32s3.menu.EraseFlash.all.upload.erase_cmd=-e
7885+
76947886
##############################################################
76957887

76967888
firebeetle32.name=FireBeetle-ESP32

libraries/ESP32/examples/Camera/CameraWebServer/CameraWebServer.ino

+2-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
//#define CAMERA_MODEL_ESP32_CAM_BOARD
2929
//#define CAMERA_MODEL_ESP32S2_CAM_BOARD
3030
//#define CAMERA_MODEL_ESP32S3_CAM_LCD
31-
31+
//#define CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3 // Has PSRAM
32+
//#define CAMERA_MODEL_DFRobot_Romeo_ESP32S3 // Has PSRAM
3233
#include "camera_pins.h"
3334

3435
// ===========================

libraries/ESP32/examples/Camera/CameraWebServer/camera_pins.h

+19
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,25 @@
293293
#define HREF_GPIO_NUM 7
294294
#define PCLK_GPIO_NUM 13
295295

296+
#elif defined(CAMERA_MODEL_DFRobot_FireBeetle2_ESP32S3) || defined(CAMERA_MODEL_DFRobot_Romeo_ESP32S3)
297+
#define PWDN_GPIO_NUM -1
298+
#define RESET_GPIO_NUM -1
299+
#define XCLK_GPIO_NUM 45
300+
#define SIOD_GPIO_NUM 1
301+
#define SIOC_GPIO_NUM 2
302+
303+
#define Y9_GPIO_NUM 48
304+
#define Y8_GPIO_NUM 46
305+
#define Y7_GPIO_NUM 8
306+
#define Y6_GPIO_NUM 7
307+
#define Y5_GPIO_NUM 4
308+
#define Y4_GPIO_NUM 41
309+
#define Y3_GPIO_NUM 40
310+
#define Y2_GPIO_NUM 39
311+
#define VSYNC_GPIO_NUM 6
312+
#define HREF_GPIO_NUM 42
313+
#define PCLK_GPIO_NUM 5
314+
296315
#else
297316
#error "Camera model not selected"
298317
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
6+
7+
8+
#define EXTERNAL_NUM_INTERRUPTS 46
9+
#define NUM_DIGITAL_PINS 48
10+
#define NUM_ANALOG_INPUTS 20
11+
12+
#define analogInputToDigitalPin(p) (((p)<20)?(analogChannelToDigitalPin(p)):-1)
13+
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
14+
#define digitalPinHasPWM(p) (p < 46)
15+
16+
17+
static const uint8_t TX = 43;
18+
static const uint8_t RX = 44;
19+
20+
static const uint8_t SDA = 1;
21+
static const uint8_t SCL = 2;
22+
23+
24+
static const uint8_t MOSI = 15;
25+
static const uint8_t MISO = 16;
26+
static const uint8_t SCK = 17;
27+
static const uint8_t SS = 18;
28+
29+
#define GDI_DISPLAY_FPC_INTERFACE
30+
#ifdef GDI_DISPLAY_FPC_INTERFACE
31+
32+
#define GDI_BLK 21
33+
#define GDI_SPI_SCLK SCK
34+
#define GDI_SPI_MOSI MOSI
35+
#define GDI_SPI_MISO MISO
36+
#define GDI_DC 3
37+
#define GDI_RES 38
38+
#define GDI_CS 18
39+
#define GDI_SDCS 0
40+
#define GDI_FCS 7
41+
#define GDI_TCS 12
42+
#define GDI_SCL SCL
43+
#define GDI_SDA SDA
44+
#define GDI_INT 13
45+
#define GDI_BUSY_TE 14
46+
47+
#endif /* GDI_DISPLAY_FPC_INTERFACE */
48+
49+
// CAM
50+
#define CAM_DVP_INTERFACE
51+
#ifdef CAM_DVP_INTERFACE
52+
53+
#define CAM_D5 4
54+
#define CAM_PCLK 5
55+
#define CAM_VSYNC 6
56+
#define CAM_D6 7
57+
#define CAM_D7 8
58+
#define CAM_D8 46
59+
#define CAM_D9 48
60+
#define CAM_XMCLK 45
61+
#define CAM_D2 39
62+
#define CAM_D3 40
63+
#define CAM_D4 41
64+
#define CAM_HREF 42
65+
#define CAM_SCL SCL
66+
#define CAM_SDA SDA
67+
68+
#endif /* CAM_DVP_INTERFACE */
69+
70+
// Motor
71+
#define MOTOR_INTERFACE
72+
#ifdef MOTOR_INTERFACE
73+
74+
#define M1_EN 12
75+
#define M1_PH 13
76+
#define M2_EN 14
77+
#define M2_PH 21
78+
#define M3_EN 9
79+
#define M3_PH 10
80+
#define M4_EN 47
81+
#define M4_PH 11
82+
83+
#endif
84+
85+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)