Back Homepage

ESP32 Compact Camera to Discord

ESP32, C++, SolidWorks

Completed: 1 May 2025

This project is a self-initiated exploration into using the ESP32-WROVER-CAM for low-power, battery-operated photo capture and wireless sharing.
The goal was to create a handheld camera device that can instantly take a photo and send it to a private Discord channel, with minimal delay, wiring, or user interaction.

The idea came from wanting a way to instantly share photos with friends during social events — without needing to unlock a phone, open an app, or manually upload anything. The device handles everything with a single tap.

When powered on, the ESP32 connects to Wi-Fi, initializes the camera module, captures a photo, and uploads it to an FTP server. A hosted Node.js server listens for new uploads, generates a public URL, and shares the photo in Discord using a webhook.
The process from touch to Discord post is typically under 3 seconds.

This project was a valuable exploration into low-power embedded systems, fast boot reliability, and simple IoT integrations — all while working within the ESP32's limitations.

Interesting features:

  • ESP32-WROVER-CAM module using the OV2640 camera.
  • Shutter button uses an ESP32 capacitive touch pin, simplifying the design (no pull-down resistor or mechanical switch needed).
  • Photo captured and posted to Discord in under 3 seconds.
  • Uploads image to a server via FTP, where a Node.js Express server handles link generation and webhook posting.
  • Powered by a 3.7V 18650 Lithium-Ion cell using a Pololu U3V16F3 3.3V step-up voltage regulator.
  • OLED 0.96" display (optional) for debug messages, not required for normal operation.
  • Delayed subsystem initializations to improve boot reliability when running from battery.
  • All logic and communication handled directly by the ESP32.
  • Compact, untethered form factor, suitable for field or personal use.
Project image Project image Project image Project image Project image Project image Project image Project image Project image Project image Project image