TEP DOWNLOAD CENTER

Project Files of ESP32-CAM Library for Proteus: OV2640 Camera, microSD and PIR

Libraries Code Projects Simulation
tep://download-terminal esp32-cam-tep-v1-0-88940f544b4a4a1f8c48e0874deda8cc.zip ZIP archiveV1.0Verified1 downloadsFree
ESP32-CAM Library for Proteus: a motion-triggered porch camera with an HC-SR501 PIR and a relay
Proteus library · File 1 of 1

ESP32-CAM Library for Proteus V1.0

ESP32-CAM Library for Proteus V1.0 comes as a ZIP archive of 220 files (3.7 MB, 8.6 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch, an Arduino library, compiled HEX firmware and source code.

  • LIBProteus library
  • DLLProteus model
  • DSNProteus simulation
  • INOArduino sketch
  • LIBArduino library
  • HEXHEX firmware
  • SRCSource code

Description

ESP32-CAM-Library-for-Proteus-v1.0.zip with the AI-Thinker ESP32-CAM in Proteus (your Arduino sketch, the OV2640 camera with real JPEG pictures, the microSD card, the flash LED, Wi-Fi and a serial monitor; TEPESP32CAM.LIB, TEPNET.DLL and the TEP Boards for Proteus add-on 1.37.0 with esp32-camera and SD_MMC), the HC-SR501 PIR and relay libraries, the Laptop / Mobile WiFi Monitor symbols, the porch camera demo with its sketch and a README.

Read ESP32-CAM Library for Proteus: OV2640 Camera, microSD and PIR

File Structure

esp32-cam-tep-v1-0-88940f544b4a4a1f8c48e0874deda8cc.zip220 files · 116 folders · 8.6 MB unpacked
ESP32-CAM-TEP-v1.0/220 files · 8.6 MB
Arduino Code/206 files · 890.9 KB
ESP32CAM_PIR_Snapshot/1 file · 8.5 KB
INO ESP32CAM_PIR_Snapshot.inoArduino sketch 8.5 KB
TEP Boards for Proteus/205 files · 882.5 KB
hardware/205 files · 882.5 KB
tep/205 files · 882.5 KB
avr/205 files · 882.5 KB
cores/55 files · 271.5 KB
tep32/55 files · 271.5 KB
SRC abi.cppSource file 1.1 KB
SRC Arduino.hSource file 7.7 KB
SRC binary.hSource file 11 KB
SRC CDC.cppSource file 8.5 KB
SRC Client.hSource file 1.5 KB
SRC Esp.cppSource file 1.7 KB
SRC Esp.hSource file 1.8 KB
SRC esp32-hal-ledc.cSource file 5.7 KB
SRC esp32-hal-misc.cppSource file 4.9 KB
SRC esp32-hal-rgb.cSource file 1.1 KB
SRC esp32-hal.hSource file 5.8 KB
SRC HardwareSerial.cppSource file 9.6 KB
SRC HardwareSerial.hSource file 7.2 KB
SRC HardwareSerial0.cppSource file 2.5 KB
SRC HardwareSerial1.cppSource file 2.1 KB
SRC HardwareSerial2.cppSource file 1.9 KB
SRC HardwareSerial3.cppSource file 2.1 KB
SRC HardwareSerial_private.hSource file 4.4 KB
SRC hooks.cSource file 1.1 KB
SRC IPAddress.cppSource file 3 KB
SRC IPAddress.hSource file 3 KB
SRC main.cppSource file 1.8 KB
FILE newFile 2.5 KB
SRC new.cppSource file 3.5 KB
SRC new.hSource file 149 B
SRC PluggableUSB.cppSource file 2.7 KB
SRC PluggableUSB.hSource file 2 KB
SRC Print.cppSource file 6.4 KB
SRC Print.hSource file 3.2 KB
SRC Printable.hSource file 1.3 KB
SRC Server.hSource file 963 B
SRC Stream.cppSource file 8.6 KB
SRC Stream.hSource file 5.9 KB
SRC tep32_link.cSource file 6 KB
SRC tep32_link.hSource file 10.7 KB
SRC tep32_private.hSource file 1.6 KB
SRC TepGpsSerial.cppSource file 1.3 KB
SRC Tone.cppSource file 14.7 KB
SRC Udp.hSource file 4.3 KB
SRC USBAPI.hSource file 6.1 KB
SRC USBCore.cppSource file 20.1 KB
SRC USBCore.hSource file 8.2 KB
SRC USBDesc.hSource file 2 KB
SRC WCharacter.hSource file 4.5 KB
SRC WInterrupts.cSource file 311 B
SRC wiring.cSource file 12.3 KB
SRC wiring_analog.cSource file 6.7 KB
SRC wiring_digital.cSource file 5.4 KB
SRC wiring_private.hSource file 2.2 KB
SRC wiring_pulse.cSource file 3.4 KB
SRC wiring_pulse.SSource file 5.9 KB
SRC wiring_shift.cSource file 1.5 KB
SRC WMath.cppSource file 1.6 KB
SRC WString.cppSource file 16.6 KB
SRC WString.hSource file 9.7 KB
libraries/108 files · 282.5 KB
Adafruit_Microbit/3 files · 9.5 KB
src/2 files · 9 KB
LIB Adafruit_Microbit.cppArduino library file 6.9 KB
LIB Adafruit_Microbit.hArduino library file 2.1 KB
LIB library.propertiesArduino library file 533 B
Arduino_LED_Matrix/3 files · 7.8 KB
src/2 files · 7.4 KB
LIB Arduino_LED_Matrix.cppArduino library file 3.6 KB
LIB Arduino_LED_Matrix.hArduino library file 3.8 KB
LIB library.propertiesArduino library file 504 B
Arduino_RouterBridge/3 files · 19.8 KB
src/2 files · 19.3 KB
LIB Arduino_RouterBridge.cppArduino library file 8.3 KB
LIB Arduino_RouterBridge.hArduino library file 10.9 KB
LIB library.propertiesArduino library file 522 B
EEPROM/12 files · 22.6 KB
examples/8 files · 11 KB
eeprom_clear/1 file · 918 B
INO eeprom_clear.inoArduino sketch 918 B
eeprom_crc/1 file · 1.4 KB
INO eeprom_crc.inoArduino sketch 1.4 KB
eeprom_get/1 file · 1.8 KB
INO eeprom_get.inoArduino sketch 1.8 KB
eeprom_iteration/1 file · 1 KB
INO eeprom_iteration.inoArduino sketch 1 KB
eeprom_put/1 file · 1.3 KB
INO eeprom_put.inoArduino sketch 1.3 KB
eeprom_read/1 file · 1.4 KB
INO eeprom_read.inoArduino sketch 1.4 KB
eeprom_update/1 file · 1.8 KB
INO eeprom_update.inoArduino sketch 1.8 KB
eeprom_write/1 file · 1.4 KB
INO eeprom_write.inoArduino sketch 1.4 KB
src/1 file · 5.7 KB
LIB EEPROM.hArduino library file 5.7 KB
TXT keywords.txtText file 502 B
LIB library.propertiesArduino library file 463 B
MD README.mdReadme 5 KB
esp32-camera/4 files · 13.7 KB
src/3 files · 13.2 KB
LIB esp_camera.cppArduino library file 6.5 KB
LIB esp_camera.hArduino library file 3.4 KB
LIB sensor.hArduino library file 3.4 KB
LIB library.propertiesArduino library file 500 B
ESP32Servo/2 files · 2 KB
src/1 file · 1.6 KB
LIB ESP32Servo.hArduino library file 1.6 KB
LIB library.propertiesArduino library file 368 B
ESP8266HTTPClient/2 files · 872 B
src/1 file · 406 B
LIB ESP8266HTTPClient.hArduino library file 406 B
LIB library.propertiesArduino library file 466 B
ESP8266mDNS/2 files · 848 B
src/1 file · 404 B
LIB ESP8266mDNS.hArduino library file 404 B
LIB library.propertiesArduino library file 444 B
ESP8266WebServer/2 files · 937 B
src/1 file · 460 B
LIB ESP8266WebServer.hArduino library file 460 B
LIB library.propertiesArduino library file 477 B
ESP8266WiFi/2 files · 1.2 KB
src/1 file · 739 B
LIB ESP8266WiFi.hArduino library file 739 B
LIB library.propertiesArduino library file 448 B
ESPmDNS/2 files · 1.6 KB
src/1 file · 1.3 KB
LIB ESPmDNS.hArduino library file 1.3 KB
LIB library.propertiesArduino library file 350 B
ETH/3 files · 10.3 KB
src/2 files · 9.7 KB
LIB ETH.cppArduino library file 5.7 KB
LIB ETH.hArduino library file 4 KB
LIB library.propertiesArduino library file 562 B
HID-Project/3 files · 4 KB
src/2 files · 3.5 KB
LIB Consumer.cppArduino library file 1.5 KB
LIB HID-Project.hArduino library file 2 KB
LIB library.propertiesArduino library file 550 B
HTTPClient/3 files · 11.6 KB
src/2 files · 11.3 KB
LIB HTTPClient.cppArduino library file 7.2 KB
LIB HTTPClient.hArduino library file 4.1 KB
LIB library.propertiesArduino library file 371 B
Keyboard/3 files · 8.5 KB
src/2 files · 8 KB
LIB Keyboard.cppArduino library file 4.5 KB
LIB Keyboard.hArduino library file 3.5 KB
LIB library.propertiesArduino library file 492 B
LEAmDNS/2 files · 868 B
src/1 file · 390 B
LIB LEAmDNS.hArduino library file 390 B
LIB library.propertiesArduino library file 478 B
MicrobitRadio/3 files · 4.6 KB
src/2 files · 4.1 KB
LIB MicrobitRadio.cppArduino library file 2.2 KB
LIB MicrobitRadio.hArduino library file 1.9 KB
LIB library.propertiesArduino library file 498 B
Mouse/3 files · 2.8 KB
src/2 files · 2.4 KB
LIB Mouse.cppArduino library file 1.2 KB
LIB Mouse.hArduino library file 1.2 KB
LIB library.propertiesArduino library file 487 B
Preferences/3 files · 10 KB
src/2 files · 9.6 KB
LIB Preferences.cppArduino library file 5.1 KB
LIB Preferences.hArduino library file 4.6 KB
LIB library.propertiesArduino library file 371 B
SD_MMC/5 files · 12.8 KB
src/4 files · 12.4 KB
LIB FS.cppArduino library file 6.2 KB
LIB FS.hArduino library file 3 KB
LIB SD_MMC.cppArduino library file 1.5 KB
LIB SD_MMC.hArduino library file 1.7 KB
LIB library.propertiesArduino library file 469 B
Servo/2 files · 652 B
src/1 file · 294 B
LIB Servo.hArduino library file 294 B
LIB library.propertiesArduino library file 358 B
SPI/6 files · 24.6 KB
examples/2 files · 6.4 KB
BarometricPressureSensor/1 file · 4.4 KB
INO BarometricPressureSensor.inoArduino sketch 4.4 KB
DigitalPotControl/1 file · 1.9 KB
INO DigitalPotControl.inoArduino sketch 1.9 KB
src/2 files · 16.9 KB
LIB SPI.cppArduino library file 5.8 KB
LIB SPI.hArduino library file 11 KB
TXT keywords.txtText file 835 B
LIB library.propertiesArduino library file 518 B
WebServer/3 files · 14.5 KB
src/2 files · 14.1 KB
LIB WebServer.cppArduino library file 9.2 KB
LIB WebServer.hArduino library file 4.9 KB
LIB library.propertiesArduino library file 439 B
WiFi/15 files · 47.5 KB
src/14 files · 47.1 KB
LIB tep_wifi_link.cppArduino library file 4.2 KB
LIB tep_wifi_link.hArduino library file 1.5 KB
LIB WiFi.cppArduino library file 9.3 KB
LIB WiFi.hArduino library file 7.1 KB
LIB WiFiClient.cppArduino library file 4.7 KB
LIB WiFiClient.hArduino library file 2.4 KB
LIB WiFiClientSecure.hArduino library file 388 B
LIB WiFiEvents.cppArduino library file 5.1 KB
LIB WiFiMulti.hArduino library file 893 B
LIB WiFiServer.cppArduino library file 667 B
LIB WiFiServer.hArduino library file 1.3 KB
LIB WiFiType.hArduino library file 5.5 KB
LIB WiFiUdp.cppArduino library file 2.3 KB
LIB WiFiUdp.hArduino library file 1.8 KB
LIB library.propertiesArduino library file 468 B
WiFiNINA/2 files · 1.4 KB
src/1 file · 882 B
LIB WiFiNINA.hArduino library file 882 B
LIB library.propertiesArduino library file 530 B
WiFiS3/2 files · 1.2 KB
src/1 file · 791 B
LIB WiFiS3.hArduino library file 791 B
LIB library.propertiesArduino library file 487 B
Wire/13 files · 46.1 KB
examples/7 files · 8.5 KB
digital_potentiometer/1 file · 894 B
INO digital_potentiometer.inoArduino sketch 894 B
i2c_scanner/1 file · 2 KB
INO i2c_scanner.inoArduino sketch 2 KB
master_reader/1 file · 730 B
INO master_reader.inoArduino sketch 730 B
master_writer/1 file · 646 B
INO master_writer.inoArduino sketch 646 B
SFRRanger_reader/1 file · 2.6 KB
INO SFRRanger_reader.inoArduino sketch 2.6 KB
slave_receiver/1 file · 977 B
INO slave_receiver.inoArduino sketch 977 B
slave_sender/1 file · 702 B
INO slave_sender.inoArduino sketch 702 B
src/4 files · 36.6 KB
utility/2 files · 22.4 KB
LIB twi.cArduino library file 20.6 KB
LIB twi.hArduino library file 1.8 KB
LIB Wire.cppArduino library file 11.1 KB
LIB Wire.hArduino library file 3.2 KB
TXT keywords.txtText file 596 B
LIB library.propertiesArduino library file 406 B
variants/37 files · 248.4 KB
arduino_due/1 file · 9.3 KB
SRC pins_arduino.hSource file 9.3 KB
blackpill_f411/1 file · 7.7 KB
SRC pins_arduino.hSource file 7.7 KB
bluepill_f103c8/1 file · 7.7 KB
SRC pins_arduino.hSource file 7.7 KB
d1_mini/1 file · 5.9 KB
SRC pins_arduino.hSource file 5.9 KB
d1_r2/1 file · 6.4 KB
SRC pins_arduino.hSource file 6.4 KB
esp32c3_supermini/1 file · 5.3 KB
SRC pins_arduino.hSource file 5.3 KB
esp32c6_devkitc1/1 file · 5.7 KB
SRC pins_arduino.hSource file 5.7 KB
esp32cam/1 file · 7.9 KB
SRC pins_arduino.hSource file 7.9 KB
esp32s3_devkitc1/1 file · 7.7 KB
SRC pins_arduino.hSource file 7.7 KB
esp32_devkitc_v4/1 file · 6.4 KB
SRC pins_arduino.hSource file 6.4 KB
esp32_devkit_v1/1 file · 6.3 KB
SRC pins_arduino.hSource file 6.3 KB
heltec_wifi_lora_32_v3/1 file · 8.5 KB
SRC pins_arduino.hSource file 8.5 KB
leonardo/1 file · 6.6 KB
SRC pins_arduino.hSource file 6.6 KB
lilygo_t_beam/1 file · 7.6 KB
SRC pins_arduino.hSource file 7.6 KB
lilygo_t_display_s3/1 file · 8.3 KB
SRC pins_arduino.hSource file 8.3 KB
lolin_s2_mini/1 file · 7.2 KB
SRC pins_arduino.hSource file 7.2 KB
micro/1 file · 6.7 KB
SRC pins_arduino.hSource file 6.7 KB
microbit_v2/1 file · 5.9 KB
SRC pins_arduino.hSource file 5.9 KB
mkr_wifi_1010/1 file · 6 KB
SRC pins_arduino.hSource file 6 KB
nano_33_iot/1 file · 6.1 KB
SRC pins_arduino.hSource file 6.1 KB
nano_esp32/1 file · 6.3 KB
SRC pins_arduino.hSource file 6.3 KB
nano_every/1 file · 6 KB
SRC pins_arduino.hSource file 6 KB
nano_rp2040_connect/1 file · 6.2 KB
SRC pins_arduino.hSource file 6.2 KB
nodemcu_v2/1 file · 6.1 KB
SRC pins_arduino.hSource file 6.1 KB
nodemcu_v3/1 file · 5.8 KB
SRC pins_arduino.hSource file 5.8 KB
nucleo_f401re/1 file · 7 KB
SRC pins_arduino.hSource file 7 KB
pico2/1 file · 6.5 KB
SRC pins_arduino.hSource file 6.5 KB
pico2_w/1 file · 6.6 KB
SRC pins_arduino.hSource file 6.6 KB
pico_w/1 file · 6.5 KB
SRC pins_arduino.hSource file 6.5 KB
teensy41/1 file · 7.5 KB
SRC pins_arduino.hSource file 7.5 KB
ttgo_t_display/1 file · 7.7 KB
SRC pins_arduino.hSource file 7.7 KB
uno_q/1 file · 7.1 KB
SRC pins_arduino.hSource file 7.1 KB
uno_r4_minima/1 file · 5.8 KB
SRC pins_arduino.hSource file 5.8 KB
uno_r4_wifi/1 file · 5.9 KB
SRC pins_arduino.hSource file 5.9 KB
uno_wifi_rev2/1 file · 5.9 KB
SRC pins_arduino.hSource file 5.9 KB
wt32_eth01/1 file · 7 KB
SRC pins_arduino.hSource file 7 KB
xiao_esp32c3/1 file · 5.5 KB
SRC pins_arduino.hSource file 5.5 KB
TXT boards.txtText file 18.2 KB
TXT LICENSE-LGPL-2.1.txtText file 25.9 KB
TXT LICENSE-MIT.txtText file 1.3 KB
TXT platform.txtText file 8.5 KB
TXT README.txtText file 26.1 KB
Proteus Library Files/5 files · 962.4 KB
LIB TEPESP32CAM.LIBProteus library 27.9 KB
LIB TEPHCSR501.LIBProteus library 391.6 KB
LIB TEPLAPTOP.LIBProteus library 39.5 KB
LIB TEPMOBILE.LIBProteus library 13.1 KB
LIB TEPRELAY.LIBProteus library 490.4 KB
Proteus Model Files/3 files · 3.3 MB
DLL TEPHCSR501.DLLSimulation model 400 KB
DLL TEPNET.DLLSimulation model 2.6 MB
DLL TEPRELAY.DLLSimulation model 330 KB
Proteus Simulation/5 files · 3.4 MB
DSN ESP32-CAM-PIR-Snapshot.pdsprjProteus simulation 32 KB
HEX ESP32CAM_PIR_Snapshot.hexCompiled HEX file 70.5 KB
DLL TEPHCSR501.DLLSimulation model 400 KB
DLL TEPNET.DLLSimulation model 2.6 MB
DLL TEPRELAY.DLLSimulation model 330 KB
TXT README.txtText file 15.9 KB

README

README.txt 199 lines
ESP32-CAM LIBRARY FOR PROTEUS - V1.0 (YOUR ESP32-CAM SKETCH, THE OV2640 CAMERA, THE MICROSD CARD AND THE FLASH LED)
Designed by The Engineering Projects
www.TheEngineeringProjects.com

IMPORTANT LINKS
Article (read it first - pictures, step by step, every feature explained):
  https://www.theengineeringprojects.com/2026/10/esp32-cam-library-for-proteus.html
Report a bug or suggest a feature (our forum):
  https://www.theengineeringprojects.com/forum/category/esp32-cam-proteus-library
The demo's parts are our libraries (included) - their articles:
  HC-SR501 PIR sensor:
    https://www.theengineeringprojects.com/2026/10/pir-sensor-library-for-proteus-v4-0.html
  Relay module:
    https://www.theengineeringprojects.com/2026/10/relay-module-library-for-proteus-v1-0.html
  Laptop and phone:
    https://www.theengineeringprojects.com/2026/10/laptop-wifi-monitor-library-for-proteus.html
    https://www.theengineeringprojects.com/2026/10/mobile-wifi-monitor-library-for-proteus.html
Support us (the libraries are free):
  https://www.theengineeringprojects.com/donate

FILE STRUCTURE
ESP32-CAM-TEP-v1.0/
|-- Proteus Library Files/
|   |-- TEPESP32CAM.LIB                                  27.9 KB   the ESP32-CAM, to LIBRARY
|   |-- TEPHCSR501.LIB                                  391.6 KB   the HC-SR501 PIR sensor (demo), to LIBRARY
|   |-- TEPLAPTOP.LIB                                    39.5 KB   the laptop (demo), to LIBRARY
|   |-- TEPMOBILE.LIB                                    13.1 KB   the phone (demo), to LIBRARY
|   |-- TEPRELAY.LIB                                    490.4 KB   the relay module (demo), to LIBRARY
|-- Proteus Model Files/
|   |-- TEPHCSR501.DLL                                  400.0 KB   the HC-SR501 PIR sensor, to MODELS
|   |-- TEPNET.DLL                                       2.63 MB   the board + monitors + network, to MODELS
|   |-- TEPRELAY.DLL                                    330.0 KB   the relay module, to MODELS
|-- Arduino Code/
|   |-- ESP32CAM_PIR_Snapshot/ESP32CAM_PIR_Snapshot.ino    8.5 KB   the demo sketch
|   |-- TEP Boards for Proteus/hardware/                882.5 KB   the Arduino IDE add-on 1.37.0 (205 files)
|-- Proteus Simulation/
|   |-- ESP32CAM_PIR_Snapshot.hex                        70.5 KB   the demo sketch (U1)
|   |-- ESP32-CAM-PIR-Snapshot.pdsprj                    32.0 KB   the demo: a motion-triggered porch camera
|   |-- TEPHCSR501.DLL                                  400.0 KB   copy of the model
|   |-- TEPNET.DLL                                       2.63 MB   copy of the model
|   |-- TEPRELAY.DLL                                    330.0 KB   copy of the model
|-- README.txt                                          ~15.0 KB   this file
Total: 8.61 MB (unzipped). The source code of the models is not included.

WHAT IS IT?
Proteus 8 has no ESP32 or OV2640 model, so this is NOT a real ESP32 or a real camera. It is the AI-Thinker ESP32-CAM -
the 40.5 x 27 mm board with the ESP32-S module and its PCB antenna, the OV2640 camera, the microSD slot, the white flash
LED and 2 x 8 header pins - that runs YOUR ESP32-CAM Arduino sketch in Proteus and takes pictures:
  * You write a normal ESP32-CAM sketch (esp_camera.h: camera_config_t, esp_camera_init, esp_camera_fb_get, sensor_t;
    SD_MMC.h and FS.h; WiFi.h and WebServer.h; the GPIO numbers 0, 1, 2, 3, 4, 12 .. 16, 33) and compile it in the
    Arduino IDE with our board package "TEP Boards for Proteus" 1.37.0 (in Arduino Code - see INSTALLATION).
  * Inside the board, Proteus's own ATmega2560 model runs the compiled sketch at 16 MHz; our model (TEPNET.DLL) wraps
    it: the header pins, the flash LED on GPIO4, the red LED on GPIO33, Wi-Fi with our Laptop / Mobile WiFi Monitors,
    the built-in serial monitor on U0T / U0R - and the camera and the card.
  * The camera: esp_camera_fb_get() takes a picture - a real JPEG at the frame size and quality of the sketch (VGA 640 x
    480 at quality 12: about 20 KB). The model draws the scene of the board's CAMSCENE property: PORCH (a front door at
    night), DESK or TESTCARD. A visitor walks into the picture while the CAMMOTION GPIO is HIGH (13: the PIR on IO13
    sees the same person), and the flash LED on GPIO4 lights the porch. The sensor_t setters change the pictures:
    brightness, contrast, saturation, special effect, hmirror, vflip, colour bars, framesize and quality.
  * The JPEG stays in the board model (the hidden ATmega2560 has 8 KB of RAM): fb->buf is a token. client.write(fb->buf,
    fb->len), server.send_P(200, "image/jpeg", (const char *)fb->buf, fb->len) and file.write(fb->buf, fb->len) pass the
    picture on - to a browser or to the card - exactly as on the real board.
  * The microSD card: SD_MMC.begin, open, write, read, openNextFile, exists, remove, rename, mkdir;
    WebServer::streamFile sends a file. The card's files live in the board model (SDCARD: 4GB .. 32GB, or NO for an
    empty slot); SDFOLDER puts a copy of every file written on your PC - open the photos in any picture viewer.
  * Our Laptop and Mobile WiFi Monitors now show pictures: a page's <img> (and a link to a .jpg) appears in their
    browsers.
