Skip to content

robegamesios/PipBoy3000

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 

Repository files navigation

DIY Pip-Boy 3000 Mark IV

A fully functional Pip-Boy 3000 Mark IV replica inspired by the Fallout series. This project combines a digital clock, environmental sensors, and internet radio functionality into a retro-futuristic wearable device.

IMG_6981

You can get the files and instructions (Diagrams) from: https://www.thingiverse.com/thing:6654866

Features

🕒 STAT Menu - Time Display

  • 12-hour digital clock format with flashing colon
  • Dynamic time period indicators:
    • Morning (5:00 AM - 11:59 AM)
    • Afternoon (12:00 PM - 4:59 PM)
    • Evening (5:00 PM - 8:59 PM)
    • Night (9:00 PM - 4:59 AM)
  • Animated Vault Boy display

📊 DATA Menu - Environmental Monitoring

  • Temperature display in Fahrenheit
  • Humidity sensor readings
  • Retro-style UI with Fallout-inspired graphics
  • Radiation meter animation

📻 RADIO Menu

  • Internet radio functionality with three preset stations:
    • 60s and 70s Hits
    • 70s Greatest Hits
    • Q102 80s
  • Song information display (artist and title)
  • MP3 player support via DFPlayer Mini
  • Custom sound effects for menu navigation

Hardware Requirements

Pin Configuration

MP3 Player:
- RX: GPIO16
- TX: GPIO17

I2S DAC:
- BCLK: GPIO12
- LRC: GPIO13
- DOUT: GPIO14

Input Buttons:
- STAT: GPIO25
- INV: GPIO26
- DATA: GPIO27
- TIME: GPIO32
- MP3PLAYER: GPIO33
- RADIO: GPIO34
- RADIO1: GPIO35
- RADIO2: GPIO36

Software Dependencies

  • TFT_eSPI library
  • WiFiManager
  • NTPClient
  • DFRobotDFPlayerMini
  • Adafruit_AHTX0
  • AnimatedGIF
  • Audio libraries for ESP32 (for internet radio)

Setup Instructions

  1. Install required libraries through Arduino IDE
  2. Configure your WiFi credentials:
const char *ssid = "YOUR_WIFI_SSID";
const char *password = "YOUR_WIFI_PASSWORD";
  1. Set your timezone:
int UTC = -8;  // Adjust according to your timezone
  1. Configure notification volume (0-30):
uint16_t notification_volume = 25;
  1. Format SD card as FAT32 and add your MP3 files
  2. Upload the code to your ESP32

Usage

The Pip-Boy interface is navigated using the Rotary Switch:

  • TIME: Display clock with animated Vault Boy
  • DATA: Show temperature and humidity readings
  • RADIO/RADIO1/RADIO2: Access different radio stations
  • MP3PLAYER: Play local MP3 files
  • STAT/INV: Display status animations

Customization

You can customize various aspects:

  • Add more radio stations in the stations array
  • Modify color schemes using the defined color constants
  • Adjust display positions and layout
  • Add new animations or menu screens

Debug Mode

Enable debugging by setting:

#define DEBUG 1

This will output detailed information to the Serial Monitor at 115200 baud.

Image Conversion tools:

https://tomeko.net/online_tools/file_to_hex.php?lang=en

https://ezgif.com/

Contributing

Feel free to contribute to this project:

  1. Fork the repository
  2. Create your feature branch
  3. Submit a pull request

Acknowledgments

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages