Added support for ESP32-S3 Wroom Freenove
parent
8180aa84c0
commit
999968ef94
|
|
@ -254,12 +254,12 @@ void Camera::SetFlashStatus(bool i_data) {
|
|||
}
|
||||
#endif
|
||||
|
||||
/* Neopixel control of the FLASH */
|
||||
/* rgbLedWrite control of the FLASH */
|
||||
#if (true == CAMERA_FLASH_NEOPIXEL)
|
||||
if (true == i_data) {
|
||||
neopixelWrite(FLASH_NEOPIXEL_LED_PIN, RGB_BRIGHTNESS, RGB_BRIGHTNESS, RGB_BRIGHTNESS);
|
||||
rgbLedWrite(FLASH_NEOPIXEL_LED_PIN, RGB_BRIGHTNESS, RGB_BRIGHTNESS, RGB_BRIGHTNESS);
|
||||
} else if (false == i_data) {
|
||||
neopixelWrite(FLASH_NEOPIXEL_LED_PIN, 0, 0, 0);
|
||||
rgbLedWrite(FLASH_NEOPIXEL_LED_PIN, 0, 0, 0);
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -0,0 +1,103 @@
|
|||
/**
|
||||
@file module_ESP32-S3_Wroom_Freenove.h
|
||||
|
||||
@brief Definition of the ESP32-S3 Wroom FreeNove board
|
||||
|
||||
@author Miroslav Pivovarsky
|
||||
Contact: miroslav.pivovarsky@gmail.com
|
||||
|
||||
Board configuration in the arduino IDE 2.3.2
|
||||
Tools -> Board -> ESP32 Arduino -> ESP32S3 Dev Module
|
||||
Tools -> USB CDC on BOOT -> Disabled
|
||||
Tools -> CPU Frequency -> 240MHz (WiFi/BT)
|
||||
Tools -> Core debug level -> None
|
||||
Tools -> USB DFU on BOOT -> Disable
|
||||
Tools -> Erase all Flash Before Sketch Upload -> Disable (first flash, new board = enable. otherwise = disable)
|
||||
Tools -> Events Run On -> Core 0
|
||||
Tools -> Flash Mode -> QIO 80MHz
|
||||
Tools -> Flash Size -> 8MB
|
||||
Tools -> Jtag Adapter -> Disable
|
||||
Tools -> Arduino Runs On -> Core 0
|
||||
Tools -> USB Firmware MSC On Boot -> Disable
|
||||
Tools -> Partition scheme -> Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
|
||||
Tools -> PSRAM -> OPI PSRAM
|
||||
Tools -> Upload Mode -> UART0 / Hardware CDC
|
||||
Tools -> Upload Speed -> 921600
|
||||
Tools -> USB Mode -> Hardware CDC and JTAG
|
||||
Tools -> Zigbee mode -> Disable
|
||||
|
||||
https://freenove.com/fnk0085
|
||||
|
||||
@bug: no know bug
|
||||
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "mcu_cfg.h"
|
||||
|
||||
#ifdef ESP32_S3_WROOM_FREENOVE
|
||||
|
||||
/* --------------- CAMERA CFG -------------------*/
|
||||
#define PWDN_GPIO_NUM -1 ///< Power down control pin
|
||||
#define RESET_GPIO_NUM -1 ///< Reset control pin
|
||||
#define SIOD_GPIO_NUM 4 ///< SCCB: SI/O data pin
|
||||
#define SIOC_GPIO_NUM 5 ///< SCCB: SI/O control pin
|
||||
#define Y2_GPIO_NUM 11 ///< SCCB: Y2 pin
|
||||
#define Y3_GPIO_NUM 9 ///< SCCB: Y3 pin
|
||||
#define Y4_GPIO_NUM 8 ///< SCCB: Y4 pin
|
||||
#define Y5_GPIO_NUM 10 ///< SCCB: Y5 pin
|
||||
#define Y6_GPIO_NUM 12 ///< SCCB: Y6 pin
|
||||
#define Y7_GPIO_NUM 18 ///< SCCB: Y7 pin
|
||||
#define Y8_GPIO_NUM 17 ///< SCCB: Y8 pin
|
||||
#define Y9_GPIO_NUM 16 ///< SCCB: Y9 pin
|
||||
#define VSYNC_GPIO_NUM 6 ///< Vertical sync pin
|
||||
#define HREF_GPIO_NUM 7 ///< Line sync pin
|
||||
#define PCLK_GPIO_NUM 13 ///< Pixel clock pin
|
||||
#define XCLK_GPIO_NUM 15 ///< External clock pin
|
||||
|
||||
/* ------------------ MCU CFG ------------------*/
|
||||
#define BOARD_NAME F("ESP32-S3 WROOM Freenove") ///< Board name
|
||||
#define ENABLE_BROWN_OUT_DETECTION false ///< Enable brown out detection
|
||||
#define ENABLE_PSRAM true ///< Enable PSRAM
|
||||
|
||||
/* --------------- OTA UPDATE CFG --------------*/
|
||||
#define OTA_UPDATE_FW_FILE PSTR("ESP32-S3-WROOM_FREENOVE.bin") ///< OTA update firmware file name
|
||||
#define FW_STATUS_LED_PIN 2 ///< GPIO pin for status FW update LED
|
||||
#define FW_STATUS_LED_LEVEL_ON LOW ///< GPIO pin level for status LED ON
|
||||
|
||||
/* --------------- FLASH LED CFG ---------------*/
|
||||
#define ENABLE_CAMERA_FLASH true ///< Enable camera flash function
|
||||
#define CAMERA_FLASH_DIGITAL_CTRL false ///< Enable camera flash digital control
|
||||
#define CAMERA_FLASH_PWM_CTRL false ///< Enable camera flash PWM control
|
||||
#define CAMERA_FLASH_NEOPIXEL true ///< Enable camera flash NeoPixel control
|
||||
#define FLASH_GPIO_NUM -1 ///< Flash control pin
|
||||
#define FLASH_NEOPIXEL_LED_PIN 48 ///< External flash control pin. RGB LED NeoPixel
|
||||
#define FLASH_OFF_STATUS 0 ///< PWM intensity LED for OFF. 0-2^FLASH_PWM_RESOLUTION = 0-255
|
||||
#define FLASH_ON_STATUS 205 ///< PWM intensity LED for ON. limitation to 80%. 2^FLASH_PWM_RESOLUTION * 0.8% = 204
|
||||
#define FLASH_PWM_FREQ 2000 ///< frequency of pwm [240MHz / (100 prescale * pwm cycles)] = frequency
|
||||
#define FLASH_PWM_CHANNEL 0 ///< channel 0
|
||||
#define FLASH_PWM_RESOLUTION 8 ///< range 1-20bit. 8bit = 0-255 range
|
||||
|
||||
/* --------------- SD CARD CFG ---------------*/
|
||||
#define ENABLE_SD_CARD true ///< Enable SD card function
|
||||
#define SD_PIN_CLK 39 ///< GPIO pin for SD card clock
|
||||
#define SD_PIN_CMD 38 ///< GPIO pin for SD card command
|
||||
#define SD_PIN_DATA0 40 ///< GPIO pin for SD card data 0
|
||||
|
||||
/* ---------- RESET CFG CONFIGURATION ----------*/
|
||||
#define CFG_RESET_PIN 21 ///< GPIO 12 is for reset CFG to default
|
||||
#define CFG_RESET_LED_PIN 2 ///< GPIO for indication of reset CFG
|
||||
#define CFG_RESET_LED_LEVEL_ON HIGH ///< GPIO pin level for status LED ON
|
||||
|
||||
/* -------------- STATUS LED CFG ----------------*/
|
||||
#define STATUS_LED_ENABLE false ///< enable/disable status LED
|
||||
#define STATUS_LED_GPIO_NUM 2 ///< GPIO pin for status LED
|
||||
#define STATUS_LED_OFF_PIN_LEVEL LOW ///< GPIO pin level for status LED ON
|
||||
|
||||
/* -------------- DHT SENSOR CFG ----------------*/
|
||||
#define DHT_SENSOR_ENABLE false ///< enable/disable DHT sensor
|
||||
#define DHT_SENSOR_PIN 47 ///< GPIO pin for DHT sensor
|
||||
|
||||
#endif // AI_THINKER_ESP32_CAM
|
||||
/* EOF */
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#include "mcu_cfg.h"
|
||||
|
||||
#if ((AI_THINKER_ESP32_CAM + ESP32_WROVER_DEV + CAMERA_MODEL_ESP32_S3_DEV_CAM + CAMERA_MODEL_ESP32_S3_EYE_2_2 + CAMERA_MODEL_XIAO_ESP32_S3_CAM + CAMERA_MODEL_ESP32_S3_CAM) != 1)
|
||||
#if ((AI_THINKER_ESP32_CAM + ESP32_WROVER_DEV + CAMERA_MODEL_ESP32_S3_DEV_CAM + CAMERA_MODEL_ESP32_S3_EYE_2_2 + CAMERA_MODEL_XIAO_ESP32_S3_CAM + CAMERA_MODEL_ESP32_S3_CAM + ESP32_S3_WROOM_FREENOVE) != 1)
|
||||
#error "Exactly one camera model must be defined as true."
|
||||
#endif
|
||||
|
||||
|
|
@ -36,6 +36,9 @@
|
|||
#elif (true == CAMERA_MODEL_ESP32_S3_CAM)
|
||||
#include "module_ESP32-S3-CAM.h"
|
||||
|
||||
#elif (true == ESP32_S3_WROOM_FREENOVE)
|
||||
#include "module_ESP32-S3_Wroom_Freenove.h"
|
||||
|
||||
#else
|
||||
#error "No module selected"
|
||||
|
||||
|
|
|
|||
30
fw_build.sh
30
fw_build.sh
|
|
@ -110,7 +110,7 @@ build_start=`date`
|
|||
echo "----------------------------------------------"
|
||||
echo "Building Ai Thinker board"
|
||||
mkdir -p ../build/esp32-cam
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define AI_THINKER_ESP32_CAM false/#define AI_THINKER_ESP32_CAM true/' mcu_cfg.h
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\|ESP32_S3_WROOM_FREENOVE\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define AI_THINKER_ESP32_CAM false/#define AI_THINKER_ESP32_CAM true/' mcu_cfg.h
|
||||
./arduino-cli compile -v -b esp32:esp32:esp32cam:CPUFreq=240,FlashFreq=80,FlashMode=dio,PartitionScheme=min_spiffs,DebugLevel=none,EraseFlash=none --output-dir ../build/esp32-cam
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed, exiting."
|
||||
|
|
@ -130,7 +130,7 @@ mv ../build/esp32-cam.zip ../build/output/
|
|||
echo "----------------------------------------------"
|
||||
echo "Building ESP32 Wrover Dev board"
|
||||
mkdir ../build/esp32-wrover-dev
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define ESP32_WROVER_DEV false/#define ESP32_WROVER_DEV true/' mcu_cfg.h
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\|ESP32_S3_WROOM_FREENOVE\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define ESP32_WROVER_DEV false/#define ESP32_WROVER_DEV true/' mcu_cfg.h
|
||||
./arduino-cli compile -v -b esp32:esp32:esp32wrover:FlashFreq=80,FlashMode=dio,PartitionScheme=min_spiffs,DebugLevel=none,EraseFlash=none --output-dir ../build/esp32-wrover-dev
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed, exiting."
|
||||
|
|
@ -150,7 +150,7 @@ mv ../build/esp32-wrover-dev.zip ../build/output/
|
|||
echo "----------------------------------------------"
|
||||
echo "Building ESP32-S3-EYE 2.2 board"
|
||||
mkdir ../build/esp32-s3-eye-22
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_ESP32_S3_EYE_2_2 false/#define CAMERA_MODEL_ESP32_S3_EYE_2_2 true/' mcu_cfg.h
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\|ESP32_S3_WROOM_FREENOVE\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_ESP32_S3_EYE_2_2 false/#define CAMERA_MODEL_ESP32_S3_EYE_2_2 true/' mcu_cfg.h
|
||||
./arduino-cli compile -v -b esp32:esp32:esp32s3:USBMode=hwcdc,CDCOnBoot=cdc,MSCOnBoot=default,DFUOnBoot=default,UploadMode=cdc,CPUFreq=240,FlashMode=dio,FlashSize=8M,PartitionScheme=min_spiffs,DebugLevel=none,PSRAM=opi,LoopCore=0,EventsCore=0,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default --output-dir ../build/esp32-s3-eye-22
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed, exiting."
|
||||
|
|
@ -170,7 +170,7 @@ mv ../build/esp32-s3-eye-22.zip ../build/output/
|
|||
echo "----------------------------------------------"
|
||||
echo "Building XIAO ESP32-S3 Sense"
|
||||
mkdir ../build/xiao-esp32-s3
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_XIAO_ESP32_S3_CAM false/#define CAMERA_MODEL_XIAO_ESP32_S3_CAM true/' mcu_cfg.h
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\|ESP32_S3_WROOM_FREENOVE\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_XIAO_ESP32_S3_CAM false/#define CAMERA_MODEL_XIAO_ESP32_S3_CAM true/' mcu_cfg.h
|
||||
./arduino-cli compile -v -b esp32:esp32:XIAO_ESP32S3:USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=160,FlashMode=qio,FlashSize=8M,PartitionScheme=default_8MB,DebugLevel=none,PSRAM=opi,LoopCore=1,EventsCore=1,EraseFlash=none,JTAGAdapter=default --output-dir ../build/xiao-esp32-s3
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed, exiting."
|
||||
|
|
@ -190,7 +190,7 @@ mv ../build/xiao-esp32-s3.zip ../build/output/
|
|||
echo "----------------------------------------------"
|
||||
echo "Building ESP32-S3-CAM"
|
||||
mkdir ../build/esp32-s3-cam
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_ESP32_S3_CAM false/#define CAMERA_MODEL_ESP32_S3_CAM true/' mcu_cfg.h
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\|ESP32_S3_WROOM_FREENOVE\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define CAMERA_MODEL_ESP32_S3_CAM false/#define CAMERA_MODEL_ESP32_S3_CAM true/' mcu_cfg.h
|
||||
./arduino-cli compile -v -b esp32:esp32:esp32s3:USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=dio,FlashSize=16M,PartitionScheme=min_spiffs,DebugLevel=none,PSRAM=opi,LoopCore=0,EventsCore=0,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default --output-dir ../build/esp32-s3-cam
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed, exiting."
|
||||
|
|
@ -205,6 +205,26 @@ cp ../build/esp32-s3-cam/ESP32_PrusaConnectCam.ino.bin ../build/output/esp32-s3-
|
|||
cd ../build/esp32-s3-cam && zip -r ../esp32-s3-cam.zip . && cd -
|
||||
mv ../build/esp32-s3-cam.zip ../build/output/
|
||||
|
||||
# ----------------- ESP32-S3 WROOM FREENOVE -----------------
|
||||
# build ESP32-S3 WROOM FREENOVE
|
||||
echo "----------------------------------------------"
|
||||
echo "Building ESP32-S3 WROOM FREENOVE board"
|
||||
mkdir ../build/esp32-s3-wroom-freenove
|
||||
sed -i 's/#define \(AI_THINKER_ESP32_CAM\|ESP32_WROVER_DEV\|CAMERA_MODEL_ESP32_S3_DEV_CAM\|CAMERA_MODEL_ESP32_S3_EYE_2_2\|CAMERA_MODEL_XIAO_ESP32_S3_CAM\|CAMERA_MODEL_ESP32_S3_CAM\|ESP32_S3_WROOM_FREENOVE\) .*/#define \1 false/' mcu_cfg.h && sed -i 's/#define ESP32_S3_WROOM_FREENOVE false/#define ESP32_S3_WROOM_FREENOVE true/' mcu_cfg.h
|
||||
./arduino-cli compile -v -b esp32:esp32:esp32s3:USBMode=hwcdc,CDCOnBoot=default,MSCOnBoot=default,DFUOnBoot=default,UploadMode=default,CPUFreq=240,FlashMode=qio,FlashSize=8M,PartitionScheme=min_spiffs,DebugLevel=none,PSRAM=opi,LoopCore=0,EventsCore=0,EraseFlash=none,JTAGAdapter=default,ZigbeeMode=default --output-dir ../build/esp32-s3-wroom-freenove
|
||||
if [ $? -ne 0 ]; then
|
||||
echo "Build failed, exiting."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
rm -f ../build/esp32-s3-wroom-freenove/ESP32_PrusaConnectCam.ino.elf
|
||||
rm -f ../build/esp32-s3-wroom-freenove/ESP32_PrusaConnectCam.ino.map
|
||||
rm -f ../build/esp32-s3-wroom-freenove/ESP32_PrusaConnectCam.ino.merged.bin
|
||||
cp ../build/esp32-s3-wroom-freenove/ESP32_PrusaConnectCam.ino.bin ../build/output/ESP32-S3-WROOM_FREENOVE.bin
|
||||
|
||||
cd ../build/esp32-s3-wroom-freenove && zip -r ../esp32-s3-wroom-freenove.zip . && cd -
|
||||
mv ../build/esp32-s3-wroom-freenove.zip ../build/output/
|
||||
|
||||
# --------------------------------------------------------
|
||||
# Print build completion message
|
||||
echo "----------------------------------------------"
|
||||
|
|
|
|||
Loading…
Reference in New Issue