TEP additions: the flash LED glows in the simulation; a click on the ESP32-S module opens the Wi-Fi panel, a click on
the U0R / U0T pins the serial monitor (the real board has no USB: the monitor stands in for the FTDI adapter).
Limits (say them before you start): 16 MHz, 8 KB of RAM (the real ESP32: 240 MHz, 520 KB + 4 MB PSRAM), pictures up to
64 KB, the frame's bytes cannot be read in the sketch (fb->buf[i]), JPEG only. See MODEL SCOPE AND LIMITS.

ONE DEVICE (search "ESP32-CAM" in Pick Devices):
  AI-THINKER ESP32-CAM  "ESP32-CAM" V1.0 (Microprocessor ICs > ESP32 Boards), prefix U, model TEPNET.DLL. The serial
  monitor (115200 baud) has Monitor, Plotter and Board tabs (the Board tab: the flash LED, every pin). Like every TEP
  window it has no Windows title bar.
The same TEPNET.DLL also runs our other sketch boards and the Laptop / Mobile WiFi Monitors; it replaces any older
TEPNET.DLL (keep only this newest one in MODELS).

TEST STATUS
V1.0: verified in Proteus 8.5 on 27 Oct 2026 with the demo project as shipped. What the Proteus run showed:
* ESP32-CAM-PIR-Snapshot: the monitor printed "Camera: OV2640 (PID 0x26), VGA JPEG", "microSD card: 3796 MB",
  "Joining TEP-WiFi........." and "Camera page: http://192.168.1.101/"; the laptop (192.168.1.21) and the phone
  (192.168.1.41) opened the page (HTTP 200): "No photo yet", SNAP, LIVE, REFRESH, LIGHT.
