Shopcam 2000

I built a button that records the past

2026 Runtime 10:37

Thumbnail for “I Built a Button That Records the Past”
Watch on YouTube · 10:37

The technical notes are up: how every piece works, from the Blue Iris settings that count to the button’s battery math. The full write-up is on Hackaday.io.

What it does

The cameras never stop watching, and nothing is ever kept - Blue Iris holds a rolling sixty-second buffer per camera and overwrites it forever. Pressing the button tells the Controller to trigger every armed camera, which flushes each buffer to disk: sixty seconds before the press and ten after, from nine angles, filed into one folder named for the moment. Your hand coming down on the button is in the footage.

There is no record button to remember. There is no SD card. The system was built before the channel uploaded its first video, so that filming would never be allowed to change how the engineering happens.

The parts

Everything that appears in the video, grouped so you can find the one bit you care about. Amazon links carry my affiliate tag. Where a camera is discontinued the link is the closest thing you can still buy, and it says so.

The button

The cameras

Cheap IP cameras got expensive in the three months I spent recording and producing this video. So I went back through the original parts and found what I would buy at a reasonable price (if I had to redo the whole thing tomorrow).

// “closest” means close in price and in firmware. Firmware decides whether a camera talks to Blue Iris; the spec sheet doesn’t.

If I had to replace any one of them, I would buy this:

The nine I actually run, and the closest thing to each you can still buy:

  • CAM1 - OBSBOT Tiny 4K, USB, bridged to RTSP. Discontinued; closest today: OBSBOT Tiny 2 Lite - same camera line (and less than the $149 I paid).
  • CAM2 - Amcrest ASH21-B. Discontinued; closest today: Amcrest ASH41-B - same family, same Blue Iris support (about three times the $19 I paid).
  • CAM3 - generic 4 MP PoE box camera with a 6–12 mm varifocal lens, XMEye firmware. Closest today: 4 MP PoE mini box, 2.8–12 mm varifocal, XMEye - same firmware, wider zoom range.
  • CAM4 - Amcrest IP2M-841EB PoE pan-tilt. Discontinued; closest today: Amcrest IP2M-841B - the same camera, but WiFi instead of PoE.
  • CAM5 - OBSBOT Tiny (original), USB, bridged. Discontinued; closest today: OBSBOT Tiny 2 Lite - the cheapest OBSBOT that still pans and tilts.
  • CAM6 - Foscam R2C. Discontinued; closest today: Foscam R4S - same pan-tilt line (but the listing never mentions ONVIF or RTSP, so I can’t promise it talks to Blue Iris). A used R2C is the safer bet: eBay search.
  • CAM7 - Amcrest IP4M-1041W 4 MP pan-tilt WiFi
  • CAM8 - ELP 5–50 mm varifocal 1080p USB camera - the top-down bench camera
  • CAM9 - the rig’s own desktop, captured by ffmpeg. Free.

Light and colour

Network and recording

Affiliate links - as an Amazon Associate I earn from qualifying purchases.

Files & Sources

The Stack

Recorder Blue Iris on a decommissioned Dell OptiPlex · 60 s pre-roll buffer on every camera
Cameras 9 angles - PoE IP cameras, two USB OBSBOTs bridged to RTSP, a bench cam, the desktop
Button Seeed XIAO ESP32S3 on battery → ESP-NOW → ESP32 master → UART → ESP32 WiFi bridge → Controller
Controller Python (FastAPI) · phone-sized web UI · arms cameras, triggers the save, sorts nine clips into one folder
Bridges ffmpeg per USB device → MediaMTX → Blue Iris, supervised
Audio Wireless lav as its own Blue Iris track; sync in post by waveform