├── .github └── workflows │ └── main.yml ├── .gitignore ├── README.md ├── assets ├── Configuration.png ├── ESP32CAM-to-FTDI.png ├── boards │ ├── ai-thinker-esp32-cam-ipex.jpg │ ├── ai-thinker-esp32-cam-mb.jpg │ ├── ai-thinker-esp32-cam.jpg │ ├── ai_thinker_esp32-cam.jpg │ ├── datasheets │ │ └── ov2640_ds_1.8_.pdf │ ├── esp-lyrap-cam-v1.0-3d.png │ ├── esp32-wrover-cam.jpg │ ├── espressif-esp-eye.jpg │ ├── espressif-esps3-eye.jpg │ ├── lilygo-camera-module.jpg │ ├── lilygo-simcam.jpg │ ├── lilygo-ttgo-t-camera.jpg │ ├── m5stack-esp32-camera.jpg │ ├── m5stack_Unitcams3.webp │ ├── m5stack_Unitcams32.webp │ ├── m5stack_Unitcams33webp.webp │ ├── m5stack_esp32cam_02.webp │ ├── m5stack_unit_cam_02.webp │ ├── m5stack_unit_cam_03.webp │ ├── schematics │ │ ├── ESP-LyraP-CAM_V1.1_SCH_20200511A.pdf │ │ ├── UnitCamS3.png │ │ ├── XIAO_ESP32S3_ExpBoard_v1.0_SCH.pdf │ │ ├── ai_thinker_esp32cam.pdf │ │ └── m5stack_unit_cam_sch_01.webp │ └── seeed-studio-xiao-esp32s3-sense.jpg └── index.png ├── boards ├── esp32cam_ai_thinker.json ├── esp32cam_espressif_esp32s2_cam_board.json ├── esp32cam_espressif_esp32s2_cam_header.json ├── esp32cam_espressif_esp32s3_cam_lcd.json ├── esp32cam_espressif_esp32s3_eye.json ├── esp32cam_espressif_esp_eye.json ├── esp32cam_freenove_s3_wroom_n8r8.json ├── esp32cam_freenove_wrover_kit.json ├── esp32cam_m5stack_atoms3r.json ├── esp32cam_m5stack_camera.json ├── esp32cam_m5stack_camera_psram.json ├── esp32cam_m5stack_esp32cam.json ├── esp32cam_m5stack_unitcam.json ├── esp32cam_m5stack_unitcams3.json ├── esp32cam_m5stack_wide.json ├── esp32cam_seeed_xiao_esp32s3_sense.json ├── esp32cam_ttgo_t_camera.json └── esp32cam_ttgo_t_journal.json ├── generate_html.ps1 ├── generate_html.sh ├── html ├── index.html └── index.min.html ├── include ├── README ├── format_duration.h ├── format_number.h ├── lookup_camera_effect.h ├── lookup_camera_frame_size.h ├── lookup_camera_gainceiling.h ├── lookup_camera_wb_mode.h └── settings.h ├── lib ├── README └── rtsp_server │ ├── library.json │ ├── rtsp_server.cpp │ └── rtsp_server.h ├── minify.py ├── platformio.ini ├── src └── main.cpp └── test └── README /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Platform IO CI 2 | on: [push] 3 | jobs: 4 | build: 5 | name: Build 6 | runs-on: ubuntu-latest 7 | steps: 8 | - uses: actions/checkout@v4 9 | with: 10 | submodules: 'true' 11 | - uses: actions/cache@v4 12 | with: 13 | path: | 14 | ~/.cache/pip 15 | ~/.platformio/.cache 16 | key: ${{ runner.os }}-pio 17 | - name: Set up Python 18 | uses: actions/setup-python@v5 19 | with: 20 | python-version: '3.9' 21 | - name: Install PlatformIO 22 | run: python -m pip install platformio 23 | - name: Build firmware 24 | run: platformio run 25 | - name: Archive 26 | uses: actions/upload-artifact@v4 27 | with: 28 | name: firmwares.zip 29 | path: .pio/build/*/firmware.bin 30 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .*/* 2 | .*.* 3 | __pycache__/ 4 | *.log 5 | .DS_Store 6 | workspace.code-workspace -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ESP32CAM-RTSP 2 | 3 | [](https://github.com/rzeldent/esp32cam-rtsp/actions/workflows/main.yml) 4 | 5 | Simple [RTSP](https://en.wikipedia.org/wiki/Real_Time_Streaming_Protocol), [HTTP JPEG Streamer](https://en.wikipedia.org/wiki/Motion_JPEG) and image server with configuration through the web interface. 6 | 7 | > [!IMPORTANT] 8 | > New branch available! Here [branch: develop](https://github.com/rzeldent/esp32cam-rtsp/tree/develop) 9 | > This branch supports all the current devices and the Seeed Studio Xiao esp32s3! 10 | > Please use this and let me know if this works for you! 11 | 12 | Flashing this software on a ESP32CAM module will make it a **RTSP streaming camera** server, a **HTTP Motion JPEG streamer** and a **HTTP image server**. 13 | 14 | Supported protocols 15 | 16 | - RTSP 17 | The RTSP protocol is an industry standard and allows many CCTV systems and applications (like for example [VLC](https://www.videolan.org/vlc/)) to connect directly to the ESP32CAM camera stream. 18 | It is also possible to stream directly to a server using [ffmpeg](https://ffmpeg.org). 19 | This makes the module a camera server allowing recording and the stream can be stored on a disk and replayed later. 20 | The URL is rtsp://<ip address>:554/mjpeg/1 21 | 22 | - HTTP Motion JPEG 23 | The HTTP JPEG streamer makes it possible to watch the camera stream directly in your browser. 24 | The URL is http://<ip address>/stream 25 | 26 | - HTTP image 27 | The HTTP Image returns an HTTP JPEG image of the camera. 28 | The URL is http://<ip address>/snapshot 29 | 30 | This software supports the following ESP32-CAM (and alike) modules: 31 | 32 | - AI THINKER 33 | - EspressIf ESP-EYE 34 | - EspressIf ESP32S2-CAM 35 | - EspressIf ESP32S3-CAM-LCD 36 | - EspressIf ESP32S3-EYE 37 | - Freenove WROVER KIT 38 | - M5STACK ESP32CAM 39 | - M5STACK_PSRAM 40 | - M5STACK_UNITCAM 41 | - M5STACK_UNITCAMS3 42 | - M5STACK_V2_PSRAM 43 | - M5STACK_PSRAM 44 | - M5STACK_WIDE 45 | - M5STACK 46 | - Seeed Studio XIAO ESP32S3 SENSE 47 | - TTGO T-CAMERA 48 | - TTGO T-JOURNAL 49 | 50 | The software provides a **configuration web server**, that can be used to: 51 | 52 | - Provide information about the state of the device, wifi connection and camera, 53 | - Set the WiFi parameters, 54 | - Set the timeout for connecting to the access point, 55 | - Set an access password, 56 | - Select the image size, 57 | - Select the frame rate, 58 | - Select the JPEG quality 59 | - Enable the use of the PSRAM 60 | - Set the number of frame buffers 61 | - Configure the camera options: 62 | - Brightness 63 | - Contrast 64 | - Saturation 65 | - Special effect (Normal, Negative, Gray-scale, Red/Green/Blue tint, Sepia) 66 | - White balance 67 | - Automatic White Balance gain 68 | - Wite Balance mode 69 | - Exposure control 70 | - Auto Exposure (dsp) 71 | - Auto Exposure level 72 | - Manual exposure value 73 | - Gain control 74 | - Manual gain control 75 | - Auto gain ceiling 76 | - Black pixel correction 77 | - White pixel correction 78 | - Gamma correction 79 | - Lens correction 80 | - Horizontal mirror 81 | - Vertical flip 82 | - Downside enable 83 | - Color bar 84 | 85 | The software provides contains also a mDNS server to be easily discoverable on the local network. 86 | It advertises HTTP (port 80) and RTSP (port 554) 87 | 88 | ## Required 89 | 90 | - ESP32-CAM module or similar, 91 | - USB to Serial (TTL level) converter, piggyback board ESP32-CAM-MB or other way to connect to the device, 92 | - [**PlatformIO**](https://platformio.org/) software (free download) 93 | 94 | ## Boards 95 | 96 | There are a lot of boards available that are all called ESP32-CAM. 97 | However, there are differences in CPU (type/speed/cores), how the camera is connected, presence of PSRAM or not... 98 | To select the right board use the table below and use the configuration that is listed below for your board: 99 | 100 | | Board | Image | CPU | SRAM | Flash | PSRAM | Camera | | Site | 101 | |--- |--- |--- |--- |--- | --- |--- |--- |--- | 102 | | Espressif ESP32-Wrover CAM |  | ESP32 | 520KB | 4Mb | 4MB | OV2640 | | | 103 | | AI-Thinker ESP32-CAM |   | ESP32 | 520KB | 4Mb | 4MB | OV2640 | | [https://docs.ai-thinker.com/esp32-cam](https://docs.ai-thinker.com/esp32-cam) | 104 | | Espressif ESP-EYE |  | ESP32 | 520KB | 4Mb | 4MB | OV2640 | | | 105 | | Espressif ESP-S3-EYE |  | ESP32-S3 | 520KB | 4Mb | 4MB | OV2640 | | [https://www.espressif.com/en/products/devkits/esp-eye/overview](https://www.espressif.com/en/products/devkits/esp-eye/overview) | 106 | | LilyGo camera module |  | ESP32 Wrover | 520KB | 4Mb | 4MB | OV2640 / OV5640 | | | 107 | | LilyGo Simcam |  | | | | | OV2640 | | | 108 | | LilyGo TTGO-T Camera |  | | | | | OV2640 | | | 109 | | M5Stack ESP32CAM |  | ESP32 | 520Kb | 4Mb | - | OV2640 | Microphone | [https://docs.m5stack.com/en/unit/esp32cam](https://docs.m5stack.com/en/unit/esp32cam) | 110 | | M5Stack UnitCam |   | ESP32-WROOM-32E | 520KB | 4Mb | - | OV2640 | | [https://docs.m5stack.com/en/unit/unit_cam](https://docs.m5stack.com/en/unit/unit_cam) | 111 | | M5Stack Camera |  | ESP32 | 520Kb | 4Mb | - | OV2640 | | [https://docs.m5stack.com/en/unit/m5camera](https://docs.m5stack.com/en/unit/m5camera) | 112 | | M5Stack Camera PSRAM |  | ESP32 | 520Kb | 4Mb | 4Mb | OV2640 | | [https://docs.m5stack.com/en/unit/m5camera](https://docs.m5stack.com/en/unit/m5camera) | 113 | | M5Stack UnitCamS3 |   | ESP32-S3-WROOM-1-N16R8 | 520Kb | 16Mb | 8Mb | OV2640 | | [https://docs.m5stack.com/en/unit/Unit-CamS3](https://docs.m5stack.com/en/unit/Unit-CamS3) | 114 | | Seeed studio Xiao ESP32S3 Sense |  | ESP32-S3R8 | 520KB | 8Mb | 8MB | OV2640 | Microphone | [https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html](https://www.seeedstudio.com/XIAO-ESP32S3-Sense-p-5639.html) | 115 | 116 | ## Installing and running PlatformIO 117 | 118 | PlatformIO is available for all major operating systems: Windows, Linux and MacOS. It is also provided as a plugin to [Visual Studio Code](https://visualstudio.microsoft.com). 119 | More information can be found at: [https://docs.platformio.org/en/latest/installation.html](https://docs.platformio.org/en/latest/installation.html) below the basics. 120 | 121 | Install [Visual Studio Code](https://code.visualstudio.com) and install the PlatformIO plugin. 122 | 123 | ## Putting the ESP32-CAM in download mode 124 | 125 | ### ESP32-CAM-MB 126 | 127 | When using the ESP32-CAM-MB board, press and hold the GP0 button on the ESP32-CAM-MB board. 128 | Then press short the reset button (on the inside) on the ESP32-CAM board and release the GP0 button. 129 | This will put the ESP32-CAM board in download mode. 130 | 131 | ### FTDI adapter 132 | 133 | When using an FTDI adapter, make sure the adapter is set to 3.3 volt before connecting. Use the wiring schema below. 134 | 135 |  136 | 137 | After programming remove the wire to tge GPIO0 pin to exit the download mode. 138 | 139 | ## Compiling and deploying the software 140 | 141 | Open a command line or terminal window and clone this repository from GitHub. 142 | 143 | ```sh 144 | git clone https://github.com/rzeldent/esp32cam-rtsp.git 145 | ``` 146 | 147 | go into the folder 148 | 149 | ```sh 150 | cd esp32cam-rtsp 151 | ``` 152 | 153 | Next, the firmware has to be build and deployed to the ESP32. 154 | There are two flavours to do this; using the command line or the graphical interface of Visual Studio Code. 155 | 156 | ### Using the command line 157 | 158 | Make sure you have the latest version of the Espressif toolchain. 159 | 160 | ```sh 161 | pio pkg update -g -p espressif32 162 | ``` 163 | 164 | First the source code has to be compiled to build all targets 165 | 166 | ```sh 167 | pio run 168 | ``` 169 | 170 | if only a specific target is required, for example the ```esp32cam_ttgo_t_journal``` type: 171 | 172 | ```sh 173 | pio run -e esp32cam_ttgo_t_journal 174 | ``` 175 | 176 | When finished, firmware has to be uploaded. 177 | Make sure the ESP32-CAM is in download mode (see previous section) and type: 178 | 179 | ```sh 180 | pio run -t upload 181 | ``` 182 | 183 | or, again, for a specific target, for example ```esp32cam_ai_thinker``` 184 | 185 | ```sh 186 | pio run -t upload -e esp32cam_ai_thinker 187 | ``` 188 | 189 | When done remove the jumper when using a FTDI adapter or press the reset button on the ESP32-CAM. 190 | To monitor the output, start a terminal using: 191 | 192 | ```sh 193 | pio device monitor 194 | ``` 195 | 196 | ### Using Visual studio 197 | 198 | Open the project in a new window. Run the following tasks using the ```Terminal -> Run Task``` or CTRL+ALT+T command in the menu (or use the icons below on the toolbar). Make sure the ESP32-CAM is in download mode during the uploads. 199 | 200 | - PlatformIO: Build (esp32cam) 201 | - PlatformIO: Upload (esp32cam) 202 | 203 | To monitor the behavior run the task, run: ```PlatformIO: Monitor (esp32cam)``` 204 | 205 | ## Setting up the ESP32CAM-RTSP 206 | 207 | After the programming of the ESP32, there is no configuration present. This needs to be added. 208 | To connect initially to the device open the WiFi connections and select the WiFi network / access point called **ESP32CAM-RTSP**. 209 | Initially there is no password present. 210 | 211 | After connecting, the browser should automatically open the status page. 212 | In case this does not happens automatically, connect to [http://192.168.4.1](http://192.168.4.1). 213 | This page will display the current settings and status. On the bottom, there is a link to the config. Click on this link. 214 | 215 | This link brings up the configuration screen when connecting fot the first time. 216 | 217 |  218 | 219 | Configure at least: 220 | 221 | - The access point to connect to. No dropdown is present to show available networks! 222 | - A password for accessing the Access point (AP) when starting. (required) 223 | - Type of the ESP32-CAM board 224 | 225 | When finished press ```Apply``` to save the configuration. The screen will redirect to the status screen. 226 | Here it is possible to reboot the device so the settings take effect. 227 | It is also possible to restart manually by pressing the reset button. 228 | 229 | ## Connecting to the configuration 230 | 231 | After the initial configuration and the device is connected to an access point, the device can be configured over http. 232 | 233 | When a connection is made to [http://esp32cam-rtsp](http://esp32cam-rtsp) the status screen is shown. 234 | 235 |  236 | 237 | In case changes have been made to the configuration, this is shown and the possibility to restart is given. 238 | 239 | Clicking on the ```change configuration``` button will open the configuration. It is possible that a password dialog is shown before entering. 240 | If this happens, for the user enter 'admin' and for the password the value that has been configured as the Access Point password. 241 | 242 | ## Connecting to the RTSP stream 243 | 244 | RTSP stream is available at: [rtsp://esp32cam-rtsp.local:554/mjpeg/1](rtsp://esp32cam-rtsp.local:554/mjpeg/1). 245 | This link can be opened with for example [VLC](https://www.videolan.org/vlc/). 246 | 247 | ## Connecting to the JPEG motion server 248 | 249 | The JPEG motion server server is available using a normal web browser at: [http://esp32cam-rtsp.local:/stream](http://esp32cam-rtsp.local/stream). 250 | 251 | ## Connecting to the image server 252 | 253 | The image server server is available using a normal web browser at: [http://esp32cam-rtsp.local:/snapshot](http://esp32cam-rtsp.local/snapshot). 254 | 255 | :bangbang: **Please be aware that there is no password present!**. 256 | Everybody with network access to the device can see the streams or images! Beware of :trollface:! 257 | 258 | ## API 259 | 260 | There is a minimum API present to perform some tasks using HTTP requests. For some requests authentication is required. 261 | The authentication used is basic authentication. The user is always admin and the password the access point key.\ 262 | If using a browser, remember that the authentication is stored in the browser session so needs to be entered only once. 263 | 264 | The URLs are below: 265 | 266 | ### GET: /restart 267 | 268 | Calling this URL will restart the device. Authentication is required. 269 | 270 | ### GET: /config 271 | 272 | Calling this URL will start the form for configuring the device in the browser. Authentication is required. 273 | 274 | ### GET: /snapshot 275 | 276 | Calling this URL will return a JPEG snapshot of the camera in the browser. 277 | This request can also be used (for example using cURL) to save the snapshot to a file. 278 | 279 | ## Issues / Nice to know 280 | 281 | - The red LED on the back of the device indicates the device is not connected. 282 | - Sometimes after configuration a reboot is required. 283 | If the error screen is shown that it is unable to make a connection, first try to reboot the device, 284 | - When booting, the device waits 30 seconds for a connection (configurable). 285 | You can make a connection to the SSID and log in using the credentials below, 286 | - When connected, go to the ip of the device and, when prompted for the credentials, enter 'admin' and the AP password. 287 | This is a **required** field before saving the credentials, 288 | - When the password is lost, a fix is to completely erase the ESP32 using the ```pio run -t erase``` command. 289 | This will reset the device including configuration. 290 | If using the esptool, you can do this using ```esptool.py --chip esp32 --port /dev/ttyUSB0 erase_flash```. 291 | However, after erasing, re-flashing of the firmware is required. 292 | - When finished configuring for the first time and the access point is entered, disconnect from the wireless network provided by the device. 293 | This should reset the device and connect to the access point. 294 | Resetting is also a good alternative... 295 | - There are modules that have no or faulty PSRAM (despite advertised as such). 296 | This can be the case if the camera fails to initialize. 297 | It might help to disable the use of the PSRAM and reduce the buffers and the screen size. 298 | 299 | ### Power 300 | 301 | Make sure the power is 5 volts and stable, although the ESP32 is a 3.3V module, this voltage is created on the board. 302 | If not stable, it has been reported that restarts occur when starting up (probably when power is required for WiFi). 303 | The software disables the brown out protection so there is some margin in the voltage. 304 | Some people suggest to add a capacitor over the 5V input to stabilize the voltage. 305 | 306 | ### PSRAM / Buffers / JPEG quality 307 | 308 | Some esp32cam modules have additional ram on the board. This allows to use this ram as frame buffer. 309 | The availability of PSRAM can be seen in the HTML status overview. 310 | 311 | Not all the boards are equipped with PSRAM: 312 | 313 | | Board | PSRAM | 314 | |--- |--- | 315 | | WROVER_KIT | 8Mb | 316 | | ESP_EYE | 8Mb | 317 | | ESP32S3_EYE | 8Mb | 318 | | M5STACK_PSRAM | 8Mb | 319 | | M5STACK_V2_PSRAM | Version B only | 320 | | M5STACK_WIDE | 8Mb | 321 | | M5STACK_ESP32CAM | No | 322 | | M5STACK_UNITCAM | No | 323 | | M5STACK_UNITCAMS3 | 8Mb | 324 | | AI_THINKER | 8Mb | 325 | | TTGO_T_JOURNAL | No | 326 | | ESP32_CAM_BOARD | ? | 327 | | ESP32S2_CAM_BOARD | ? | 328 | | ESP32S3_CAM_LCD | ? | 329 | 330 | Depending on the image resolution, framerate and quality, the PSRAM must be enabled and/or the number of frame buffers increased to keep up with the data generated by the sensor. 331 | There are (a lot of?) boards around with faulty PSRAM. If the camera fails to initialize, this might be a reason. See on [Reddit](https://www.reddit.com/r/esp32/comments/z2hyns/i_have_a_faulty_psram_on_my_esp32cam_what_should/). 332 | In this case disable the use of PSRAM in the configuration and do not use camera modes that require PSRAM, 333 | 334 | For the setting JPEG quality, a lower number means higher quality. 335 | Be aware that a very high quality (low number) can cause the ESP32 cam to crash or return no image. 336 | 337 | The default settings are: 338 | 339 | - No PSRAM 340 | - SVGA (800x600) 341 | - 1 frame buffer 342 | - JPEG quality 12 343 | 344 | - With PSRAM 345 | - UXGA (1600x1200) 346 | - 2 frame buffers 347 | - JPEG quality 10 348 | 349 | ### Camera module 350 | 351 | Be careful when connecting the camera module. 352 | Make sure it is connected the right way around (Camera pointing away from the board) and the ribbon cable inserted to the end before locking it. 353 | 354 | ## Credits 355 | 356 | esp32cam-rtsp depends on PlatformIO, Bootstrap 5 and Micro-RTSP by Kevin Hester. 357 | 358 | ## Change history 359 | 360 | - January 2024 361 | - Moved settings to board definitions 362 | - Added new boards 363 | - Removed OTA to increase performance 364 | - Oktober 2023 365 | - Added support for Seeed Xiao esp32s3 366 | - New build system 367 | - Updated documentation 368 | - March 2023 369 | - Added options to set PSRAM / Frame buffers 370 | - Added JPEG Motion streaming 371 | - Feb 2023 372 | - Added additional settings for camera configuration 373 | - Nov 2022 374 | - Added OTA 375 | - Fix for grabbing frame 376 | - Fixed bug: Increased WiFi password length 377 | - Sep 2022 378 | - Added GUI with bootstrap 379 | - More information in web page 380 | - Added camera preview in HTML 381 | - Jul 2022 382 | - Initial version 383 | -------------------------------------------------------------------------------- /assets/Configuration.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/Configuration.png -------------------------------------------------------------------------------- /assets/ESP32CAM-to-FTDI.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/ESP32CAM-to-FTDI.png -------------------------------------------------------------------------------- /assets/boards/ai-thinker-esp32-cam-ipex.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/ai-thinker-esp32-cam-ipex.jpg -------------------------------------------------------------------------------- /assets/boards/ai-thinker-esp32-cam-mb.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/ai-thinker-esp32-cam-mb.jpg -------------------------------------------------------------------------------- /assets/boards/ai-thinker-esp32-cam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/ai-thinker-esp32-cam.jpg -------------------------------------------------------------------------------- /assets/boards/ai_thinker_esp32-cam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/ai_thinker_esp32-cam.jpg -------------------------------------------------------------------------------- /assets/boards/datasheets/ov2640_ds_1.8_.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/datasheets/ov2640_ds_1.8_.pdf -------------------------------------------------------------------------------- /assets/boards/esp-lyrap-cam-v1.0-3d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/esp-lyrap-cam-v1.0-3d.png -------------------------------------------------------------------------------- /assets/boards/esp32-wrover-cam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/esp32-wrover-cam.jpg -------------------------------------------------------------------------------- /assets/boards/espressif-esp-eye.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/espressif-esp-eye.jpg -------------------------------------------------------------------------------- /assets/boards/espressif-esps3-eye.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/espressif-esps3-eye.jpg -------------------------------------------------------------------------------- /assets/boards/lilygo-camera-module.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/lilygo-camera-module.jpg -------------------------------------------------------------------------------- /assets/boards/lilygo-simcam.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/lilygo-simcam.jpg -------------------------------------------------------------------------------- /assets/boards/lilygo-ttgo-t-camera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/lilygo-ttgo-t-camera.jpg -------------------------------------------------------------------------------- /assets/boards/m5stack-esp32-camera.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/m5stack-esp32-camera.jpg -------------------------------------------------------------------------------- /assets/boards/m5stack_Unitcams3.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/m5stack_Unitcams3.webp -------------------------------------------------------------------------------- /assets/boards/m5stack_Unitcams32.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/m5stack_Unitcams32.webp -------------------------------------------------------------------------------- /assets/boards/m5stack_Unitcams33webp.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/m5stack_Unitcams33webp.webp -------------------------------------------------------------------------------- /assets/boards/m5stack_esp32cam_02.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/m5stack_esp32cam_02.webp -------------------------------------------------------------------------------- /assets/boards/m5stack_unit_cam_02.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/m5stack_unit_cam_02.webp -------------------------------------------------------------------------------- /assets/boards/m5stack_unit_cam_03.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/m5stack_unit_cam_03.webp -------------------------------------------------------------------------------- /assets/boards/schematics/ESP-LyraP-CAM_V1.1_SCH_20200511A.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/schematics/ESP-LyraP-CAM_V1.1_SCH_20200511A.pdf -------------------------------------------------------------------------------- /assets/boards/schematics/UnitCamS3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/schematics/UnitCamS3.png -------------------------------------------------------------------------------- /assets/boards/schematics/XIAO_ESP32S3_ExpBoard_v1.0_SCH.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/schematics/XIAO_ESP32S3_ExpBoard_v1.0_SCH.pdf -------------------------------------------------------------------------------- /assets/boards/schematics/ai_thinker_esp32cam.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/schematics/ai_thinker_esp32cam.pdf -------------------------------------------------------------------------------- /assets/boards/schematics/m5stack_unit_cam_sch_01.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/schematics/m5stack_unit_cam_sch_01.webp -------------------------------------------------------------------------------- /assets/boards/seeed-studio-xiao-esp32s3-sense.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/boards/seeed-studio-xiao-esp32s3-sense.jpg -------------------------------------------------------------------------------- /assets/index.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rzeldent/esp32cam-rtsp/00635d03b73be82c0795266f299155fbf2386cef/assets/index.png -------------------------------------------------------------------------------- /boards/esp32cam_ai_thinker.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_AI_THINKER'", 10 | "'-D BOARD_HAS_PSRAM'", 11 | "'-mfix-esp32-psram-cache-issue'", 12 | "'-D USER_LED_GPIO=33'", 13 | "'-D USER_LED_ON_LEVEL=LOW'", 14 | "'-D CAMERA_CONFIG_PIN_PWDN=32'", 15 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 16 | "'-D CAMERA_CONFIG_PIN_XCLK=0'", 17 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=26'", 18 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=27'", 19 | "'-D CAMERA_CONFIG_PIN_Y9=35'", 20 | "'-D CAMERA_CONFIG_PIN_Y8=34'", 21 | "'-D CAMERA_CONFIG_PIN_Y7=39'", 22 | "'-D CAMERA_CONFIG_PIN_Y6=36'", 23 | "'-D CAMERA_CONFIG_PIN_Y5=21'", 24 | "'-D CAMERA_CONFIG_PIN_Y4=19'", 25 | "'-D CAMERA_CONFIG_PIN_Y3=18'", 26 | "'-D CAMERA_CONFIG_PIN_Y2=5'", 27 | "'-D CAMERA_CONFIG_PIN_VSYNC=25'", 28 | "'-D CAMERA_CONFIG_PIN_HREF=23'", 29 | "'-D CAMERA_CONFIG_PIN_PCLK=22'", 30 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 31 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 32 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 33 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 34 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 35 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 36 | ], 37 | "f_cpu": "240000000L", 38 | "f_flash": "40000000L", 39 | "flash_mode": "dio", 40 | "mcu": "esp32", 41 | "variant": "esp32" 42 | }, 43 | "connectivity": [ 44 | "wifi", 45 | "bluetooth", 46 | "ethernet", 47 | "can" 48 | ], 49 | "debug": { 50 | "openocd_board": "esp-wroom-32.cfg" 51 | }, 52 | "frameworks": [ 53 | "arduino", 54 | "espidf" 55 | ], 56 | "name": "ESP32CAM AI Thinker", 57 | "upload": { 58 | "flash_size": "4MB", 59 | "maximum_ram_size": 327680, 60 | "maximum_size": 4194304, 61 | "require_upload_port": true, 62 | "speed": 460800 63 | }, 64 | "url": "https://docs.ai-thinker.com/esp32-cam", 65 | "vendor": "Anxinke" 66 | } 67 | -------------------------------------------------------------------------------- /boards/esp32cam_espressif_esp32s2_cam_board.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s2_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": [ 8 | "'-D ESP32CAM_ESPRESSIF_ESP32S2_CAM_BOARD'", 9 | "'-D BOARD_HAS_PSRAM'", 10 | "'-D ARDUINO_USB_MODE=0'", 11 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 12 | "'-D ARDUINO_RUNNING_CORE=1'", 13 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 14 | "'-D CAMERA_CONFIG_PIN_PWDN=1'", 15 | "'-D CAMERA_CONFIG_PIN_RESET=2'", 16 | "'-D CAMERA_CONFIG_PIN_XCLK=42'", 17 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=41'", 18 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=18'", 19 | "'-D CAMERA_CONFIG_PIN_Y9=16'", 20 | "'-D CAMERA_CONFIG_PIN_Y8=39'", 21 | "'-D CAMERA_CONFIG_PIN_Y7=40'", 22 | "'-D CAMERA_CONFIG_PIN_Y6=15'", 23 | "'-D CAMERA_CONFIG_PIN_Y5=12'", 24 | "'-D CAMERA_CONFIG_PIN_Y4=5'", 25 | "'-D CAMERA_CONFIG_PIN_Y3=13'", 26 | "'-D CAMERA_CONFIG_PIN_Y2=14'", 27 | "'-D CAMERA_CONFIG_PIN_VSYNC=38'", 28 | "'-D CAMERA_CONFIG_PIN_HREF=4'", 29 | "'-D CAMERA_CONFIG_PIN_PCLK=3'", 30 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 31 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 32 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 33 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 34 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 35 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 36 | ], 37 | "f_cpu": "240000000L", 38 | "f_flash": "80000000L", 39 | "flash_mode": "qio", 40 | "mcu": "esp32s2", 41 | "variant": "esp32s2" 42 | }, 43 | "connectivity": [ 44 | "wifi" 45 | ], 46 | "debug": { 47 | "openocd_target": "esp32s2.cfg" 48 | }, 49 | "frameworks": [ 50 | "arduino", 51 | "espidf" 52 | ], 53 | "name": "Espressif ESP32-S2-Saola-1", 54 | "upload": { 55 | "flash_size": "4MB", 56 | "maximum_ram_size": 327680, 57 | "maximum_size": 4194304, 58 | "require_upload_port": true, 59 | "speed": 460800 60 | }, 61 | "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrap-cam-v1.1.html", 62 | "vendor": "Espressif" 63 | } -------------------------------------------------------------------------------- /boards/esp32cam_espressif_esp32s2_cam_header.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s2_out.ld" 5 | }, 6 | "core": "esp32", 7 | "extra_flags": [ 8 | "'-D ESP32CAM_ESPRESSIF_ESP32S2_CAM_BOARD'", 9 | "'-D BOARD_HAS_PSRAM'", 10 | "'-D ARDUINO_USB_MODE=0'", 11 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 12 | "'-D ARDUINO_RUNNING_CORE=1'", 13 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 14 | "'-D CAMERA_CONFIG_PIN_PWDN=1'", 15 | "'-D CAMERA_CONFIG_PIN_RESET=2'", 16 | "'-D CAMERA_CONFIG_PIN_XCLK=42'", 17 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=41'", 18 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=18'", 19 | "'-D CAMERA_CONFIG_PIN_Y9=16'", 20 | "'-D CAMERA_CONFIG_PIN_Y8=39'", 21 | "'-D CAMERA_CONFIG_PIN_Y7=40'", 22 | "'-D CAMERA_CONFIG_PIN_Y6=15'", 23 | "'-D CAMERA_CONFIG_PIN_Y5=13'", 24 | "'-D CAMERA_CONFIG_PIN_Y4=5'", 25 | "'-D CAMERA_CONFIG_PIN_Y3=12'", 26 | "'-D CAMERA_CONFIG_PIN_Y2=14'", 27 | "'-D CAMERA_CONFIG_PIN_VSYNC=38'", 28 | "'-D CAMERA_CONFIG_PIN_HREF=4'", 29 | "'-D CAMERA_CONFIG_PIN_PCLK=3'", 30 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 31 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 32 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 33 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 34 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 35 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 36 | ], 37 | "f_cpu": "240000000L", 38 | "f_flash": "80000000L", 39 | "flash_mode": "qio", 40 | "mcu": "esp32s2", 41 | "variant": "esp32s2" 42 | }, 43 | "connectivity": [ 44 | "wifi" 45 | ], 46 | "debug": { 47 | "openocd_target": "esp32s2.cfg" 48 | }, 49 | "frameworks": [ 50 | "arduino", 51 | "espidf" 52 | ], 53 | "name": "Espressif ESP32-S2-Saola-1", 54 | "upload": { 55 | "flash_size": "4MB", 56 | "maximum_ram_size": 327680, 57 | "maximum_size": 4194304, 58 | "require_upload_port": true, 59 | "speed": 460800 60 | }, 61 | "url": "https://docs.espressif.com/projects/esp-idf/en/latest/esp32s2/hw-reference/esp32s2/user-guide-esp-lyrap-cam-v1.1.html", 62 | "vendor": "Espressif" 63 | } -------------------------------------------------------------------------------- /boards/esp32cam_espressif_esp32s3_cam_lcd.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s3_out.ld", 5 | "partitions": "default_8MB.csv", 6 | "memory_type": "opi_opi" 7 | }, 8 | "core": "esp32", 9 | "extra_flags": [ 10 | "'-D ESP32CAM_ESP32S3_CAM_LCD'", 11 | "'-D BOARD_HAS_PSRAM'", 12 | "'-D ARDUINO_USB_MODE=1'", 13 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 14 | "'-D ARDUINO_RUNNING_CORE=1'", 15 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 16 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 17 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 18 | "'-D CAMERA_CONFIG_PIN_XCLK=40'", 19 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=17'", 20 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=18'", 21 | "'-D CAMERA_CONFIG_PIN_Y9=39'", 22 | "'-D CAMERA_CONFIG_PIN_Y8=41'", 23 | "'-D CAMERA_CONFIG_PIN_Y7=42'", 24 | "'-D CAMERA_CONFIG_PIN_Y6=12'", 25 | "'-D CAMERA_CONFIG_PIN_Y5=3'", 26 | "'-D CAMERA_CONFIG_PIN_Y4=14'", 27 | "'-D CAMERA_CONFIG_PIN_Y3=47'", 28 | "'-D CAMERA_CONFIG_PIN_Y2=13'", 29 | "'-D CAMERA_CONFIG_PIN_VSYNC=21'", 30 | "'-D CAMERA_CONFIG_PIN_HREF=38'", 31 | "'-D CAMERA_CONFIG_PIN_PCLK=11'", 32 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 33 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 34 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 35 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 36 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 37 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 38 | ], 39 | "f_cpu": "240000000L", 40 | "f_flash": "80000000L", 41 | "flash_mode": "dout", 42 | "hwids": [ 43 | [ 44 | "0X303A", 45 | "0x1001" 46 | ] 47 | ], 48 | "mcu": "esp32s3", 49 | "variant": "esp32s3camlcd" 50 | }, 51 | "connectivity": [ 52 | "bluetooth", 53 | "wifi" 54 | ], 55 | "debug": { 56 | "openocd_target": "esp32s3.cfg" 57 | }, 58 | "frameworks": [ 59 | "arduino", 60 | "espidf" 61 | ], 62 | "name": "ESP32S3-CAM LCD", 63 | "upload": { 64 | "flash_size": "8MB", 65 | "maximum_ram_size": 327680, 66 | "maximum_size": 8388608, 67 | "require_upload_port": true, 68 | "speed": 460800 69 | }, 70 | "url": "https://www.espressif.com/en/news/Maple_Eye_ESP32-S3", 71 | "vendor": "Espressif" 72 | } -------------------------------------------------------------------------------- /boards/esp32cam_espressif_esp32s3_eye.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s3_out.ld", 5 | "partitions": "default_8MB.csv", 6 | "memory_type": "qio_opi" 7 | }, 8 | "core": "esp32", 9 | "extra_flags": [ 10 | "'-D ESP32CAM_ESPRESSIF_ESP32S3_EYE'", 11 | "'-D BOARD_HAS_PSRAM'", 12 | "'-D ARDUINO_USB_MODE=1'", 13 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 14 | "'-D ARDUINO_RUNNING_CORE=1'", 15 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 16 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 17 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 18 | "'-D CAMERA_CONFIG_PIN_XCLK=15'", 19 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=4'", 20 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=5'", 21 | "'-D CAMERA_CONFIG_PIN_Y9=16'", 22 | "'-D CAMERA_CONFIG_PIN_Y8=17'", 23 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 24 | "'-D CAMERA_CONFIG_PIN_Y6=12'", 25 | "'-D CAMERA_CONFIG_PIN_Y5=10'", 26 | "'-D CAMERA_CONFIG_PIN_Y4=8'", 27 | "'-D CAMERA_CONFIG_PIN_Y3=9'", 28 | "'-D CAMERA_CONFIG_PIN_Y2=11'", 29 | "'-D CAMERA_CONFIG_PIN_VSYNC=6'", 30 | "'-D CAMERA_CONFIG_PIN_HREF=7'", 31 | "'-D CAMERA_CONFIG_PIN_PCLK=13'", 32 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 33 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 34 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 35 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 36 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 37 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 38 | ], 39 | "f_cpu": "240000000L", 40 | "f_flash": "80000000L", 41 | "flash_mode": "qio", 42 | "hwids": [ 43 | [ 44 | "0x2886", 45 | "0x0056" 46 | ], 47 | [ 48 | "0x2886", 49 | "0x8056" 50 | ] 51 | ], 52 | "mcu": "esp32s3", 53 | "variant": "esp32s3" 54 | }, 55 | "connectivity": [ 56 | "bluetooth", 57 | "wifi" 58 | ], 59 | "debug": { 60 | "openocd_target": "esp32s3.cfg" 61 | }, 62 | "frameworks": [ 63 | "arduino", 64 | "espidf" 65 | ], 66 | "name": "ESP32S3_EYE", 67 | "upload": { 68 | "flash_size": "8MB", 69 | "maximum_ram_size": 327680, 70 | "maximum_size": 8388608, 71 | "require_upload_port": true, 72 | "speed": 460800 73 | }, 74 | "url": "https://www.espressif.com/en/products/devkits/esp-eye/overview", 75 | "vendor": "Espressif" 76 | } -------------------------------------------------------------------------------- /boards/esp32cam_espressif_esp_eye.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_ESPRESSIF_ESP_EYE'", 10 | "'-D BOARD_HAS_PSRAM'", 11 | "'-mfix-esp32-psram-cache-issue'", 12 | "'-D USER_LED_GPIO=14'", 13 | "'-D USER_LED_ON_LEVEL=HIGH'", 14 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 15 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 16 | "'-D CAMERA_CONFIG_PIN_XCLK=11'", 17 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=17'", 18 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=41'", 19 | "'-D CAMERA_CONFIG_PIN_Y9=13'", 20 | "'-D CAMERA_CONFIG_PIN_Y8=4'", 21 | "'-D CAMERA_CONFIG_PIN_Y7=10'", 22 | "'-D CAMERA_CONFIG_PIN_Y6=5'", 23 | "'-D CAMERA_CONFIG_PIN_Y5=7'", 24 | "'-D CAMERA_CONFIG_PIN_Y4=16'", 25 | "'-D CAMERA_CONFIG_PIN_Y3=15'", 26 | "'-D CAMERA_CONFIG_PIN_Y2=6'", 27 | "'-D CAMERA_CONFIG_PIN_VSYNC=42'", 28 | "'-D CAMERA_CONFIG_PIN_HREF=18'", 29 | "'-D CAMERA_CONFIG_PIN_PCLK=12'", 30 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 31 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 32 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 33 | "'-D CAMERA_CONFIG_FB_COUNT=1'", 34 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 35 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 36 | ], 37 | "f_cpu": "240000000L", 38 | "f_flash": "40000000L", 39 | "flash_mode": "dio", 40 | "mcu": "esp32", 41 | "variant": "esp32" 42 | }, 43 | "connectivity": [ 44 | "wifi", 45 | "bluetooth", 46 | "ethernet", 47 | "can" 48 | ], 49 | "debug": { 50 | "openocd_board": "esp-wroom-32.cfg" 51 | }, 52 | "frameworks": [ 53 | "arduino", 54 | "espidf" 55 | ], 56 | "name": "ESP32-CAM AI Thinker", 57 | "upload": { 58 | "flash_size": "4MB", 59 | "maximum_ram_size": 327680, 60 | "maximum_size": 4194304, 61 | "require_upload_port": true, 62 | "speed": 460800 63 | }, 64 | "url": "https://www.espressif.com/en/products/devkits/esp-eye/overview", 65 | "vendor": "Espressif" 66 | } -------------------------------------------------------------------------------- /boards/esp32cam_freenove_s3_wroom_n8r8.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s3_out.ld", 5 | "partitions": "default_8MB.csv", 6 | "memory_type": "qio_opi" 7 | }, 8 | "core": "esp32", 9 | "extra_flags": [ 10 | "'-D ARDUINO_ESP32S3_DEV'", 11 | "'-D ARDUINO_USB_MODE=1'", 12 | "'-D BOARD_HAS_PSRAM'", 13 | "'-D ARDUINO_RUNNING_CORE=1'", 14 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 15 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 16 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 17 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 18 | "'-D CAMERA_CONFIG_PIN_XCLK=15'", 19 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=4'", 20 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=5'", 21 | "'-D CAMERA_CONFIG_PIN_Y9=16'", 22 | "'-D CAMERA_CONFIG_PIN_Y8=17'", 23 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 24 | "'-D CAMERA_CONFIG_PIN_Y6=12'", 25 | "'-D CAMERA_CONFIG_PIN_Y5=10'", 26 | "'-D CAMERA_CONFIG_PIN_Y4=8'", 27 | "'-D CAMERA_CONFIG_PIN_Y3=9'", 28 | "'-D CAMERA_CONFIG_PIN_Y2=11'", 29 | "'-D CAMERA_CONFIG_PIN_VSYNC=6'", 30 | "'-D CAMERA_CONFIG_PIN_HREF=7'", 31 | "'-D CAMERA_CONFIG_PIN_PCLK=13'", 32 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 33 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 34 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 35 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 36 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'" 37 | ], 38 | "f_cpu": "240000000L", 39 | "f_flash": "80000000L", 40 | "flash_mode": "dio", 41 | "hwids": [ 42 | [ 43 | "0x303A", 44 | "0x1001" 45 | ] 46 | ], 47 | "mcu": "esp32s3", 48 | "variant": "esp32s3" 49 | }, 50 | "connectivity": [ 51 | "wifi" 52 | ], 53 | "debug": { 54 | "openocd_target": "esp32s3.cfg" 55 | }, 56 | "frameworks": [ 57 | "arduino", 58 | "espidf" 59 | ], 60 | "name": "ESP32 FREENOVE S3 WROOM", 61 | "upload": { 62 | "flash_size": "4MB", 63 | "maximum_ram_size": 327680, 64 | "maximum_size": 4194304, 65 | "require_upload_port": true, 66 | "speed": 460800 67 | }, 68 | "url": "https://github.com/Freenove/Freenove_ESP32_S3_WROOM_Board", 69 | "vendor": "Freenove" 70 | } 71 | -------------------------------------------------------------------------------- /boards/esp32cam_freenove_wrover_kit.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_WROVER_KIT'", 10 | "'-D BOARD_HAS_PSRAM'", 11 | "'-mfix-esp32-psram-cache-issue'", 12 | "'-D USER_LED_GPIO=2'", 13 | "'-D USER_LED_ON_LEVEL=HIGH'", 14 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 15 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 16 | "'-D CAMERA_CONFIG_PIN_XCLK=21'", 17 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=26'", 18 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=27'", 19 | "'-D CAMERA_CONFIG_PIN_Y9=35'", 20 | "'-D CAMERA_CONFIG_PIN_Y8=34'", 21 | "'-D CAMERA_CONFIG_PIN_Y7=39'", 22 | "'-D CAMERA_CONFIG_PIN_Y6=36'", 23 | "'-D CAMERA_CONFIG_PIN_Y5=19'", 24 | "'-D CAMERA_CONFIG_PIN_Y4=18'", 25 | "'-D CAMERA_CONFIG_PIN_Y3=5'", 26 | "'-D CAMERA_CONFIG_PIN_Y2=4'", 27 | "'-D CAMERA_CONFIG_PIN_VSYNC=25'", 28 | "'-D CAMERA_CONFIG_PIN_HREF=23'", 29 | "'-D CAMERA_CONFIG_PIN_PCLK=22'", 30 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 31 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 32 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 33 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 34 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 35 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 36 | ], 37 | "f_cpu": "240000000L", 38 | "f_flash": "40000000L", 39 | "flash_mode": "dio", 40 | "mcu": "esp32", 41 | "variant": "esp32" 42 | }, 43 | "connectivity": [ 44 | "wifi", 45 | "bluetooth", 46 | "ethernet", 47 | "can" 48 | ], 49 | "debug": { 50 | "openocd_board": "esp-wroom-32.cfg" 51 | }, 52 | "frameworks": [ 53 | "arduino", 54 | "espidf" 55 | ], 56 | "name": "ESP32-CAM WROVER kit", 57 | "upload": { 58 | "flash_size": "4MB", 59 | "maximum_ram_size": 327680, 60 | "maximum_size": 4194304, 61 | "require_upload_port": true, 62 | "speed": 460800 63 | }, 64 | "url": "https://www.aliexpress.com/item/1005004960637276.html", 65 | "vendor": "Freenove" 66 | } -------------------------------------------------------------------------------- /boards/esp32cam_m5stack_atoms3r.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32s3_out.ld", 5 | "partitions": "default_8MB.csv", 6 | "memory_type": "qio_opi" 7 | }, 8 | "core": "esp32", 9 | "extra_flags": [ 10 | "'-D ESP32CAM_M5STACK_ATOMS3R'", 11 | "'-D BOARD_HAS_PSRAM'", 12 | "'-D ARDUINO_USB_MODE=1'", 13 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 14 | "'-D ARDUINO_RUNNING_CORE=1'", 15 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 16 | "'-D USER_LED_GPIO=GPIO_NUM_NC'", 17 | "'-D USER_LED_ON_LEVEL=GPIO_NUM_NC'", 18 | "'-D CAMERA_POWER_GPIO=18'", 19 | "'-D CAMERA_POWER_ON_LEVEL=LOW'", 20 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 21 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 22 | "'-D CAMERA_CONFIG_PIN_XCLK=21'", 23 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=12'", 24 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=9'", 25 | "'-D CAMERA_CONFIG_PIN_Y9=13'", 26 | "'-D CAMERA_CONFIG_PIN_Y8=11'", 27 | "'-D CAMERA_CONFIG_PIN_Y7=17'", 28 | "'-D CAMERA_CONFIG_PIN_Y6=4'", 29 | "'-D CAMERA_CONFIG_PIN_Y5=48'", 30 | "'-D CAMERA_CONFIG_PIN_Y4=46'", 31 | "'-D CAMERA_CONFIG_PIN_Y3=42'", 32 | "'-D CAMERA_CONFIG_PIN_Y2=3'", 33 | "'-D CAMERA_CONFIG_PIN_VSYNC=10'", 34 | "'-D CAMERA_CONFIG_PIN_HREF=14'", 35 | "'-D CAMERA_CONFIG_PIN_PCLK=40'", 36 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 37 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 38 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 39 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 40 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 41 | "'-D SCCB_I2C_PORT=I2C_NUM_0'", 42 | "'-D GROVE_SDA=2'", 43 | "'-D GROVE_SCL=1'" 44 | ], 45 | "f_cpu": "240000000L", 46 | "f_flash": "80000000L", 47 | "flash_mode": "qio", 48 | "hwids": [ 49 | [ 50 | "0x2886", 51 | "0x0056" 52 | ], 53 | [ 54 | "0x2886", 55 | "0x8056" 56 | ] 57 | ], 58 | "mcu": "esp32s3", 59 | "variant": "esp32s3" 60 | }, 61 | "connectivity": [ 62 | "bluetooth", 63 | "wifi" 64 | ], 65 | "debug": { 66 | "openocd_target": "esp32s3.cfg" 67 | }, 68 | "frameworks": [ 69 | "arduino", 70 | "espidf" 71 | ], 72 | "name": "M5STACK ATOMS3R", 73 | "upload": { 74 | "flash_size": "8MB", 75 | "maximum_ram_size": 327680, 76 | "maximum_size": 8388608, 77 | "require_upload_port": true, 78 | "speed": 460800 79 | }, 80 | "url": "https://docs.m5stack.com/en/unit/esp32cam", 81 | "vendor": "M5STACK" 82 | } 83 | -------------------------------------------------------------------------------- /boards/esp32cam_m5stack_camera.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_M5STACK'", 10 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 11 | "'-D CAMERA_CONFIG_PIN_RESET=15'", 12 | "'-D CAMERA_CONFIG_PIN_XCLK=27'", 13 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=25'", 14 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=23'", 15 | "'-D CAMERA_CONFIG_PIN_Y9=19'", 16 | "'-D CAMERA_CONFIG_PIN_Y8=36'", 17 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 18 | "'-D CAMERA_CONFIG_PIN_Y6=39'", 19 | "'-D CAMERA_CONFIG_PIN_Y5=5'", 20 | "'-D CAMERA_CONFIG_PIN_Y4=34'", 21 | "'-D CAMERA_CONFIG_PIN_Y3=35'", 22 | "'-D CAMERA_CONFIG_PIN_Y2=32'", 23 | "'-D CAMERA_CONFIG_PIN_VSYNC=25'", 24 | "'-D CAMERA_CONFIG_PIN_HREF=26'", 25 | "'-D CAMERA_CONFIG_PIN_PCLK=21'", 26 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 27 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 28 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 29 | "'-D CAMERA_CONFIG_FB_COUNT=1'", 30 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'", 31 | "'-D SCCB_I2C_PORT=I2C_NUM_0'", 32 | "'-D GROVE_SDA=13'", 33 | "'-D GROVE_SCL=4'" 34 | ], 35 | "f_cpu": "240000000L", 36 | "f_flash": "40000000L", 37 | "flash_mode": "dio", 38 | "mcu": "esp32", 39 | "variant": "esp32" 40 | }, 41 | "connectivity": [ 42 | "wifi", 43 | "bluetooth", 44 | "ethernet", 45 | "can" 46 | ], 47 | "debug": { 48 | "openocd_board": "esp-wroom-32.cfg" 49 | }, 50 | "frameworks": [ 51 | "arduino", 52 | "espidf" 53 | ], 54 | "name": "ESP32-CAM M5 STACK", 55 | "upload": { 56 | "flash_size": "4MB", 57 | "maximum_ram_size": 327680, 58 | "maximum_size": 4194304, 59 | "require_upload_port": true, 60 | "speed": 460800 61 | }, 62 | "url": "https://docs.m5stack.com/en/unit/m5camera", 63 | "vendor": "M5STACK" 64 | } -------------------------------------------------------------------------------- /boards/esp32cam_m5stack_camera_psram.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_M5STACK_CAMERA_PSRAM'", 10 | "'-D BOARD_HAS_PSRAM'", 11 | "'-mfix-esp32-psram-cache-issue'", 12 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 13 | "'-D CAMERA_CONFIG_PIN_RESET=15'", 14 | "'-D CAMERA_CONFIG_PIN_XCLK=27'", 15 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=25'", 16 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=23'", 17 | "'-D CAMERA_CONFIG_PIN_Y9=19'", 18 | "'-D CAMERA_CONFIG_PIN_Y8=36'", 19 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 20 | "'-D CAMERA_CONFIG_PIN_Y6=39'", 21 | "'-D CAMERA_CONFIG_PIN_Y5=5'", 22 | "'-D CAMERA_CONFIG_PIN_Y4=34'", 23 | "'-D CAMERA_CONFIG_PIN_Y3=35'", 24 | "'-D CAMERA_CONFIG_PIN_Y2=32'", 25 | "'-D CAMERA_CONFIG_PIN_VSYNC=22'", 26 | "'-D CAMERA_CONFIG_PIN_HREF=26'", 27 | "'-D CAMERA_CONFIG_PIN_PCLK=21'", 28 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 29 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 30 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 31 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 32 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 33 | "'-D SCCB_I2C_PORT=I2C_NUM_0'", 34 | "'-D GROVE_SDA=13'", 35 | "'-D GROVE_SCL=4'" 36 | ], 37 | "f_cpu": "240000000L", 38 | "f_flash": "40000000L", 39 | "flash_mode": "dio", 40 | "mcu": "esp32", 41 | "variant": "esp32" 42 | }, 43 | "connectivity": [ 44 | "wifi", 45 | "bluetooth", 46 | "ethernet", 47 | "can" 48 | ], 49 | "debug": { 50 | "openocd_board": "esp-wroom-32.cfg" 51 | }, 52 | "frameworks": [ 53 | "arduino", 54 | "espidf" 55 | ], 56 | "name": "ESP32-CAM M5 STACK", 57 | "upload": { 58 | "flash_size": "4MB", 59 | "maximum_ram_size": 327680, 60 | "maximum_size": 4194304, 61 | "require_upload_port": true, 62 | "speed": 460800 63 | }, 64 | "url": "https://docs.m5stack.com/en/unit/m5camera", 65 | "vendor": "M5STACK" 66 | } -------------------------------------------------------------------------------- /boards/esp32cam_m5stack_esp32cam.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_M5STACK_ESP32CAM'", 10 | "'-D BOARD_HAS_PSRAM'", 11 | "'-mfix-esp32-psram-cache-issue'", 12 | "'-D USER_LED_GPIO=16'", 13 | "'-D USER_LED_ON_LEVEL=LOW'", 14 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 15 | "'-D CAMERA_CONFIG_PIN_RESET=15'", 16 | "'-D CAMERA_CONFIG_PIN_XCLK=27'", 17 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=25'", 18 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=23'", 19 | "'-D CAMERA_CONFIG_PIN_Y9=19'", 20 | "'-D CAMERA_CONFIG_PIN_Y8=36'", 21 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 22 | "'-D CAMERA_CONFIG_PIN_Y6=39'", 23 | "'-D CAMERA_CONFIG_PIN_Y5=5'", 24 | "'-D CAMERA_CONFIG_PIN_Y4=34'", 25 | "'-D CAMERA_CONFIG_PIN_Y3=35'", 26 | "'-D CAMERA_CONFIG_PIN_Y2=17'", 27 | "'-D CAMERA_CONFIG_PIN_VSYNC=22'", 28 | "'-D CAMERA_CONFIG_PIN_HREF=26'", 29 | "'-D CAMERA_CONFIG_PIN_PCLK=21'", 30 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 31 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 32 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 33 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 34 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 35 | "'-D SCCB_I2C_PORT=I2C_NUM_0'", 36 | "'-D MICROPHONE_GPIO=32'", 37 | "'-D GROVE_SDA=13'", 38 | "'-D GROVE_SCL=4'" 39 | ], 40 | "f_cpu": "240000000L", 41 | "f_flash": "40000000L", 42 | "flash_mode": "dio", 43 | "mcu": "esp32", 44 | "variant": "esp32" 45 | }, 46 | "connectivity": [ 47 | "wifi", 48 | "bluetooth", 49 | "ethernet", 50 | "can" 51 | ], 52 | "debug": { 53 | "openocd_board": "esp-wroom-32.cfg" 54 | }, 55 | "frameworks": [ 56 | "arduino", 57 | "espidf" 58 | ], 59 | "name": "ESP32-CAM M5STACK ESP32CAM", 60 | "upload": { 61 | "flash_size": "4MB", 62 | "maximum_ram_size": 327680, 63 | "maximum_size": 4194304, 64 | "require_upload_port": true, 65 | "speed": 460800 66 | }, 67 | "url": "https://docs.m5stack.com/en/unit/esp32cam", 68 | "vendor": "M5STACK" 69 | } -------------------------------------------------------------------------------- /boards/esp32cam_m5stack_unitcam.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_M5STACK_UNITCAM'", 10 | "'-D USER_LED_GPIO=4'", 11 | "'-D USER_LED_ON_LEVEL=LOW'", 12 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 13 | "'-D CAMERA_CONFIG_PIN_RESET=15'", 14 | "'-D CAMERA_CONFIG_PIN_XCLK=27'", 15 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=25'", 16 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=23'", 17 | "'-D CAMERA_CONFIG_PIN_Y9=19'", 18 | "'-D CAMERA_CONFIG_PIN_Y8=36'", 19 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 20 | "'-D CAMERA_CONFIG_PIN_Y6=39'", 21 | "'-D CAMERA_CONFIG_PIN_Y5=5'", 22 | "'-D CAMERA_CONFIG_PIN_Y4=34'", 23 | "'-D CAMERA_CONFIG_PIN_Y3=35'", 24 | "'-D CAMERA_CONFIG_PIN_Y2=32'", 25 | "'-D CAMERA_CONFIG_PIN_VSYNC=22'", 26 | "'-D CAMERA_CONFIG_PIN_HREF=26'", 27 | "'-D CAMERA_CONFIG_PIN_PCLK=21'", 28 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 29 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 30 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 31 | "'-D CAMERA_CONFIG_FB_COUNT=1'", 32 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'", 33 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 34 | ], 35 | "f_cpu": "240000000L", 36 | "f_flash": "40000000L", 37 | "flash_mode": "dio", 38 | "mcu": "esp32", 39 | "variant": "esp32" 40 | }, 41 | "connectivity": [ 42 | "wifi", 43 | "bluetooth", 44 | "ethernet", 45 | "can" 46 | ], 47 | "debug": { 48 | "openocd_board": "esp-wroom-32.cfg" 49 | }, 50 | "frameworks": [ 51 | "arduino", 52 | "espidf" 53 | ], 54 | "name": "ESP32-CAM M5STACK UNITCAM", 55 | "upload": { 56 | "flash_size": "4MB", 57 | "maximum_ram_size": 327680, 58 | "maximum_size": 4194304, 59 | "require_upload_port": true, 60 | "speed": 460800 61 | }, 62 | "url": "https://docs.m5stack.com/en/unit/unit_cam", 63 | "vendor": "M5STACK" 64 | } -------------------------------------------------------------------------------- /boards/esp32cam_m5stack_unitcams3.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s3_out.ld", 5 | "partitions": "default_8MB.csv", 6 | "memory_type": "qio_opi" 7 | }, 8 | "core": "esp32", 9 | "extra_flags": [ 10 | "'-D ESP32CAM_M5STACK_UNITCAMS3'", 11 | "'-D BOARD_HAS_PSRAM'", 12 | "'-D ARDUINO_USB_MODE=1'", 13 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 14 | "'-D ARDUINO_RUNNING_CORE=1'", 15 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 16 | "'-D USER_LED_GPIO=14'", 17 | "'-D USER_LED_ON_LEVEL=HIGH'", 18 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 19 | "'-D CAMERA_CONFIG_PIN_RESET=21'", 20 | "'-D CAMERA_CONFIG_PIN_XCLK=11'", 21 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=17'", 22 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=41'", 23 | "'-D CAMERA_CONFIG_PIN_Y9=35'", 24 | "'-D CAMERA_CONFIG_PIN_Y8=34'", 25 | "'-D CAMERA_CONFIG_PIN_Y7=39'", 26 | "'-D CAMERA_CONFIG_PIN_Y6=36'", 27 | "'-D CAMERA_CONFIG_PIN_Y5=19'", 28 | "'-D CAMERA_CONFIG_PIN_Y4=18'", 29 | "'-D CAMERA_CONFIG_PIN_Y3=5'", 30 | "'-D CAMERA_CONFIG_PIN_Y2=4'", 31 | "'-D CAMERA_CONFIG_PIN_VSYNC=25'", 32 | "'-D CAMERA_CONFIG_PIN_HREF=23'", 33 | "'-D CAMERA_CONFIG_PIN_PCLK=22'", 34 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 35 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 36 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 37 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 38 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'", 39 | "'-D SCCB_I2C_PORT=I2C_NUM_0'", 40 | "'-D I2C_MEMS_SDA=48'", 41 | "'-D I2C_MEMS_SCL=47'", 42 | "'-D TF_CS=9'", 43 | "'-D TF_MOSI=38'", 44 | "'-D TF_CLK=39'", 45 | "'-D TF_MISO=40'" 46 | ], 47 | "f_cpu": "240000000L", 48 | "f_flash": "80000000L", 49 | "flash_mode": "qio", 50 | "hwids": [ 51 | [ 52 | "0x2886", 53 | "0x0056" 54 | ], 55 | [ 56 | "0x2886", 57 | "0x8056" 58 | ] 59 | ], 60 | "mcu": "esp32s3", 61 | "variant": "esp32s3" 62 | }, 63 | "connectivity": [ 64 | "bluetooth", 65 | "wifi" 66 | ], 67 | "debug": { 68 | "openocd_target": "esp32s3.cfg" 69 | }, 70 | "frameworks": [ 71 | "arduino", 72 | "espidf" 73 | ], 74 | "name": "ESP32-CAM M5STACK UNITCAMS3", 75 | "upload": { 76 | "flash_size": "16MB", 77 | "maximum_ram_size": 327680, 78 | "maximum_size": 16777216, 79 | "require_upload_port": true, 80 | "speed": 460800 81 | }, 82 | "url": "https://docs.m5stack.com/en/unit/Unit-CamS3", 83 | "vendor": "M5STACK" 84 | } -------------------------------------------------------------------------------- /boards/esp32cam_m5stack_wide.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino":{ 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_M5STACK_WIDE'", 10 | "'-D BOARD_HAS_PSRAM'", 11 | "'-mfix-esp32-psram-cache-issue'", 12 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 13 | "'-D CAMERA_CONFIG_PIN_RESET=15'", 14 | "'-D CAMERA_CONFIG_PIN_XCLK=27'", 15 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=22'", 16 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=23'", 17 | "'-D CAMERA_CONFIG_PIN_Y9=19'", 18 | "'-D CAMERA_CONFIG_PIN_Y8=36'", 19 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 20 | "'-D CAMERA_CONFIG_PIN_Y6=39'", 21 | "'-D CAMERA_CONFIG_PIN_Y5=5'", 22 | "'-D CAMERA_CONFIG_PIN_Y4=34'", 23 | "'-D CAMERA_CONFIG_PIN_Y3=35'", 24 | "'-D CAMERA_CONFIG_PIN_Y2=32'", 25 | "'-D CAMERA_CONFIG_PIN_VSYNC=25'", 26 | "'-D CAMERA_CONFIG_PIN_HREF=26'", 27 | "'-D CAMERA_CONFIG_PIN_PCLK=21'", 28 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 29 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 30 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 31 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 32 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 33 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 34 | ], 35 | "f_cpu": "240000000L", 36 | "f_flash": "40000000L", 37 | "flash_mode": "dio", 38 | "mcu": "esp32", 39 | "variant": "esp32" 40 | }, 41 | "connectivity": [ 42 | "wifi", 43 | "bluetooth", 44 | "ethernet", 45 | "can" 46 | ], 47 | "debug": { 48 | "openocd_board": "esp-wroom-32.cfg" 49 | }, 50 | "frameworks": [ 51 | "arduino", 52 | "espidf" 53 | ], 54 | "name": "ESP32-CAM M5 STACK WIDE", 55 | "upload": { 56 | "flash_size": "4MB", 57 | "maximum_ram_size": 327680, 58 | "maximum_size": 4194304, 59 | "require_upload_port": true, 60 | "speed": 460800 61 | }, 62 | "url": "https://shop.m5stack.com/collections/m5-cameras", 63 | "vendor": "M5STACK" 64 | } -------------------------------------------------------------------------------- /boards/esp32cam_seeed_xiao_esp32s3_sense.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32s3_out.ld", 5 | "partitions": "default_8MB.csv", 6 | "memory_type": "qio_opi" 7 | }, 8 | "core": "esp32", 9 | "extra_flags": [ 10 | "'-D ESP32CAM_SEEED_XIAO_ESP32S3_SENSE'", 11 | "'-D BOARD_HAS_PSRAM'", 12 | "'-D ARDUINO_USB_MODE=1'", 13 | "'-D ARDUINO_USB_CDC_ON_BOOT=1'", 14 | "'-D ARDUINO_RUNNING_CORE=1'", 15 | "'-D ARDUINO_EVENT_RUNNING_CORE=1'", 16 | "'-D USER_LED_GPIO=21'", 17 | "'-D USER_LED_ON_LEVEL=LOW'", 18 | "'-D CAMERA_CONFIG_PIN_PWDN=GPIO_NUM_NC'", 19 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 20 | "'-D CAMERA_CONFIG_PIN_XCLK=10'", 21 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=40'", 22 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=39'", 23 | "'-D CAMERA_CONFIG_PIN_Y9=48'", 24 | "'-D CAMERA_CONFIG_PIN_Y8=11'", 25 | "'-D CAMERA_CONFIG_PIN_Y7=12'", 26 | "'-D CAMERA_CONFIG_PIN_Y6=14'", 27 | "'-D CAMERA_CONFIG_PIN_Y5=16'", 28 | "'-D CAMERA_CONFIG_PIN_Y4=18'", 29 | "'-D CAMERA_CONFIG_PIN_Y3=17'", 30 | "'-D CAMERA_CONFIG_PIN_Y2=15'", 31 | "'-D CAMERA_CONFIG_PIN_VSYNC=38'", 32 | "'-D CAMERA_CONFIG_PIN_HREF=47'", 33 | "'-D CAMERA_CONFIG_PIN_PCLK=13'", 34 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 35 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 36 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 37 | "'-D CAMERA_CONFIG_FB_COUNT=2'", 38 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_PSRAM'", 39 | "'-D SCCB_I2C_PORT=I2C_NUM_0'", 40 | "'-D I2C_MEMS_SDA=41'", 41 | "'-D I2C_MEMS_SCL=42'", 42 | "'-D TF_CS=21'", 43 | "'-D TF_MOSI=10'", 44 | "'-D TF_CLK=8'", 45 | "'-D TF_MISO=9'" 46 | ], 47 | "f_cpu": "240000000L", 48 | "f_flash": "80000000L", 49 | "flash_mode": "qio", 50 | "hwids": [ 51 | [ 52 | "0x2886", 53 | "0x0056" 54 | ], 55 | [ 56 | "0x2886", 57 | "0x8056" 58 | ] 59 | ], 60 | "mcu": "esp32s3", 61 | "variant": "esp32s3" 62 | }, 63 | "connectivity": [ 64 | "bluetooth", 65 | "wifi" 66 | ], 67 | "debug": { 68 | "openocd_target": "esp32s3.cfg" 69 | }, 70 | "frameworks": [ 71 | "arduino", 72 | "espidf" 73 | ], 74 | "name": "Seeed Studio XIAO ESP32S3 Sense", 75 | "upload": { 76 | "flash_size": "8MB", 77 | "maximum_ram_size": 327680, 78 | "maximum_size": 8388608, 79 | "require_upload_port": true, 80 | "speed": 460800 81 | }, 82 | "url": "https://www.seeedstudio.com/XIAO-ESP32S3-p-5627.html", 83 | "vendor": "Seeed Studio" 84 | } -------------------------------------------------------------------------------- /boards/esp32cam_ttgo_t_camera.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_TTGO_T_CAMERA'", 10 | "'-D CAMERA_CONFIG_PIN_PWDN=26'", 11 | "'-D CAMERA_CONFIG_PIN_RESET=GPIO_NUM_NC'", 12 | "'-D CAMERA_CONFIG_PIN_XCLK=32'", 13 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=13'", 14 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=12'", 15 | "'-D CAMERA_CONFIG_PIN_Y9=39'", 16 | "'-D CAMERA_CONFIG_PIN_Y8=36'", 17 | "'-D CAMERA_CONFIG_PIN_Y7=23'", 18 | "'-D CAMERA_CONFIG_PIN_Y6=18'", 19 | "'-D CAMERA_CONFIG_PIN_Y5=15'", 20 | "'-D CAMERA_CONFIG_PIN_Y4=4'", 21 | "'-D CAMERA_CONFIG_PIN_Y3=14'", 22 | "'-D CAMERA_CONFIG_PIN_Y2=5'", 23 | "'-D CAMERA_CONFIG_PIN_VSYNC=27'", 24 | "'-D CAMERA_CONFIG_PIN_HREF=25'", 25 | "'-D CAMERA_CONFIG_PIN_PCLK=19'", 26 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 27 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 28 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 29 | "'-D CAMERA_CONFIG_FB_COUNT=1'", 30 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'", 31 | "'-D SCCB_I2C_PORT=I2C_NUM_0'", 32 | "'-D LCD_SSD1306_PIN_SDA=21'", 33 | "'-D LCD_SSD1306_PIN_SCL=22'", 34 | "'-D BUTTON_RIGHT_PIN=34'", 35 | "'-D PIR_PIN=33'" 36 | ], 37 | "f_cpu": "240000000L", 38 | "f_flash": "40000000L", 39 | "flash_mode": "dio", 40 | "mcu": "esp32", 41 | "variant": "esp32" 42 | }, 43 | "connectivity": [ 44 | "wifi", 45 | "bluetooth", 46 | "ethernet", 47 | "can" 48 | ], 49 | "debug": { 50 | "openocd_board": "esp-wroom-32.cfg" 51 | }, 52 | "frameworks": [ 53 | "arduino", 54 | "espidf" 55 | ], 56 | "name": "ESP32-CAM TTGO-T-CAMERA", 57 | "upload": { 58 | "flash_size": "4MB", 59 | "maximum_ram_size": 327680, 60 | "maximum_size": 4194304, 61 | "require_upload_port": true, 62 | "speed": 460800 63 | }, 64 | "url": "https://www.lilygo.cc/products/", 65 | "vendor": "LILYGO" 66 | } -------------------------------------------------------------------------------- /boards/esp32cam_ttgo_t_journal.json: -------------------------------------------------------------------------------- 1 | { 2 | "build": { 3 | "arduino": { 4 | "ldscript": "esp32_out.ld", 5 | "partitions": "huge_app.csv" 6 | }, 7 | "core": "esp32", 8 | "extra_flags": [ 9 | "'-D ESP32CAM_TTGO_T_JOURNAL'", 10 | "'-D CAMERA_CONFIG_PIN_PWDN=0'", 11 | "'-D CAMERA_CONFIG_PIN_RESET=15'", 12 | "'-D CAMERA_CONFIG_PIN_XCLK=27'", 13 | "'-D CAMERA_CONFIG_PIN_SCCB_SDA=25'", 14 | "'-D CAMERA_CONFIG_PIN_SCCB_SCL=23'", 15 | "'-D CAMERA_CONFIG_PIN_Y9=19'", 16 | "'-D CAMERA_CONFIG_PIN_Y8=36'", 17 | "'-D CAMERA_CONFIG_PIN_Y7=18'", 18 | "'-D CAMERA_CONFIG_PIN_Y6=39'", 19 | "'-D CAMERA_CONFIG_PIN_Y5=5'", 20 | "'-D CAMERA_CONFIG_PIN_Y4=34'", 21 | "'-D CAMERA_CONFIG_PIN_Y3=35'", 22 | "'-D CAMERA_CONFIG_PIN_Y2=17'", 23 | "'-D CAMERA_CONFIG_PIN_VSYNC=22'", 24 | "'-D CAMERA_CONFIG_PIN_HREF=26'", 25 | "'-D CAMERA_CONFIG_PIN_PCLK=21'", 26 | "'-D CAMERA_CONFIG_CLK_FREQ_HZ=20000000'", 27 | "'-D CAMERA_CONFIG_LEDC_TIMER=LEDC_TIMER_0'", 28 | "'-D CAMERA_CONFIG_LEDC_CHANNEL=LEDC_CHANNEL_0'", 29 | "'-D CAMERA_CONFIG_FB_COUNT=1'", 30 | "'-D CAMERA_CONFIG_FB_LOCATION=CAMERA_FB_IN_DRAM'", 31 | "'-D SCCB_I2C_PORT=I2C_NUM_0'" 32 | ], 33 | "f_cpu": "240000000L", 34 | "f_flash": "40000000L", 35 | "flash_mode": "dio", 36 | "mcu": "esp32", 37 | "variant": "esp32" 38 | }, 39 | "connectivity": [ 40 | "wifi", 41 | "bluetooth", 42 | "ethernet", 43 | "can" 44 | ], 45 | "debug": { 46 | "openocd_board": "esp-wroom-32.cfg" 47 | }, 48 | "frameworks": [ 49 | "arduino", 50 | "espidf" 51 | ], 52 | "name": "ESP32-CAM TTGO-T-JOURNAL", 53 | "upload": { 54 | "flash_size": "4MB", 55 | "maximum_ram_size": 327680, 56 | "maximum_size": 4194304, 57 | "require_upload_port": true, 58 | "speed": 460800 59 | }, 60 | "url": "https://www.lilygo.cc/products/", 61 | "vendor": "LILYGO" 62 | } -------------------------------------------------------------------------------- /generate_html.ps1: -------------------------------------------------------------------------------- 1 | . python3 -m pip install --upgrade pip setuptools wheel 2 | . python3 -m pip install minify-html 3 | 4 | . python3 ./minify.py ./html/index.html ./html/index.min.html -------------------------------------------------------------------------------- /generate_html.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | 3 | python3 -m pip install --upgrade pip setuptools wheel 4 | python3 -m pip install minify-html 5 | 6 | python3 ./minify.py ./html/index.html ./html/index.min.html -------------------------------------------------------------------------------- /html/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
5 | 6 | 7 | 92 |