* The motion button on the PIR's pop-up: "Motion 1", "Porch light ON", the flash LED lit, then "Photo 1: /photo1.jpg
  (36166 bytes, motion)" - a 640 x 480 JPEG of the porch with the visitor, lit by the flash; the relay's pop-up: K1
  ON (IN LOW).
* REFRESH on the laptop: the page with "Latest: /photo1.jpg" and the photo (the browser fetched /latest.jpg:
  streamFile from the card); the same page on the phone. SNAP on the phone: "Photo 2: /photo2.jpg (35831 bytes, SNAP
  on the page)". LIST in the monitor: photo1.jpg, photo2.jpg, "2 files, 70 KB used". LIVE on the laptop: /capture, a
  JPEG straight from the camera ("Live picture: 35831 bytes").
* About 19 s of simulation in about 3 minutes with the monitor, the PIR's and the relay's pop-ups and both tools
  open; no errors.

INSTALLATION (about 3 minutes)
1. Close Proteus. Extract the WHOLE ZIP to a normal folder (e.g. Desktop).
2. Copy everything in "Proteus Library Files" to the LIBRARY folder of Proteus, for example:
     C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
   (on some PCs: C:\ProgramData\Labcenter Electronics\Proteus 8 Professional\LIBRARY). TEPESP32CAM.LIB is the board; the
   others are the demo's parts: TEPHCSR501.LIB, TEPRELAY.LIB, TEPLAPTOP.LIB and TEPMOBILE.LIB.
