I recreated the Ferris Bueller intercom as a working doorbell, and the main problem turned out not to be the audio or the wireless link but power. The goal was simple enough: mount an intercom-style box by the front door, play Ferris’s recorded message when someone pressed the button, and also trigger the existing indoor doorbell so people in the house still knew someone was there.
I based it on a NuTone intercom box that looked close to the one from the movie, but I picked a deeper model so the electronics would actually fit inside. For the control board I used an ESP32, and for sound I used a small DFRobot MP3 player module with a speaker connected directly to it. I had planned to run the whole thing from an 18650 lithium-ion battery, and I removed the header pins from the boards so I could stack them more tightly inside the case.

The indoor side was already built from an earlier hacked doorbell project, so I reused that as the receiver. The new intercom unit sent a signal back to the house with ESP-NOW rather than regular Wi-Fi. That avoided the overhead of joining a network and made the whole wake-up, send, play, and sleep cycle faster, which matters when you’re trying to keep power draw down.

The intercom stayed asleep until the button was pressed. That woke the ESP32, which first sent the doorbell signal to the indoor receiver and then told the audio module to play the Ferris Bueller quote through the speaker. Once the message finished, the board went back to sleep and waited for the next press.

I wired the ESP32 and audio module into a compact stack and fitted it into the bottom of the intercom case with room left for the battery. The first test worked right away, including the indoor doorbell trigger, and the speaker was louder than I expected. I also noticed the board LED stayed on in sleep mode, so I considered removing it to save a little current.

When I measured power draw, the numbers changed the plan. Idle current sat at about 0.02 amps, and when the unit was active it peaked around 40 milliamps. Removing the red LED didn’t lower the idle draw, and the reason turned out to be the audio module itself, which had a 20 milliamp standby current. With a 5000 mAh battery, that worked out to only about 250 hours, or roughly 10 days, before needing a recharge.

I went ahead and kept the build simpler instead of adding another microcontroller and a MOSFET or relay just to switch power to the audio board. To power it continuously, I reused the original doorbell transformer and a board from the parts bin that had space for a full bridge rectifier and a 5-volt linear regulator. With the parts fitted into the case, I mounted the intercom next to the front door, drilled through to the garage side, pulled the wire through with the drill bit, and secured the bracket with anchors and screws.
The finished unit played the Ferris Bueller message at the door and triggered the indoor doorbell at the same time. I added a small sign so visitors would know it was a movie-themed button and not a working house intercom.
— Aaron
Links
- ESP32 Board
- DFRobot Mp3 Player
- Code used in this episode
- “Fakebit World”, “Not Awake”, and “Sugar Flow” by Malmen
- “T.I.M.E.” by Emil Rottmayer
Timestamps
00:00 – Intro
00:50 – The Idea
03:06 – The Parts
07:00 – How It Works
10:15 – Testing
12:45 – Power Draw
17:14 – Assembly And Installation
19:30 – Final Test And Wrap Up
