Skip to content

Releases: prusa3d/Prusa-Firmware-ESP32-Cam

1.1.0 Firmware for Ai-Thinker ESP32-cam, ESP32-S3-EYE 2.2, Freenove ESP32-Wrover, XIAO ESP32-S3 Sense, ESP32-S3-CAM

05 Aug 19:29
Compare
Choose a tag to compare

Summary


  • Added support for multiple boards
  • Update ESPAsyncWebServer lib
  • Update arduino-esp32 lib (ESP IDF)
  • Update ArduinoJson lib
  • Added WEB api
  • Added MCU temperature display
  • Added support for the external temperature sensor DHT22 or DHT11
  • Added css version
  • Updated documentation
  • Bug fixes and code optimalisation

Added support for multiple boards


In this version, support for several additional boards based on the ESP32/ESP32-S3 processor with a camera has been added. Currently, the Ai-Thinker ESP32-cam, ESP32-S3-EYE 2.2, Freenove ESP32-Wrover cam, XIAO ESP32-S3 Sense, ESP32-S3-CAM boards is supported, and support for more boards will be added in the future. You can find the fuul list of supported boards in the README.

image

Update ESPAsyncWebServer lib


Update of the ESPAsyncWebServer lib from version 2.10.1 to 3.0.6. The library update improved the stability and speed of the software.

Update arduino-esp32 lib (ESP IDF)


Update of the arduino-esp32 lib from version 2.0.16 to 3.0.4 (from ESP IDF 4.4.7 to ESP IDF 5.1.4+). The arduino-esp32 library is the ESP-IDF library, adapted for the Arduino platform. The library update improved the stability and speed of the software.

Update ArduinoJson lib


Update of the ArduinoJson lib from 7.0.4 to 7.1.0

Added WEB api


Added WEB API for additional camera settings, such as turning on the flash or LED light. The WEB API can be used to integrate the camera with Home Assistant. All commands for the WEB API can be found in the documentation.

web_api

Added MCU temperature display


Added processor temperature display on the system tab.

mcu_temp

Added support for the external temperature sensor DHT22 or DHT11


Added the option to connect an external temperature sensor (DHT22 or DHT11) for measuring temperature and humidity in the box. Each board's documentation includes instructions on how to connect the sensor to specific pins.

image

Added css version


A version of the CSS file has been added, so it will no longer be necessary to clear the cache after every change to the webpage.

Updated documentation


Each board has its own documentation, including information about it and instructions on how to upload firmware to the board. You can navigate to the documentation for a specific board from the table of supported boards.

Bug fixes and code optimalisation


Several other minor bugs have been fixed.

1.1.0-rc2 Firmware for Ai-Thinker ESP32-cam, ESP32-S3-EYE 2.2, Freenove ESP32-Wrover, XIAO ESP32-S3, ESP32-S3-CAM

12 Jul 21:38
Compare
Choose a tag to compare

Summary


  • Added support for the external temperature sensor DHT22 or DHT11
  • Added support for XIAO ESP32-S3 Sense board and ESP32-S3-CAM
  • Added css version
  • Update ESPAsyncWebServer lib
  • Updated documentation
  • Bug fixes and code optimalisation

This is a RC2 version

Added support for the external temperature sensor DHT22 or DHT11


Added the option to connect an external temperature sensor (DHT22 or DHT11) for measuring temperature and humidity in the box. Each board's documentation includes instructions on how to connect the sensor to specific pins.

image

Added support for XIAO ESP32-S3 Sense board and ESP32-S3-CAM


Support has been added for the ESP32-S3-CAM and XIAO ESP32-S3 Sense boards.

Added css version


A version of the CSS file has been added, so it will no longer be necessary to clear the cache after every change to the webpage.

Update ESPAsyncWebServer lib


Update of the ESPAsyncWebServer lib from version 3.0.3 to 3.0.6. The library update improved the stability and speed of the software.

Updated documentation


Documentation has been added for the newly supported boards.

Bug fixes and code optimalisation


Several other minor bugs have been fixed.

1.1.0-rc1 Firmware for Ai-Thinker ESP32-cam, ESP32-S3-EYE 2.2, Freenove ESP32-Wrover

29 Jun 16:13
Compare
Choose a tag to compare

