A retro-inspired digital clock using four 1.3" OLED displays to recreate the aesthetic of vintage nixie tubes. Features 11 animated themes, battery monitoring, and distributed architecture across four Arduino Nanos.
- 11 Animated Themes: Classic, Sparkle, Scan, Rain, Fire, Pulse, Neon, Matrix, Flicker, Blink, and Glitch
- Real-Time Clock: DS3231 RTC module for accurate timekeeping
- Battery Monitoring: Dual 18650 batteries with voltage display and percentage gauge
- USB-C Charging: TP4056-based charging circuit
- Distributed Architecture: Four Arduino Nanos for smooth animations without memory constraints
- Unique Design: OLED screens hang like flags from vertical posts
| Component | Quantity | Notes |
|---|---|---|
| Arduino Nano (or clone) | 4 | ATmega328P |
| 1.3" SH1106 OLED Display | 4 | SPI interface |
| DS3231 RTC Module | 1 | With battery backup |
| 18650 Li-ion Battery | 2 | In parallel |
| TP4056 Charging Module | 1 | USB-C preferred |
| MT3608 Boost Converter | 1 | Set to 5V output |
| HiLetgo Voltage Sensor | 1 | 0-25V module |
| Momentary Push Button | 1 | For controls |
| Perfboard/PCB | - | For wiring |
┌─────────────────┐ Serial ┌─────────────────┐
│ Nano 1 │───────────────│ Nano 2 │
│ (Master) │ │ (Voltage) │
│ Hour Tens │ │ Hour Ones │
│ RTC + Button │ │ + Voltage │
└─────────────────┘ └────────┬────────┘
│ Serial
┌────────┴────────┐
│ Nano 3 │
│ (Gauge) │
│ Minute Tens │
│ + Battery % │
└────────┬────────┘
│ Serial
┌────────┴────────┐
│ Nano 4 │
│ (Display) │
│ Minute Ones │
└─────────────────┘
- Print the enclosure - STL files in
/stlfolder - Upload code - Upload each sketch to its corresponding Nano
- Wire everything - Follow the wiring guide in
/docs - Calibrate voltage - See CALIBRATION.md
- Set the time - Hold button 5 seconds to enter time-setting mode
| Action | Function |
|---|---|
| Short press | Cycle through themes |
| Hold 5 seconds | Enter time-setting mode |
| Hold 2.5 seconds (in set mode) | Switch between H/M/S/AM-PM |
| Hold 5 seconds (in set mode) | Save and exit |
├── code/
│ ├── nano1_master/ # Master - RTC, buttons, hour tens
│ ├── nano2_voltage/ # Voltage monitoring, hour ones
│ ├── nano3_gauge/ # Battery gauge, minute tens
│ └── nano4_display/ # Minute ones display
├── stl/
│ ├── enclosure-main.stl # Main housing
│ ├── enclosure-lid.stl # Top cover
│ ├── display-cover.stl # OLED screen covers
│ └── stand-short.stl # Display stand
├── docs/
│ ├── INSTALLATION.md # Detailed setup guide
│ ├── CALIBRATION.md # Voltage calibration
│ └── BUILD_GUIDE.html # Complete builder's guide
└── images/
Install these libraries in Arduino IDE:
- U8g2 - Graphics library for OLED displays
- RTClib - For DS3231 RTC communication
- Wire - I2C communication (built-in)
- SPI - Display communication (built-in)
- SoftwareSerial - Inter-nano communication (built-in)
- Installation Guide - Step-by-step setup
- Calibration Guide - Voltage sensor calibration
- Complete Build Guide - Comprehensive reference
| # | Theme | Description |
|---|---|---|
| 0 | Classic | Clean, static nixie-style digits |
| 1 | Sparkle | Random pixel sparkles around digits |
| 2 | Scan | Horizontal scanning line effect |
| 3 | Rain | Matrix-style falling particles |
| 4 | Fire | Animated flame effect at digit base |
| 5 | Pulse | Gentle brightness pulsing |
| 6 | Neon | Glowing neon sign aesthetic |
| 7 | Matrix | Digital rain overlay |
| 8 | Flicker | Vintage tube flicker simulation |
| 9 | Blink | Subtle periodic blink |
| 10 | Glitch | Random digital glitch effects |
The Arduino Nano has only 2KB of RAM. Running smooth animations, multiple themes, RTC communication, and voltage monitoring simultaneously exceeds this limit. The distributed architecture:
- Eliminates memory constraints
- Prevents SPI bus contention
- Allows independent display updates
- Enables smoother animations
- Provides headroom for future features
Clock loses time rapidly
- Likely a defective/counterfeit DS3231 module - replace it
Display shows "X"
- Serial communication lost between Nanos - check TX/RX wiring
Voltage reads incorrectly
- Needs calibration - see CALIBRATION.md
Theme animations stutter
- Normal on complex themes; the distributed architecture minimizes this
MIT License - See LICENSE for details.
- U8g2 Library by olikraus
- RTClib by Adafruit
- Inspired by classic nixie tube clocks of the 1960s-70s
