Start typing to edit and preview on the simulated OLED
Ctrl+S to save
Settings
Device configuration and preferences
WiFi Configuration
Reading Behaviour
Storage Details
System Resources
Framework & Build Baseline
Firmware Update
Upload a compiled .bin file via OTA to update the device firmware.
User Guide
Complete documentation for your D.E.V_Darshan reader
Documentation
Step 1: On the device Home screen, navigate to WiFi Portal and press SELECT to confirm.
Step 2: The OLED display will show the WiFi network name and IP address. Connect your phone or computer to the displayed WiFi network.
Step 3: Open any web browser and go to 192.168.4.1
Tip: The portal will auto-shutdown after 5 minutes of inactivity to conserve battery.
Use the WiFi portal upload flow at 192.168.4.1. The device validates each upload and streams data to SD storage safely.
Files are sorted newest-first in firmware and the list is capped at 200 files for RAM safety.
The system accepts only .txt files and rejects empty or oversized uploads.
Limits: 2 MB max upload size and 64 KB max web editor file size.
The Editor tab is your main workspace: type or paste text, use formatting tools, and preview wrapped output live on the OLED simulator.
The editor shows a live character and line counter. Click Save to push content to the device backend endpoint, or Close to reset the editor session.
Use Ctrl+S (or Cmd+S) as a keyboard shortcut to save.
Limit: Web editing supports files up to 64 KB. For larger files, download, edit locally, and re-upload.
UP Button (GPIO13): Navigate up through menus. In reading mode, short press scrolls up by one page; hold for continuous line-by-line scrolling.
DOWN Button (GPIO0): Navigate down through menus. In reading mode, short press scrolls down by one page; hold for continuous scrolling. Do not hold during power-on (boot pin).
SELECT Button (GPIO12): Context-aware action. In menus, it enters the selected item. In reading mode, it acts as Back.
Flow: Home → WiFi Portal / Files / Settings. Files → Select file → Reading mode. SELECT always returns to the previous screen.
Battery: 3.7V 1100mAh Li-ion cell with TP4056 USB charging. Red LED = charging, Blue/Green LED = fully charged.
Auto Sleep: After 5 minutes of inactivity, the device enters light sleep. Display turns off, CPU power draw is minimised.
Wake Up: Press any button (UP, DOWN, or SELECT) to instantly resume from where you left off.
WiFi Power: WiFi and Bluetooth radios are fully disabled during reading. They activate only when entering WiFi Portal from the Home menu.
Magnetic Switch: The magnetic reed switch provides hardware power cutoff — zero standby drain, ideal for long-term storage.
Main Entry: D.E.V_Darshan_Sketch.ino controls setup and loop flow.
Core Modules: config (pins/settings), display (OLED rendering), sd_reader (line reader + bookmarks), buttons (debounce/press types), wifi_portal (AP + web server), and portal.h (embedded UI).
Design Decisions: line-by-line buffering keeps memory usage stable, bookmarks persist using ESP32 Preferences (NVS), and SD_MMC 1-bit mode frees critical GPIOs for safer boot.
State Flow: BOOT_INIT → HOME → FILE/SETTINGS/WIFI_PORTAL → READING.
Toolchain: Arduino IDE 2.x or PlatformIO with ESP32 board package (2.0.x+).
Board: AI Thinker ESP32-CAM, upload speed 115200, QIO flash mode, 80MHz flash frequency, default 4MB with SPIFFS partition.
Libraries: U8g2 plus built-in ESP32 libraries (WebServer, WiFi, SD_MMC, Preferences, FS).
Important: after final assembly, GPIO1/GPIO3 are reused for OLED I2C, so serial debugging is limited and OLED status output is preferred.
About
Full project profile and device runtime details from README
D.E.V_Darshan
ESP32-CAM Smart Reading Device v1.0 · Offline-first and low-power by design
Project & Device Specifications
| Project Version | D.E.V_Darshan v1.0 |
| Core Platform | ESP32-CAM (AI Thinker), ESP32-S + PSRAM |
| Flash / Memory | 4MB Flash + PSRAM buffering support |
| Device Runtime (OS Base) | Espressif ESP32 Arduino Core (2.0.x+) |
| Firmware Framework | Arduino (U8g2 + WebServer + WiFi + SD_MMC + Preferences + FS) |
| Display | SSD1306 OLED 128×32, 4-line reading view |
| Characters / Line | 21 chars (6x10 body font), word-wrap optimized |
| Storage Medium | MicroSD (FAT16/FAT32, typically up to 32GB) |
| SD Interface | SD_MMC 1-bit mode (GPIO2, GPIO14, GPIO15) |
| File Limits | Up to 200 files managed, newest-first sorting |
| Portal Limits | 2MB max upload, 64KB max web editing, .txt only |
| WiFi Portal | SSID D.E.V_Darshan, IP 192.168.4.1, single client focus |
| Firmware Update | OTA .bin flashing from Settings tab |
| Power System | 3.7V 1100mAh Li-ion + TP4056 + magnetic reed switch |
| Battery Estimate | ~31h reading / ~37h mixed / ~9h WiFi session |
| Build Partition | Default 4MB with SPIFFS |
Device OS / Firmware Stack
Major Features from README
- Reads .txt files line-by-line (memory-safe for very large files)
- Newest-first file sorting with wrap-around menu navigation
- Per-file bookmark restore using NVS non-volatile storage
- Live OLED preview and web editor with 64KB safety cap
- Drag-drop uploads with progress, type checks, and size checks
- OTA firmware update from the portal Settings tab
- Offline-first behavior: radios disabled outside WiFi portal mode
- Zero external resistor hardware strategy with boot-safe GPIO mapping
- Mobile-first portal UI with touch-friendly controls
- Distraction-free reading focus with low-cost hardware (about $10 BOM)
Power, Performance, and Safety Profile
Build & Deployment Notes
Built with precision. Powered by passion.
sakshyambastakoti.com.np