3. Copy the DLLs from "Proteus Model Files" (TEPNET.DLL, TEPHCSR501.DLL, TEPRELAY.DLL) to the MODELS folder
   (...\Proteus 8 Professional\MODELS) - replace an older TEPNET.DLL (this one is the first that knows the ESP32-CAM and
   shows pictures in the laptop and the phone).
4. Delete TEPESP32CAM.IDX from the LIBRARY folder if it is there.
5. The Arduino IDE (only to compile your own sketches - the demo has its HEX file): copy the folder
   "Arduino Code\TEP Boards for Proteus\hardware" into your sketchbook folder (normally Documents\Arduino), so that
   Documents\Arduino\hardware\tep\avr\boards.txt exists (replace an older copy); restart the IDE. The Arduino AVR Boards
   platform must be installed (it comes with IDE 1.8.x; in IDE 2.x install "Arduino AVR Boards" from the Boards Manager
   once). Tools > Board > TEP Boards for Proteus > AI Thinker ESP32-CAM (TEP Proteus). esp32-camera, SD_MMC, WiFi and
   WebServer come with the package.
6. Start Proteus. In Pick Devices (P) search "ESP32-CAM".

RUN THE DEMO
Keep the .hex file and the DLLs beside the project in "Proteus Simulation".
ESP32-CAM-PIR-Snapshot.pdsprj - U1 the ESP32-CAM (ESP32CAM_PIR_Snapshot.hex) is a motion-triggered porch camera: U2 =
the HC-SR501 PIR (Advance; OUT on IO13 - also the camera's CAMMOTION GPIO) and RLY1 = the relay (Advance; IN on IO12:
the porch light - the module is active LOW: IN LOW = on). PC1 the Laptop WiFi Monitor and MOB1 the Mobile WiFi Monitor
open http://192.168.1.101/. Press Run. The monitor prints the camera ("Camera: OV2640 (PID 0x26), VGA JPEG"), the card
("microSD card: 3796 MB") and the page's address; the page says "No photo yet". On the PIR's pop-up click the motion
button: a visitor walks to the door, the flash LED lights, 0.2 s later the camera takes a VGA photo - /photo1.jpg on the
card - and the relay switches the porch light on for 10 s. The page now shows the latest photo; SNAP takes one now,
LIGHT switches the porch light, photo1, photo2 ... open each photo and LIVE (/capture) a picture straight from the
camera. The monitor takes SNAP, LIGHT, LIST (the files on the card) and STATUS. The modules' supplies: in the demo the
PIR's and the relay's VCC go to Proteus' power rail (power terminals) - their models read the supply as a digital level;
on a real board the PIR sits on 5V and the relay on its own 5 V supply.

