Keeping Time in the Dark: Adding an External RTC to My Pwnagotchi

Keeping Time in the Dark: Adding an External RTC to My Pwnagotchi
don't judge the 'green bandage tape' it works!

One of the few quirks of the Raspberry Pi Zero 2 W—the brain of my Pwnagotchi—is its lack of a Real-Time Clock (RTC). Without an internet connection to sync via NTP, the Pwnagotchi forgets the time every time it reboots. This leads to messy logs and "back to the future" timestamps on your handshakes.

I decided to fix that by hard-wiring a dedicated RTC module directly to the GPIO pins. Here’s how I went from a bulky fail to a sleek, soldered success.

The Search for the Right Fit

My first attempt was with the ChronoDot v2.0. While it’s a high-precision beast, I quickly realized it was way too big for a portable build. Pwnagotchi setups are all about "pocketability," and the ChronoDot made the unit look like it had a sidecar.

I eventually settled on the DS3231 Precision RTC Clock Module from Amazon. It’s tiny, uses the same high-accuracy chip, and—crucially—fits perfectly under the e-ink display once you modify it.

The Hardware Prep

The module usually comes with a female header pre-installed. To keep the profile as slim as possible, I used a soldering iron and a solder sucker to remove the female header pins.

Once the pins were out, I had a flat PCB ready for some "internal" wiring.


The Install: Under-the-Hood Soldering

To keep the GPIO pins free for the Waveshare display, I chose to solder the RTC wires directly to the underside of the Raspberry Pi Zero 2 W GPIO pads.

Wiring Map

I used thin, color-coded ribbon cable to connect the four essential pins:

RTC PinPi GPIO Pin (Physical)Function
VCCPin 13.3V Power
GNDPin 9 (or any Ground)Ground
SDAPin 3I2C Data
SCLPin 5I2C Clock
Pro Tip: Keep your wires short! Long wires can introduce interference and make it harder to close your Pwnagotchi case.

I tucked the module neatly away and secured it with a bit of green field hockey-stick tape to prevent any shorts against the Pi's components. It’s not pretty inside, but it’s solid.


Software Configuration

Once the hardware was in, I had to tell the Pwnagotchi (and Raspbian) to look for the new clock.

  1. Enable I2C: Run sudo raspi-config and enable I2C under Interface Options.

Sync the Clock: Reboot, then set the hardware clock from the system time once:Bash

sudo hwclock -w

Edit Config: Open the boot config file:Bash

sudo nano /boot/config.txt

Add this line to the end:Plaintext

dtoverlay=i2c-rtc,ds3231

The Result

Now, every time "Steven" (my Pwnagotchi) wakes up, he knows exactly what time it is. No more messy logs, and the build remains incredibly slim despite the added hardware.

If you're tired of 1970 timestamps on your pcap files, this $10 upgrade is a total game-changer.