Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/raphaelbs/esp32-cam-ai-thinker
Informations and examples about A.I. Thinker ESP32-CAM using ESP-IDF
https://github.com/raphaelbs/esp32-cam-ai-thinker
ai-thinker esp-32 esp-idf esp32-cam
Last synced: 2 days ago
JSON representation
Informations and examples about A.I. Thinker ESP32-CAM using ESP-IDF
- Host: GitHub
- URL: https://github.com/raphaelbs/esp32-cam-ai-thinker
- Owner: raphaelbs
- License: apache-2.0
- Created: 2019-01-06T22:42:12.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2021-03-15T19:06:33.000Z (over 3 years ago)
- Last Synced: 2023-10-20T22:46:19.646Z (about 1 year ago)
- Topics: ai-thinker, esp-32, esp-idf, esp32-cam
- Homepage:
- Size: 9.47 MB
- Stars: 431
- Watchers: 33
- Forks: 91
- Open Issues: 17
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESP32-CAM - A.I. Thinker
![Build with PlatformIO](https://img.shields.io/badge/build%20with-PlatformIO-orange?logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB3aWR0aD0iMjUwMCIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI1NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTEyOCAwQzkzLjgxIDAgNjEuNjY2IDEzLjMxNCAzNy40OSAzNy40OSAxMy4zMTQgNjEuNjY2IDAgOTMuODEgMCAxMjhjMCAzNC4xOSAxMy4zMTQgNjYuMzM0IDM3LjQ5IDkwLjUxQzYxLjY2NiAyNDIuNjg2IDkzLjgxIDI1NiAxMjggMjU2YzM0LjE5IDAgNjYuMzM0LTEzLjMxNCA5MC41MS0zNy40OUMyNDIuNjg2IDE5NC4zMzQgMjU2IDE2Mi4xOSAyNTYgMTI4YzAtMzQuMTktMTMuMzE0LTY2LjMzNC0zNy40OS05MC41MUMxOTQuMzM0IDEzLjMxNCAxNjIuMTkgMCAxMjggMCIgZmlsbD0iI0ZGN0YwMCIvPjxwYXRoIGQ9Ik0yNDkuMzg2IDEyOGMwIDY3LjA0LTU0LjM0NyAxMjEuMzg2LTEyMS4zODYgMTIxLjM4NkM2MC45NiAyNDkuMzg2IDYuNjEzIDE5NS4wNCA2LjYxMyAxMjggNi42MTMgNjAuOTYgNjAuOTYgNi42MTQgMTI4IDYuNjE0YzY3LjA0IDAgMTIxLjM4NiA1NC4zNDYgMTIxLjM4NiAxMjEuMzg2IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTE2MC44NjkgNzQuMDYybDUuMTQ1LTE4LjUzN2M1LjI2NC0uNDcgOS4zOTItNC44ODYgOS4zOTItMTAuMjczIDAtNS43LTQuNjItMTAuMzItMTAuMzItMTAuMzJzLTEwLjMyIDQuNjItMTAuMzIgMTAuMzJjMCAzLjc1NSAyLjAxMyA3LjAzIDUuMDEgOC44MzdsLTUuMDUgMTguMTk1Yy0xNC40MzctMy42Ny0yNi42MjUtMy4zOS0yNi42MjUtMy4zOWwtMi4yNTggMS4wMXYxNDAuODcybDIuMjU4Ljc1M2MxMy42MTQgMCA3My4xNzctNDEuMTMzIDczLjMyMy04NS4yNyAwLTMxLjYyNC0yMS4wMjMtNDUuODI1LTQwLjU1NS01Mi4xOTd6TTE0Ni41MyAxNjQuOGMtMTEuNjE3LTE4LjU1Ny02LjcwNi02MS43NTEgMjMuNjQzLTY3LjkyNSA4LjMyLTEuMzMzIDE4LjUwOSA0LjEzNCAyMS41MSAxNi4yNzkgNy41ODIgMjUuNzY2LTM3LjAxNSA2MS44NDUtNDUuMTUzIDUxLjY0NnptMTguMjE2LTM5Ljc1MmE5LjM5OSA5LjM5OSAwIDAgMC05LjM5OSA5LjM5OSA5LjM5OSA5LjM5OSAwIDAgMCA5LjQgOS4zOTkgOS4zOTkgOS4zOTkgMCAwIDAgOS4zOTgtOS40IDkuMzk5IDkuMzk5IDAgMCAwLTkuMzk5LTkuMzk4em0yLjgxIDguNjcyYTIuMzc0IDIuMzc0IDAgMSAxIDAtNC43NDkgMi4zNzQgMi4zNzQgMCAwIDEgMCA0Ljc0OXoiIGZpbGw9IiNFNTcyMDAiLz48cGF0aCBkPSJNMTAxLjM3MSA3Mi43MDlsLTUuMDIzLTE4LjkwMWMyLjg3NC0xLjgzMiA0Ljc4Ni01LjA0IDQuNzg2LTguNzAxIDAtNS43LTQuNjItMTAuMzItMTAuMzItMTAuMzItNS42OTkgMC0xMC4zMTkgNC42Mi0xMC4zMTkgMTAuMzIgMCA1LjY4MiA0LjU5MiAxMC4yODkgMTAuMjY3IDEwLjMxN0w5NS44IDc0LjM3OGMtMTkuNjA5IDYuNTEtNDAuODg1IDIwLjc0Mi00MC44ODUgNTEuODguNDM2IDQ1LjAxIDU5LjU3MiA4NS4yNjcgNzMuMTg2IDg1LjI2N1Y2OC44OTJzLTEyLjI1Mi0uMDYyLTI2LjcyOSAzLjgxN3ptMTAuMzk1IDkyLjA5Yy04LjEzOCAxMC4yLTUyLjczNS0yNS44OC00NS4xNTQtNTEuNjQ1IDMuMDAyLTEyLjE0NSAxMy4xOS0xNy42MTIgMjEuNTExLTE2LjI4IDMwLjM1IDYuMTc1IDM1LjI2IDQ5LjM2OSAyMy42NDMgNjcuOTI2em0tMTguODItMzkuNDZhOS4zOTkgOS4zOTkgMCAwIDAtOS4zOTkgOS4zOTggOS4zOTkgOS4zOTkgMCAwIDAgOS40IDkuNCA5LjM5OSA5LjM5OSAwIDAgMCA5LjM5OC05LjQgOS4zOTkgOS4zOTkgMCAwIDAtOS4zOTktOS4zOTl6bS0yLjgxIDguNjcxYTIuMzc0IDIuMzc0IDAgMSAxIDAtNC43NDggMi4zNzQgMi4zNzQgMCAwIDEgMCA0Ljc0OHoiIGZpbGw9IiNGRjdGMDAiLz48L3N2Zz4=)
The goal of this repository is to centralize information and examples for the ESP32-CAM A.I. Thinker.
[Read the board and periferals specifications here.](./docs/about-esp32-cam.md)
>
> ESP32-CAM A.I. Thinker usually sells with OV2640 sensor# Examples
- [Detect changes and take pictures](./examples/change_detection)
- [Store pictures using Firebase (Google Storage)](./examples/google_storage)
- [Store pictures in SD](./examples/sd_jpg)
- [JPG via Http server](./examples/http_jpg)## Running with PlatformIO
To run the examples, make sure to have `PlatformIO` installed. If you haven't, refer to [this tutorial](https://platformio.org/install/ide?install=vscode).
![Building with PlatformIO](./assets/using-with-platformio.gif)
# Flashing
## Requirements
To flash the board you need a USB to TTL dongle.
Also it is very important to **use a external power supply**. USBs usually do not provide sufficient current which makes the board loops `brownout` errors.
## Wiring
> ![schematics to wire the board](./assets/Wiring-with-usb-ttl.png)
> Diagram to wire the board## Instructions
When flashing:
1. turn the board down
2. hold the reset button (short `GPIO0` to `GND`)
3. turn the board onWhen booting to run your sketch, keep `GPIO0` open.
This board also has a built in reset button.
# Capabilities
This board and the included OV2640 can acomplish the following:
- External 64MBit PSRAM ([IPUS IPS6404](./assets/IPUS_IPS6404_Datasheet.pdf))
- Embeed flash light
- Sd Card
- mount using FatFS
- Ov2640
- Native resolutions:
- UXGA
- SVGA
- CIF
- Gain control
- Balance control
- Windowing
- Zoom and panning modes
- Sub-sampling mode
- Svga
- Cif
- Frame exposure mode
- Output formatter
- Scaling image output
- Power down mode
- Strobe (flash control)# Contributions
The roadmap for this repository is to implement examples uppon the capabilities of the board.
Feel free to open issues, describe bugs, suggest new examples and implementations.
I'll be reviewing and accepting PR's.