THE PINS (the label on the board, what it can do in the simulation)
  5V, GND, 3V3       5 V in, ground, 3.3 V
  VCC                a supply output (3.3 V; the real board's 0-ohm link picks 3.3 V or 5 V)
  IO0                GPIO (the camera's XCLK on the real board; LOW at reset = flash mode)
  IO2, IO4, IO12 .. IO15  GPIO, interrupt, analogWrite, analogRead (ADC2 on the real ESP32: not while Wi-Fi is on); IO4
  is also
                     the flash LED; on the real board the microSD card uses 2, 4, 12 .. 15 (1-bit mode: 2, 14, 15)
  IO16               GPIO (the PSRAM's on the real board)
  U0R / U0T          Serial (GPIO3 / GPIO1): the FTDI adapter's - the board's monitor here
  GPIO33             the red LED on the back (LED_BUILTIN, lit when LOW; a hidden pin of the board's own)
The camera's pins (5, 18 .. 27, 32, 34 .. 39) are on the board, not on the header: the camera is the board model's.

PROPERTIES (double-click the board > Edit Properties)
  PROGRAM    the sketch's HEX (Arduino IDE: Sketch > Export Compiled Binary with AI Thinker ESP32-CAM (TEP Proteus))
  CAMSCENE   what the camera sees: PORCH (a front door at night; the flash lights it), DESK or TESTCARD
  CAMMOTION  the GPIO that brings a visitor into the picture while it is HIGH (13 = the PIR on IO13), or NONE
  SDCARD     the card: 4GB, 8GB, 16GB, 32GB, or NO (an empty slot: SD_MMC.begin() fails)
  SDFOLDER   a folder on your PC that gets a copy of every file written to the card (empty = none)
  WIFISSID, WIFIPASS  the router;  MONITOR, BAUD, AUTOOPEN  the serial monitor;  TIME  the clock for NTP
Several ESP32-CAMs in one design are fine: each has its own camera, card and serial monitor.

TROUBLESHOOTING
* Nothing happens at Run: the HEX was not built with TEP Boards for Proteus - select AI Thinker ESP32-CAM (TEP Proteus)
  and export the binary again.
* "Camera init failed": esp_camera_init() got no answer - the board must be the ESP32-CAM (another TEP board has no
  camera).
* The sketch stops after SD_MMC.begin(): int is 16 bits here - SD_MMC.cardSize() / (1024 * 1024) divides by 0 (1024 *
  1024 overflows). Write SD_MMC.cardSize() / 1048576UL. The same for every big constant: use L or UL.
* "Card Mount Failed": the board's SDCARD property is NO.
* The photo is dark: the porch is at night - switch the flash (GPIO4) on before esp_camera_fb_get(), as the demo does.
* No visitor in the picture: CAMMOTION must be the GPIO the PIR's OUT is wired to, and that pin HIGH when the picture is
  taken.
* The laptop shows "The picture did not load": the page's <img src> must be on the same board (a path like /latest.jpg).

BUG REPORTS AND FEATURE REQUESTS
Please post them in our forum with a screenshot and the Serial Monitor text:
  https://www.theengineeringprojects.com/forum/category/esp32-cam-proteus-library

LICENCES AND THIRD-PARTY NOTES
* The board model, the camera, the card and the network (TEPNET.DLL), the symbols and artwork (TEPESP32CAM.LIB,
  TEPLAPTOP.LIB, TEPMOBILE.LIB) and the module models (TEPHCSR501, TEPRELAY) are made by The Engineering Projects. The
  board's processor is Proteus's own ATmega2560 model. The source code of the models is not included.
* TEP Boards for Proteus (Arduino Code): its core, the variants and the EEPROM, SPI and Wire libraries are modified
  copies of the Arduino AVR core 1.8.6 - GNU Lesser General Public License 2.1 (LGPL 2.1, the text:
  LICENSE-LGPL-2.1.txt); its esp32-camera and SD_MMC libraries (written by us with Espressif's and the ESP32 core's
  names), WiFi, WebServer, its other libraries and our core files are MIT (LICENSE-MIT.txt).
* Proteus is a product of Labcenter Electronics and is not included. ESP32 is a trademark of Espressif Systems;
  ESP32-CAM is AI-Thinker's board; OV2640 is a name of OmniVision. This library is not made or endorsed by them or by
  Labcenter.

REBUILDING THE FIRMWARE (OPTIONAL)
The HEX file is supplied. Install TEP Boards for Proteus (INSTALLATION step 5), open Arduino Code\ESP32CAM_PIR_Snapshot,
select AI Thinker ESP32-CAM (TEP Proteus) and use Sketch > Export Compiled Binary. For a real ESP32-CAM select "AI
Thinker ESP32-CAM" (Espressif's ESP32 boards package; Tools > PSRAM: Enabled), wire an FTDI adapter to U0R / U0T (IO0 to
GND while it uploads) and upload - the same sketch takes real pictures.

MODEL SCOPE AND LIMITS
Modelled: the ESP32-CAM's header pins on a hidden ATmega2560 (Proteus's AVR model, 16 MHz, 3.3 V); digital I/O,
analogRead, PWM (analogWrite / ledc) and attachInterrupt on the header GPIOs through the board model; the flash LED on
GPIO4, the red LED on GPIO33; Serial on U0T / U0R (the board's monitor); Wi-Fi (station, the WebServer, WiFiClient) with
our network; the OV2640 as JPEG frames from the model's scenes (the frame sizes 96 x 96 .. 1600 x 1200, the quality,
brightness, contrast, saturation, the special effects, mirror, flip, colour bars); the microSD card with its files and
folders (8 open at once). Not modelled: the ESP32 itself (240 MHz, 520 KB RAM, the PSRAM), raw pixel formats (RGB565,
grayscale: frames are JPEG and fb->buf cannot be read in the sketch), pictures over 64 KB (the model encodes a bigger
frame again at a lower quality), the camera's exposure, gain and white balance controls (accepted and logged), face
detection, Bluetooth, the RST button and the red LED on the back (the LED is a hidden pin), the microSD card's pins (the
card is the model's, whatever the pins do), the IPEX antenna switch. Upload over the FTDI adapter is not used (Proteus
loads the HEX). The simulation runs below real time.

VERSION
TEP ESP32-CAM library V1.0 (Oct 2026). Device AI-THINKER ESP32-CAM (TEPESP32CAM.LIB / TEPNET.DLL), TEP Boards for
Proteus 1.37.0 (adds the ESP32-CAM, esp32-camera and SD_MMC). Demo sketch ESP32CAM_PIR_Snapshot V1.0. Demo parts:
HC-SR501 PIR and relay module (the Advance versions), LAPTOP WIFI MONITOR and MOBILE WIFI MONITOR.
Advertisement

Development1 release

  1. V1.0ESP32-CAM Library for Proteus V1.0this page

    V1.0 is the only release in the Download Center so far. When a newer version is published, it appears above with its own download page.

Installation10 steps

From the download to a working project, in order. The steps follow what the package contains.

You will need

  • Proteus Design SuiteProteus 8 or newer (Labcenter), on Windows
  • Arduino IDE1.8 or 2.x, with the board of the tutorial chosen under Tools → Board
  • The compiler named in the tutorialto build the source files into firmware
  • Any archive toolWindows, macOS and Linux extract ZIP files on their own

Steps

  1. 1

    Extract the archive

    Right-click esp32-cam-tep-v1-0-88940f544b4a4a1f8c48e0874deda8cc.zip and choose Extract All (or open it with 7-Zip or WinRAR) into a folder you can find again. Keep its folder structure (ESP32-CAM-TEP-v1.0) as it is.

  2. 2

    Copy the library files into Proteus

    Move TEPESP32CAM.LIB, TEPHCSR501.LIB and TEPLAPTOP.LIB and 2 more and the files into the LIBRARY folder of your Proteus installation: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY for Proteus 8, or the matching Proteus 7 folder. Older versions keep it under ProgramData\Labcenter Electronics. If Proteus is open, close it first.

  3. 3

    Add the simulation model

    Copy TEPHCSR501.DLL, TEPNET.DLL and TEPRELAY.DLL into the MODELS folder next to LIBRARY, so the component can run, not only be drawn.

  4. 4

    Restart Proteus and place the component

    Start Proteus, open a schematic, press P (Pick Devices) and search for the component by the name used in the tutorial. It appears with its pins ready to wire.

  5. 5

    Install the Arduino library

    In the Arduino IDE choose Sketch → Include Library → Add .ZIP Library and pick the library, or copy its folder into Documents\Arduino\libraries. Restart the IDE to see its examples.

  6. 6

    Open the sketch in the Arduino IDE

    Open ESP32CAM_PIR_Snapshot.ino, eeprom_clear.ino and eeprom_crc.ino and 15 more, select your board and port under Tools, then Verify. Sketch → Export Compiled Binary writes the HEX file a simulation needs.

  7. 7

    Build the source code

    Open abi.cpp, Arduino.h and binary.h and 52 more in the compiler named in the tutorial (MikroC, Keil, MPLAB, Code Composer or the Arduino IDE) and build it to get the firmware.

  8. 8

    Load the HEX file

    In Proteus double-click the microcontroller, set Program File to ESP32CAM_PIR_Snapshot.hex and run the simulation. For real hardware, flash the same file with your programmer.

  9. 9

    Open the example simulation

    Open ESP32-CAM-PIR-Snapshot.pdsprj in Proteus to see the wiring exactly as in the tutorial. Check the controller's Program File path, then press Play.

  10. 10

    Follow the tutorial

    ESP32-CAM Library for Proteus: OV2640 Camera, microSD and PIR explains every connection and setting in order; keep it open beside the files while you build.

How to add a library in Proteus 8

FAQs9 questionsContact TEP

How do I download ESP32-CAM Library for Proteus V1.0?

Wait for the 30-second guest countdown on this page, then press the download button; the file comes straight from our storage. Members who are logged in skip the wait. If the browser opens the file instead of saving it, use its Save as option. The download link is made for you when the countdown ends and works for 15 minutes; a saved or shared link stops working, so share this page instead.

What is inside the archive?

ESP32-CAM Library for Proteus V1.0 comes as a ZIP archive of 220 files (3.7 MB, 8.6 MB unpacked) holding Proteus library files, simulation model DLLs, a Proteus simulation, an Arduino sketch, an Arduino library, compiled HEX firmware and source code. Open the File Structure tab for the full list of 220 files.

What should I do if the download does not start?

Check the browser's download list first; an ad blocker or a company firewall can also hold it back, so try another browser or network. If the file arrives incomplete, download it again. For an installation problem, read the Install tab or tell us in the comments with your software version and the exact error message.

Is this file free?

Yes. Every file in the TEP Download Center is free for learning, personal and student projects. If you share it, link back to this page or the tutorial so others find the latest version.

How do I check that the file arrived complete?

Compare its SHA-256 with the one on this page, b61d46fdc8264e1bea129137044f77b9c86ef672fa7572a8cc3ead5a153e367d. In PowerShell run Get-FileHash "esp32-cam-tep-v1-0-88940f544b4a4a1f8c48e0874deda8cc.zip"; on macOS or Linux run shasum -a 256 "esp32-cam-tep-v1-0-88940f544b4a4a1f8c48e0874deda8cc.zip". The same value means the file is exactly the one in our storage; a different one means the download broke off, so download it again.

Do I need WinRAR to open the ZIP file?

No. Windows, macOS and Linux open ZIP archives on their own (Extract All, or double-click). WinRAR and 7-Zip work too. Extract the whole archive before using the files.

Where do I put the LIB and IDX files?

Both files go into the LIBRARY folder of your Proteus installation (Proteus 8: C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY; Proteus 7 has the same folder under its own name). Restart Proteus afterwards and search for the component with P.

Which Proteus version does the library need?

The tutorial names the Proteus version the library was made and tested with. Most TEP libraries work in Proteus 7 and Proteus 8; if the component does not appear after a restart, check that both the LIB and the IDX file were copied and that Proteus was fully closed while copying.

How do I get the HEX file into the simulation?

Compile the sketch in the Arduino IDE (Sketch → Export Compiled Binary gives you the HEX next to the sketch), then in Proteus double-click the board, set Program File to that HEX and run.

preparing · esp32-cam-tep-v1-0-88940f544b4a4a1f8c48e0874deda8cc.zip
Rating
Your download will be ready shortly
Preparing your download…

Members skip the wait. Log in or join TEP.

  • 1Total downloads
  • 4%Popularity
  • ProteusCategory
  • 0Comments
  • ssyedzainnasirUploaded by
  • 28 Oct 2026Uploaded at
Last 14 days1 download
SHA-256 b61d46fdc8264e1bea129137044f77b9c86ef672fa7572a8cc3ead5a153e367d
DocumentationESP32-CAM Library for Proteus: OV2640 Camera, microSD and PIR
Need help with this file? Bug report Ask a question Download problemsGet updates
Advertisement

Comments

0

Join the conversation

Start the conversationAsk a question or share how you used this download.