Project · Bin Night Reminder · ESP32-WROOM-32U

Bin Night Reminder — wiring

A wall clock that never forgets bin night. An ESP32 keeps NTP time, and every Tuesday it shows the right-coloured wheelie bins on the little TFT and beeps through a PAM8302 amp from 6 pm — until you hold the button to say the bins are out. Tap a row to tick it off; pick the colour of the wire you actually used from the middle dropdown and the link recolours to match (saved in this browser).

ESP32-WROOM-32U
Wi-Fi + NTP clock
ST7735S
1.8″ 128×160 SPI
Button
hold-to-clear
PAM8302
amp → 8Ω speaker

What it does (from the firmware · v4.1)

Week A — Red + Yellow
even fortnight from anchor
Week B — Red + Green
odd fortnight from anchor
Connections verified0 / 0

Tap a row to toggle · pick each wire's colour in the middle · saved in this browser

Display · 1.8″ ST7735S · hardware SPI (VSPI)

SCK SCL / CLKGPIO 18
SDA MOSI / DINGPIO 23
CSGPIO 5
DC A0 / RSGPIO 16
RST RESETGPIO 17
VCC3V3
LED backlight3V3
GNDGND
SCK 18 & MOSI 23 are the ESP32's default hardware-SPI pins. MISO isn't used — the display is write-only. The sketch uses INITR_BLACKTAB; if colours/offset look wrong, try GREENTAB. The bin colours you see are drawn on this screen — the earlier hardware indicator LEDs were removed.

Button · momentary push · hold-to-clear / hold-for-test

Button leg AGPIO 33
Button leg BGND
Wired straight GPIO 33 → button → GND. The firmware uses the chip's INPUT_PULLUP so it reads HIGH at rest and LOW when pressed — no external resistor needed. Hold 4 s on bin night = clear; hold 10 s on other days = self-test.

Audio · PAM8302 Class-D amp · drives the 8Ω speaker

A+ audio in +GPIO 32
A− audio in −GND
SD enable (tie high)3V3 / Vin
Vin5V
GNDGND
Speaker OUT+ / OUT−amp out
The firmware makes the beep with tone() on GPIO 32, which feeds the PAM8302's A+ input (A− → GND). Power the amp from Vin → 5V, GND → GND, keep it enabled by tying SD high, and wire the 8Ω speaker across OUT+ / OUT−. ⚙️ Optional: a small series resistor + cap on A+ softens the square-wave beep — confirm against how you built the input side.

Ground & power · the commons

Common GNDGND
Tie every ground together — display GND, the button, and the PAM8302's GND / A− all share the ESP32's GND. USB powers the board; 3V3 feeds the display, 5V (Vin) feeds the amp.

Firmware · bin_night_reminder.ino (v4.1)

The Arduino sketch that runs the device. Enter your own Wi-Fi SSID + password at the top before flashing — they're shown here as placeholders. Board: ESP32 Dev Module · Libraries: Adafruit GFX + Adafruit ST7735 and ST7789.

Bin Night Reminder — visual wiring mock-up (every connection)

WIRING DIAGRAM · BIN NIGHT REMINDER ESP32-WROOM-32U · 1.8″ ST7735S SPI · momentary button · PAM8302 amp → 8Ω speaker (no indicator LEDs) 3V3 / 5V GND SPI clock/data display control button audio / speaker greyed = unused pin WROOM-32U ESP32 WROOM-32U 5V GND 33 32 3V3 GND 18 23 5 16 17 only the pins used are shown 1.8″ ST7735S · 128×160 bin graphics VCCGND RSTCS SCKSDA A0/DCLED PUSH BTN PAM8302 · Class-D amp VinGNDSD A+A− OUT+OUT− 8Ω SPK