A LITTLE DEVICE YOU TELL YOUR DREAM TO IN THE MORNING, AND IT PLAYS THE DREAM BACK AS VIDEO
You wake up, touch the object by your bed, describe the dream you just had, and it plays it back to you as a short film.
by Modem
AIDisplays
Built withRaspberry Pi3D printing
- difficulty
- ●●●●○
- time
- a weekend-plus
- license
- MIT
- repo
- repo ACTIVE1,623 stars
●●●●○ · a weekend-plus · MIT · 1,623 stars · repo ACTIVE
WHAT YOU’LL NEED
Jump to section
COMPAREE VERDICT
This is a finished art object that happens to be reproducible, not a weekend electronics kit. The repository is complete — BOM with links, printable files with ready-sliced G-code, an assembly guide PDF, working code and an installer script. The Raspberry Pi 5, ultra-wide display, and capacitive touch sensor are all straightforward to connect, and the two-part translucent PLA enclosure is designed to print on most FDM printers with basic settings and press-fit together. What you are really signing up for is API key management: OpenAI transcribes your voice and writes the prompt, LumaLabs generates the video, and together they cost about 15 cents every time you use it. The single thing most likely to go wrong is the display: the 7.9 inch ultra-wide panel is not a common part, and the short angled HDMI and USB ribbon cables in the BOM are what make everything fit inside. If you want a physical object that genuinely feels like it wandered in from a different decade of consumer electronics, the repository gives you everything.
IN THE REPO
GOOD TO KNOW
- —Complete bill of materials with direct purchase links to all parts
- —STL files for the transparent printed shell, plus step-by-step assembly photos
- —Python software and setup instructions for Raspberry Pi 5
- —Requires OpenAI (speech-to-text and prompt) and LumaLabs (video generation) API keys — about 15 cents per dream
- —No PCB to manufacture, everything is off-the-shelf modules and USB devices
- —MIT licence, permits commercial use
Parts to buy
11 itemsFrom our check of the build. Exact quantities and part numbers are in the creator’s BOM.
- Raspberry Pi 5 8GB with active coolerFind
- Waveshare 7.9 inch 1280×400 HDMI displayFind
- 5.1 V 5 A USB-C power adapterFind
- 64 GB microSD cardFind
- TTP223B capacitive touch sensorFind
- USB microphoneFind
- Angled HDMIFind
- Micro-HDMI and USB ribbon cablesFind
- 90 degree USB-C adapterFind
- M2.5 nylon standoffsFind
- Jumper wires and translucent PLAFind
Can I build this?
Build at your own risk. Projects involve tools, electronics and sometimes mains voltage — follow the creator’s safety notes.
More builds like this
All projectsGallery
Start here
Navigation into the creator’s own docs — we don’t rewrite the guide, we route you to the source.
- 1.Read the full BOM and verify the display and Pi 5 are in stock before ordering anything else (The 7.9 inch 400×1280 display is the only non-standard part and availability varies)
- 2.Print the shell components and budget time to finish them — this is not a quick print(Translucent PLA recommended, 0.2 mm layers, tree supports; ready-sliced G-code for both halves is in the 3DAssets folder)
- 3.Flash Raspberry Pi OS (64-bit) onto the Pi 5, then clone the repository and run the included installer (The installer script sets everything up and asks for two API keys: OpenAI (about 5 dollars of credit suggested) and LumaLabs (about 20 dollars suggested).)
- 4.Assemble the electronics following the step-by-step photos in the repository (No soldering to the Pi itself, everything connects via USB or GPIO header)
Resources
Documentation, files and community threads for this build — we link straight to the original sources and never rehost the creator’s files.
KNOWN ISSUES
- The 7.9 inch ultra-wide display is not a common part — order the exact Waveshare 7.9 inch HDMI model in the BOM, because the enclosure and cables are designed around it
- The enclosure is a friction fit — remove tree supports carefully and clean the seam edges, or the two halves will not press together cleanly
- You will need OpenAI and LumaLabs API keys and will be billed per use — about 15 cents per dream, and the README suggests preloading roughly 5 dollars and 20 dollars of credit
- The capacitive touch sensor (a TTP223B module) senses through the printed shell; if you change the enclosure material or wall thickness, test that taps still register before you close it up.
- The software setup is a guided script, but you still need to SSH into the Pi, clone the repo and run the installer from a terminal
- The app depends on the OpenAI and LumaLabs APIs; alternative providers are on the roadmap but not implemented, so a pricing or API change on either side can break it
Can I use a different display?
The 7.9 inch 400×1280 panel is what the enclosure is designed around. A different display means redesigning the shell and adjusting the software resolution settings.
How much does it cost to generate each dream video?
About 15 cents per dream, per the README (May 2025): under 1 cent for OpenAI, which transcribes your voice and writes the video prompt, and 14 cents for LumaLabs, which generates the 5-second video. You need accounts and API keys with both services.
Can I use a Raspberry Pi 4 instead of the Pi 5?
The project is documented and tested on a Raspberry Pi 5 (8 GB), and the enclosure, cables and installer assume it. A Pi 4 is not mentioned in the README, so it is untested territory: the cable layout differs and you would be debugging on your own.
What if I do not want to use OpenAI APIs?
You would need to rewrite the transcription and prompt step (OpenAI) and the video step (LumaLabs) to call a different service or run locally. Alternative providers are on the project's roadmap but not implemented yet.
How do I get the shell print to look transparent and smooth?
The enclosure is designed to be translucent, not glass-clear: print it in translucent PLA at 0.2 mm with tree supports, remove the supports carefully and lightly sand the seam edges if needed. Ready-sliced G-code is included.
Community builds
No community builds yet — be the first, we feature the best ones.
Discussion1
FROM THE COMPAREE TEAM
The parts come to roughly 285 euros and each dream costs around 15 cents in API fees, split between OpenAI and LumaLabs. Would you keep it on paid cloud video generation, or wait for a local alternative?
Modem
Dream Recorder was designed and built by the studio Modem, with Mark Hinch on software and hardware, Ben Levinas and Joe Tsao on industrial design, and Alexis Jamet on illustration. Released in May 2025 as a complete open-source project under the MIT licence.
DISCLAIMER
- Comparee is not the author of the projects featured here. All rights to each project belong to its creator — every page links to the original source, and we never host creators’ files.
- Information is provided without warranty and may become outdated as projects evolve. Prices are indicative bands only — always check the creator’s parts list for current costs.
- Building and operating any project is at your own responsibility. Protective equipment, safe workshop practice and compliance with local regulations are the builder’s responsibility.
CompareeTEAM1mo agoedited
Practical notes from our verification: the repository is complete and unusually well documented for a design studio release, with a bill of materials with purchase links (about 285 euros in May 2025), assembly photos, print settings and a step-by-step software setup with screenshots. The display is a specific Waveshare 7.9 inch HDMI touchscreen, driven by a Raspberry Pi 5 over angled HDMI ribbon cables, so order exactly the listed parts. Software setup is guided: you flash Raspberry Pi OS, enable a few settings, add API keys and run the included installer script. Each dream uses two paid services: OpenAI for transcription and the video prompt (under a cent) and LumaLabs for the video itself (about 14 cents per dream according to the README), so you need accounts with both. The enclosure is a two-part translucent PLA print that, according to the README, prints reliably on most FDM printers with standard 0.2 mm settings; ready-made G-code is included. Correction (4 October 2026): we re-checked this page line by line against the project's own repository, documentation and videos, and fixed errors in earlier versions.