Summary


  • Added support for multiple boards
  • Update ESPAsyncWebServer lib
  • Update arduino-esp32 lib (ESP IDF)
  • Update ArduinoJson lib
  • Added WEB api
  • Added MCU temperature display
  • Updated documentation
  • Bug fixes and code optimalisation

This is a RC1 version

To apply the new settings on the web interface, it is necessary to clear the cache of the camera's web page. The cache is valid for 24 hours, so it will automatically refresh after 24 hours.

Added support for multiple boards


In this version, support for several additional boards based on the ESP32/ESP32-S3 processor with a camera has been added. Currently, the Ai-Thinker ESP32-cam, ESP32-S3-EYE 2.2, Freenove ESP32-Wrover cam boards is supported, and support for more boards will be added in the future. You can find the fuul list of supported boards in the README.

supported_boards

Update ESPAsyncWebServer lib


Update of the ESPAsyncWebServer lib from version 2.10.1 to 3.0.3. The library update improved the stability and speed of the software.

Update arduino-esp32 lib (ESP IDF)


Update of the arduino-esp32 lib from version 2.0.16 to 3.0.2 (from ESP IDF 4.4.7 to ESP IDF 5.1.4). The arduino-esp32 library is the ESP-IDF library, adapted for the Arduino platform. The library update improved the stability and speed of the software.

Update ArduinoJson lib


Update of the ArduinoJson lib from 7.0.4 to 7.10.0

Added WEB api


Added WEB API for additional camera settings, such as turning on the flash or LED light. The WEB API can be used to integrate the camera with Home Assistant. All commands for the WEB API can be found in the documentation.

web_api

Added MCU temperature display


Added processor temperature display on the system tab.

mcu_temp

Updated documentation


Each board has its own documentation, including information about it and instructions on how to upload firmware to the board. You can navigate to the documentation for a specific board from the table of supported boards.

Bug fixes and code optimalisation


Several other minor bugs have been fixed.

1.0.3 Firmware for ESP32-cam

02 Jun 19:33
Compare
Choose a tag to compare

Summary


  • Added support of the jpg EXIF metadata
  • Added TimeLaps function
  • Added Micro SD card status and usage
  • Changed ESPAsyncWebServer library
  • Change of logging to the file
  • Added title of the page configuration
  • Added button to start the live-stream
  • Bug fixes and web design improvement

This is a stable version for the ESP32-cam

To apply the new settings on the web interface, it is necessary to clear the cache of the camera's web page. The cache is valid for 24 hours, so it will automatically refresh after 24 hours.

Added support of the jpg EXIF metadata


Support for EXIF metadata for jpg images has been added. Thanks to this, it is possible to rotate the camera image by 0, 90, 180, or 270 degrees. The OV2640 camera module does not generate EXIF metadata. Therefore, it is necessary to calculate the EXIF metadata and add it to the image. The library for generating EXIF metadata is taken from user @dimhoff from his project ESP32-CAM_Interval. EXIF metadata is not currently added for the stream

camera_screen

Added TimeLaps function


It is possible to enable saving the photos sent to Prusa Connect onto a micro SD card (formated to FAT32). Photos are saved on the micro SD card, in the folder timelaps. After successfully completing the print, it is necessary to remove the micro SD card from the camera and copy the saved photos from the card. The next, it is necessary to use SW to create a timelapse video from photos.

Added Micro SD card status and usage


The status of the micro SD card and usage are displayed in the system page.

system_screen

Changed ESPAsyncWebServer library


Initially, the ESPAsyncWebsrv library by user dvarrel was used. Currently is used another library, ESPAsyncWebServer by user mathieucarbou. The new library has better stability according to tests, is more optimized, and is compatible with ESP-IDF 5.1.

Change of logging to the file


Logging to a file on the micro SD card has been improved. Thanks to this, RAM memory is more optimized, and the speed and stability of the firmware are increased.

Added title of the page configuration


The mDNS record is simultaneously used as the title for the camera's web page in the browser. Currently, mDNS is used for three functions:

  • mDNS record
  • Camera name in Prusa Connect
  • Browser title

mdns title

Added button to start the live-stream


Added a button on the webpage below Download snapshot to open the live-stream URL, improving accessibility. Thanks @Anheledir

stream button

