3D Printed Scrying Pool Oracle for Solo TTRPGs
How I built a mystical scrying pool to guide my solo adventures
When you play a solo TTRPG, you don’t have a game master to set the scene or throw surprises at you. This is where an oracle comes in: a tool that helps answer questions, spark events, and guide the story. Oracles are typically driven by dice rolls and tables. And while I love rolling dice, flipping through charts can sometimes break the rhythm.
Yet despite their simplicity, oracles hold a strange allure.. something almost mystical. They become the shapers of worlds, the weavers of destiny, and the rocket fuel for creativity. That got me thinking: could I capture that essence in a physical object? Something immersive, fast, delightful to use, and fully offline.
What follows is a build log for my project: the Scrying Pool Oracle.
Requirements
To be truly useful for solo TTRPGs, my oracle needed two things: the ability to answer yes/no questions, ideally with “and”/“but” modifiers, and at least three muse tables for different contexts.
Lights could handle the yes/no side easily, but muse tables require words. That meant I’d need a display. My first idea was a crystal ball, but after researching spherical display tech, it turns out we’re not quite living in that future yet.
In that search, though, I came across these round displays from Adafruit and they sparked an idea: what if I built a scrying pool? It would be easy to model a cool enclosure, it could display both text and images, and I’d have access to Adafruit’s excellent hardware, open source libraries, and 3D models.
I can see it now. Time to take inventory, order parts and get to work!
Hardware Prototype
The best part for the job is the one I have on hand. This can sometimes lead to less than ideal choices, however, it can also push the project in a way I didn’t imagine. A good example of this is the button mechanisms I harvested from these arcade buttons I had lying around. The scrying pool is going to need some buttons for the various features and I originally imagined discreet tactile buttons, hidden in the enclosure. Instead, what I have on hand are the 24mm arcade buttons I salvaged. After peeling back the layers of carapace I find the gemstone button at its center:
These work wonderfully with Adafruit’s I2C breakout board, letting me multiplex four buttons down to just three wires — perfect for a compact build. But there’s no hiding these large arcade-style buttons, so instead, they’ll take on a more prominent aesthetic role.
Before committing to what would likely be one of the most complicated models I’ve made, I wanted to make sure I could get the display working. Screens can be finicky: drivers bitrot, documentation is sparse, and I don’t have much experience with the troubleshooting them. Any of those issues could’ve stopped this project in its tracks.
After a couple hours of tinkering, text appeared on the screen:
The next step was making sure I could actually show images. Microcontrollers like the ESP32-S3 (the one powering Adafruit’s Qualia board) display pictures using something called a bitmap, basically just a grid of tiny colored dots that form an image. This format is perfect for the limited computing power and memory of the Qualia board because the image is already decoded and ready to send straight to the screen.
A short while later, Mars was glowing on the screen:
Modeling
I had proven the hardware could do what I needed, so now it was time to wrap it all in something cool. I’ve modeled enclosures for projects before, but this one was a different beast. It needed to mount the electronics, route the button wires cleanly, hold together with screws and, most importantly, look awesome.
The final design consists of eight 3D printed parts:
Base with four pillars: holds the electronics, includes wire channels, and supports the button mounts.
Pool body: the brick that forms the body of the pool and has heat-set inserts so the base can screw into it, securing the lower half.
Display mount: sits between the body and the capstone, holding the screen at just the right depth.
Capstone: the top piece, also with heat-set inserts, tying the body and mount together.
Four crystal button toppers: one for each pillar.
Most of the model was pretty straightforward, it just took a few test prints to dial in the tolerances. But the part I’m most proud of is the base. The way the mounts and wire channels came together is just chef’s kiss.
Many hours later I held the sterile scrying pool in my hands, ready for paint, solder and code:
Assembly & Finish
Over 15 years ago, I used to paint Warhammer models daily, even funded my armies by painting for others at the local game store. Most of that muscle memory has faded over time, and for some reason, painting this model made me surprisingly nervous. But after laying down some primer and taking several stabs at dry brushing, I finally got the scrying pool to a place I was okay with:
And here’s another picture with the display off. It looks like you’re staring into an abyss:
Features
The four crystal buttons control the oracle in different ways.
Green, Blue, and Yellow are used for yes/no/but/and rolls:
Green assumes a likely outcome.
Blue is 50/50.
Yellow is unlikely.
Holding the Purple crystal shifts the other three into muse mode:
Green triggers a narrative prompt.
Blue gives a descriptive detail.
Yellow suggests a reaction or consequence.
After 15 seconds of inactivity, the text on the screen fades out.
Downloads & Links
If you have the means to make one of these yourself, you can find all the assets for this project by following these links:
On Finishing
On a side note, I want to take a moment to acknowledge something that doesn’t get talked about enough: doubt. One evening, about a week before finishing this project, I sat holding some of the prints in my hands, wondering if this was all a waste of time. Is this stupid? Does this even matter? That feeling almost derailed the whole thing.
I started doubting the vision, the process, and myself. But I kept going. And I’m glad I did. Even if no one ever reads this or cares about this project, I’m happy it exists now. And honestly, that’s enough.
A great piece of design, I could imagine adapting this for group play to make a fantastic puzzle that would really wow players!
That is really cool. If I ever get a 3D, this is something I would love to try and make.