Captain Reef's Prophecies
What's this project about?
Captain Reef is a Zoltar-style fortune-telling fish. You ask her a question, she thinks it over (with some dramatic flair), and prints out a personalized fortune on a receipt. Under the hood she's running a Raspberry Pi 5, an ESP32, custom PCBs, an E-Ink display, and a thermal printer, all wrapped in a 3D-printed and CNC-cut fish-themed enclosure.
Why did I build it?
Growing up, I was obsessed with the Zoltar machine at Cedar Point. Something about a mechanical fortune teller that felt alive stuck with me for over 30 years. I wanted to build my own version, but make it feel personal rather than generic, and make it something I could actually take to events and watch strangers interact with. She ended up making her debut at FlutterCon USA in Orlando, where she drew a genuine line of people waiting to get their fortunes told.
How does it work?
The fortune engine: The hardest problem wasn't hardware, it was making the fortunes feel personalized without needing live AI inference. Captain Reef asks the user a sequence of yes/no/maybe questions, and with 50 possible questions asked three at a time, there are 529,200 unique combinations of answers. I tried live cloud inference and on-device generation with a Raspberry Pi AI HAT+ 2, but neither was fast or reliable enough for a device that needs to just work in a room full of strangers. My solution was to pre-generate all 529,200 fortunes ahead of time with Gemini, and store them in a SQLite database on the Pi. No network connection, no inference lag, no dependency on an API that might change or disappear.
The custom PCBs: This was my first project designing my own boards from scratch, handling power distribution and signal routing between the Raspberry Pi, ESP32, E-Ink display, and thermal printer.
The display: Captain Reef's face is a WaveShare E-Ink panel, reflected off a pane of glass to create a Pepper's Ghost illusion... The classic trick of making something appear to float inside the fishbowl. The questions are asked o an e-ink screen, which has since been discontinued. This turned into its own saga of broken ribbon cables, a cracked screen, and hot glue repairs.
The build: The enclosure went through a full redesign after the first attempt didn't work, was 3D printed and CNC cut, and hand-painted by my friend Mike to get the wood-grain look right. My friend Nick built the sign holder and talked me through FreeCAD, which I'd never used before this project.
Captain Reef's Prophecies
- ✖ | No sharing or redistributing in any way of the 3D files or derivatives
- ✖ | No remixing
- ✖ | Non-commercial Use (only for personal use)
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- Comments(1)
- Likes(0)
- 0 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
More by Engineer
-
Programmable Mist Maker - XIAO / QT PY Extension
2158 2 2 -
RadioHAT - Raspberry Pi radio development platform
1836 0 4 -
QWIIC-VL53L4CD Time-of-Flight Distance Sensor Module
2042 0 2 -
-
-
ARPS-2 – Arduino-Compatible Robot Project Shield for Arduino UNO
4040 0 6 -
-
A Compact Charging Breakout Board For Waveshare ESP32-C3
4779 3 8 -
AI-driven LoRa & LLM-enabled Kiosk & Food Delivery System
5596 2 2 -