Bug fixes and web design improvement


  • Several other bugs have been fixed and the WEB design has been improvement.
  • On the camera website, there is a change in the name of the tabs from
    • Camera Configuration -> Camera
    • Wi-Fi Configuration -> Wi-Fi
  • Improvment camera flash functionality

1.0.3-rc2 Firmware for ESP32-cam

31 May 21:21
Compare
Choose a tag to compare

Summary


  • Changed ESPAsyncWebServer library
  • Change of logging to the file
  • Added title of the page configuration
  • Added button to start the live-stream
  • Bug fixes and web design improvement

This is a release candidate version for the ESP32-cam

To apply the new settings on the web interface, it is necessary to clear the cache of the camera's web page. The cache is valid for 24 hours, so it will automatically refresh after 24 hours.

Changed ESPAsyncWebServer library


Initially, the ESPAsyncWebsrv library by user dvarrel was used. Currently is used another library, ESPAsyncWebServer by user mathieucarbou. The new library has better stability according to tests, is more optimized, and is compatible with ESP-IDF 5.1.

Change of logging to the file


Logging to a file on the micro SD card has been improved. Thanks to this, RAM memory is more optimized, and the speed and stability of the firmware are increased.

Added title of the page configuration


The mDNS record is simultaneously used as the title for the camera's web page in the browser. Currently, mDNS is used for three functions:

  • mDNS record
  • Camera name in Prusa Connect
  • Browser title

mdns title

Added button to start the live-stream


Added a button on the webpage below Download snapshot to open the live-stream URL, improving accessibility. Thanks @Anheledir

stream button

Bug fixes and web design improvement


Several other bugs have been fixed and the WEB design has been improvement.
On the camera website, there is a change in the name of the tabs from

  • Camera Configuration -> Camera
  • Wi-Fi Configuration -> Wi-Fi

1.0.3-rc1 Firmware for ESP32-cam

27 May 19:04
Compare
Choose a tag to compare

Summary


  • Added support of the jpg EXIF metadata
  • Added TimeLaps function
  • Added Micro SD card status and usage
  • Bug fixes and web design improvement

This is a release candidate version for the ESP32-cam

To apply the new settings on the web interface, it is necessary to clear the cache of the camera's web page. The cache is valid for 24 hours, so it will automatically refresh after 24 hours.

Added support of the jpg EXIF metadata


Support for EXIF metadata for jpg images has been added. Thanks to this, it is possible to rotate the camera image by 0, 90, 180, or 270 degrees. The OV2640 camera module does not generate EXIF metadata. Therefore, it is necessary to calculate the EXIF metadata and add it to the image. The library for generating EXIF metadata is taken from user @dimhoff from his project ESP32-CAM_Interval.

camera_screen

Added TimeLaps function


It is possible to enable saving the photos sent to Prusa Connect onto a micro SD card (formated to FAT32). Photos are saved on the micro SD card, in the folder timelaps. After successfully completing the print, it is necessary to remove the micro SD card from the camera and copy the saved photos from the card. The next, it is necessary to use SW to create a timelapse video from photos.

Added Micro SD card status and usage


The status of the micro SD card and usage are displayed in the system page.

system_screen

Bug fixes and web design improvement


Several other bugs have been fixed and the WEB design has been improvement

1.0.2 Firmware for ESP32-cam

19 May 10:54
Compare
Choose a tag to compare

Summary


  • Fixed bug with RAM allocation.
  • Fixed bug with video stream
  • Added another WiFi network configuration
  • Added more command for camera configuration from serial console
  • Changes in the method of sending photos
  • Used mDNS record as camera name in the Prusa Connect
  • Bug fixes

This is a stable version for the ESP32-cam

Fixed bug with RAM allocation


Version of the firmware 1.0.1 had an issue with RAM memory allocation. So in this FW version, the WEB server on the camera had to be turned off, and then turned on again after sending the image to Prusa Connect. Concurrently, the stability and speed of the firmware were improved.

Fixed bug with video stream


The previous error also caused the video stream to malfunction. Currently, the video stream work at the address http://IP/stream.mjpg. The number of frames per second (FPS) depends on the quality of the Wi-Fi connection and the image resolution. Lower image resolution results in higher FPS. During an open video stream, the web server and all other camera functionalities remain operational.

From my testing, I found that at the maximum resolution of 1600x1200, I achieved approximately 3 FPS. However, at a resolution of 1024x768, I attained approximately 6-7 FPS.

Added another WiFi network configuration


In the Wi-Fi settings tab, under Advanced Wi-Fi settings, additional advanced Wi-Fi configuration options have been added.

Now, an option to turn off the service AP upon ESP32-CAM startup is available. After resetting the ESP32-CAM configuration to factory settings, the service AP is automatically enabled.

Additionally, a feature enabling the use of a static IP address for the camera on the Wi-Fi network to which the camera connects has been implemented.

The first step involves setting the IP addresses, followed by switching the setting from DHCP to a static IP address, and finally restarting the MCU.

It is necessary to clear the cache in the browser for the changes to take effect. The cache interval is set to 24 hours, meaning it is automatically deleted after 24 hours.

Added more command for camera configuration from serial console


Several additional parameters have been added for configuring the camera via the serial interface.

Changes in the method of sending photos

The previous method of sending photos caused incomplete photo transmission to Connect. The new method should resolve this issue.

Used mDNS record as camera name in the Prusa Connect

The camera name that was displayed in Prusa Connect was a static value. Currently, the mDNS record is used as the camera name.

Bug fixes


Several other errors were fixed. Additional logging was added, for better analysis. Thanks @Anheledir and @JimBim89 for the bug fix

1.0.2-rc2 Firmware for ESP32-cam

16 May 21:02
Compare
Choose a tag to compare

Summary


  • Changes in the method of sending photos
  • Used mDNS record as camera name in the Prusa Connect
  • Bug fixes

This is a release candidate for the ESP32-cam

Changes in the method of sending photos

The previous method of sending photos caused incomplete photo transmission to Connect. The new method should resolve this issue.

Used mDNS record as camera name in the Prusa Connect

The camera name that was displayed in Prusa Connect was a static value. Currently, the mDNS record is used as the camera name.

Bug fixes

Thanks @Anheledir and @JimBim89 for the bug fix

1.0.2-rc1 Firmware for ESP32-cam

13 May 20:21
Compare
Choose a tag to compare

Summary


  • Fixed bug with RAM allocation.
  • Fixed bug with video stream
  • Added another WiFi network configuration
  • Serial console
  • Bug fixes

This is a release candidate for the ESP32-cam

Fixed bug with RAM allocation


Version of the firmware 1.0.1 had an issue with RAM memory allocation. So in this FW version, the WEB server on the camera had to be turned off, and then turned on again after sending the image to Prusa Connect. Concurrently, the stability and speed of the firmware were improved.

Fixed bug with video stream


The previous error also caused the video stream to malfunction. Currently, the video stream work at the address http://IP/stream.mjpg. The number of frames per second (FPS) depends on the quality of the Wi-Fi connection and the image resolution. Lower image resolution results in higher FPS. During an open video stream, the web server and all other camera functionalities remain operational.

From my testing, I found that at the maximum resolution of 1600x1200, I achieved approximately 3 FPS. However, at a resolution of 1024x768, I attained approximately 6-7 FPS.

Added another WiFi network configuration


In the Wi-Fi settings tab, under Advanced Wi-Fi settings, additional advanced Wi-Fi configuration options have been added.

Now, an option to turn off the service AP upon ESP32-CAM startup is available. After resetting the ESP32-CAM configuration to factory settings, the service AP is automatically enabled.

Additionally, a feature enabling the use of a static IP address for the camera on the Wi-Fi network to which the camera connects has been implemented.

The first step involves setting the IP addresses, followed by switching the setting from DHCP to a static IP address, and finally restarting the MCU.

It is necessary to clear the cache in the browser for the changes to take effect. The cache interval is set to 24 hours, meaning it is automatically deleted after 24 hours.

Serial console


Several additional parameters have been added for configuring the camera via the serial interface.

Bug fixes


Several other errors were fixed. Additional logging was added, for better analysis

1.0.1 Firmware for ESP32-cam

25 Apr 16:06
Compare
Choose a tag to compare

Summary


  • Fixed issue with sending large image to backend

Fixed issue with sending large image to backend


The bug caused incomplete transmission of large high-resolution images to the backend. A portion of the image could be missing. This issue has been resolved in this software version.