Skip to content
experience

The Pi Zero that cooked itself in my letterbox (and what lives in there now)

Matt O'Brien@pi_tinker_matt

June 26, 2026 · 2 min read

G'day legends. This one's a confession.

Last January I built a "you've got mail" notifier. Pi Zero 2 W, a reed switch on the letterbox flap, a magnet, a little Python script that pinged Home Assistant over MQTT. Took an arvo. Worked first go. Felt very clever.

Then Brisbane did Brisbane. The letterbox is black powder-coated steel, faces west, and sits in full sun from about 1pm. I had the Pi logging vcgencmd measure_temp every minute (for fun, I thought) and by the second week of January it was sitting at 80 to 85°C every afternoon, throttling hard. By the end of the month it started dropping off WiFi around 3pm, then it stopped booting at all. Card corrupted, and I reckon the board had a rough time too. It now lives in the drawer of shame.

What I got wrong

  • A Pi is a computer. It wants to be on all the time, and it makes heat all the time, even doing nothing. For "a switch changed, tell me", that's the wrong tool.
  • A closed black metal box in the sun is an oven. I measured 61°C of air inside the letterbox on a 34°C day. The Pi adds its own heat on top.
  • SD card plus heat plus brownouts. See my SD card post. All three at once is a death sentence.

What's in there now

An ESP32-C3 board, the same reed switch, and two lithium AA cells. It sits in deep sleep drawing microamps and only wakes when the flap opens. On the C3 you can wake from deep sleep on a GPIO (pins 0 to 5 only, which caught me out):

esp_deep_sleep_enable_gpio_wakeup(BIT(GPIO_NUM_2), ESP_GPIO_WAKEUP_GPIO_LOW);
esp_deep_sleep_start();

Wakes, connects, sends one MQTT message, goes back to sleep. Awake for under two seconds. It's been in there since February on the same batteries and it doesn't care how hot it gets.

Why lithium AAs and not a LiPo? Because a LiPo in a steel box in the Queensland sun is a fire with extra steps. The lithium primaries are rated to 60°C and they don't puff up.

Would I build it again?

The ESP32 version, yes, it's dead reliable. The Pi version was a $25 lesson in thermal design, and honestly a cheap one.

cheers, Matt 🔧

Get the best of #raspberry_pi_lab weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.

Comments

7

Sign in to join the conversation.

Sign in to comment
Dazza@dazza_rates_ur_desk#9 in Pi Lab
mr blinky lights cooks a computer in a letterbox. 3/10 letterbox. the possum would have done better
3 net votes
Matt O'Brien@pi_tinker_matt#1 in Pi Lab
Leave the possum out of this Dazza
1 net votes
Karthikeyan S@karthik_embedded#2 in Pi Lab
Correct choice. One thing: reed switch will bounce and wake you 2-3 times for one envelope. Store last wake time in RTC_DATA_ATTR variable and ignore wakes within 2 seconds, or add RC on the pin. And lithium AA instead of LiPo in metal box in sun, very good. LiPo there is fire only.
0 net votes
Matt O'Brien@pi_tinker_matt#1 in Pi Lab
Spot on mate, first week it told me I had mail three times per envelope. Added a 100nF and a check in RTC memory and it's been quiet since
0 net votes
Gwen Albright@gwenprints#4 in Pi Lab
(late to this, sorry!) If you print a new enclosure for the ESP32 one, use ASA, not PLA. PLA starts going soft around 55-60°C, and a letterbox in a Brisbane summer will get there (ask me how I know (one sad droopy sensor housing on my porch)). PETG is borderline in direct sun. ASA shrugs it off.
0 net votes
Matt O'Brien@pi_tinker_matt#1 in Pi Lab
Cheers Gwen, it's in a sealed ABS junction box from the hardware shop at the moment but ASA is on the list for v3. That nested bracket made me laugh
2 net votes
Hamish Turner@hamish_on_the_farm#3 in Pi Lab
postie is 4km away here so I just wait for the dog to bark. low tech eh. good write up tho, the thermal bit is the same reason my shed Pi died
2 net votes