PresenceCam
Sensor readings on a small screen and on the web, presence detection, and a tamper-evident event log. Pick your parts, wire them as shown, install. Firmware 2.0.0.
1Board
Network
Storage
2Display
3Layout
4Sensors
Camera optional
A rule on the device's web page can then take a photo when a reading crosses a value. Photos are kept on the board and shown on its web page.
5What to show where
For each reading: on the board's screen, on its web page, both, or neither. Hidden readings still work in rules and on the serial console.
| Reading | Show on |
|---|
6The web page
How the board's own page looks (open it at the address on the screen, or http://presencecam-xxxx.local).
Theme
Readings
Sections
Settings, network and firmware
7Wire it
| Part | Its pin | To board pin |
|---|
Unplug USB while wiring. 5 V parts go to VIN/5V, everything else to 3V3. Signal pins on these parts are 3.3 V, so they connect straight to the ESP32.
8Install the firmware
The firmware is made here for your setup: the board, parts, pins, what shows where and the web page are all built in, so the board starts ready to go.
Plug the board in with a USB data cable, click the button and pick the port (often called CP210x, CH340, USB Serial or USB JTAG/serial).
Which Arduino core to build on. Core 3 is the default and the only one with Ethernet; core 2 is the older, long-tested one. Both have the same features otherwise.
ESP32-P4 chips come in two revisions that need different firmware. The revision is printed on the chip (v1.0, v1.3 or v3.x) and shown in the installer's log. If the board doesn't start after installing, install the other one.
On a new board, let it erase the device when asked. When it finishes it asks for your Wi-Fi name and password and sends them over the cable. Then close the installer window.
Already installed?
Update over Wi-Fi: download the firmware for this setup and upload it on the board's web page under Firmware. Settings and Wi-Fi stay.
Or send just the setup over USB, without reinstalling. Use it whenever you change the parts.
The setup as JSON
It's what gets sent. You can also paste it into the serial console yourself: config set {…}.
Using it
- Screen: the layout's pages of readings, then Network and Device pages.
- Web page: the address is on the Network page, or
http://presencecam-xxxx.local. It has live readings, the verified event log, settings and firmware updates.
Buttons
| Press | Does |
|---|---|
| BOOT, short | Next screen page |
| BOOT, double | Dim / brighten the screen |
| BOOT, hold 3 s | Show the web address and a QR code |
| BOOT, hold 10 s | Forget Wi-Fi and restart into setup |
| RST, once | Restart (as always) |
| RST, twice quickly | Open the PresenceCam-XXXX setup network for 10 minutes |
| RST, three times quickly | Safe mode for one boot: ignores the setup, no sensors. Use it if a bad setup stops the board from starting. |
Holding BOOT while pressing RST or plugging in still starts the chip's download mode, for flashing.
Troubleshooting
No port shows up
Use a data cable; many USB cables only charge. Install the driver for your board's USB chip: CP210x or CH340. ESP32-S3 boards with native USB need no driver. On Linux, add yourself to the dialout group.
"Failed to connect" or stuck at "Preparing"
Hold BOOT, click Connect & install again, and let go once the progress bar moves. Close the Arduino IDE or any serial monitor that may have the port open.
"Send setup" says the board didn't answer
Close the installer's Logs & console window (only one program can use the port), wait for the board to finish starting, and send again. On some boards, press RST once first.
The screen stays dark
Check VCC to 3V3, GND, and that SDA and SCL aren't swapped. The board's web page and serial console (status) say whether the display was found.
The LD2410 shows no distance
TX and RX are crossed: the radar's TX goes to the ESP32's RX pin in the table above. Presence still works from OUT, without distance.
Brownout resets / the board keeps restarting
The Wi-Fi radio draws short spikes of 300–500 mA when it starts, and many NodeMCU boards can't hold 3.3 V through them on a weak USB supply. The firmware reacts by itself: after one brownout it restarts Wi-Fi at low power (8.5 dBm), and after two it leaves Wi-Fi off for that start and says so on the screen. The screen, sensors and console keep working. To fix the cause:
- Use a short, thick USB cable straight into the computer or a 5 V / 1 A+ charger, not a hub.
- Solder or plug a 470–1000 µF electrolytic capacitor across 3V3 and GND (stripe to GND). This fixes most boards.
- The same weak power can make installs fail with "bad data checksum" (status 193). Fix the power, then install again.
You can also pick the Wi-Fi power on the device's web page or with txpower 8.5 in the console.