Weirdest Hardware | Sponsored by Ollama & NVIDIA
Steam Print: Optimized 3D Printing from Steam Deck
Steam Print: Turn your Steam Deck into a portable AI-powered 3D printing workstation—voice-controlled model generation, with model viewing, and direct printing.
Core trick
Offline Vosk speech recognition sends prompts to an LLM backend that returns STL models, which are then sent to OctoPi for printing.
Built with
flaskgpt-oss:20bjsonlinux-(steam-deck/arch-linux)numpyoctopi-apiopenglpyside6python-3.8+qfiledialogqthread-(pyside6)raspberry-pishutilsounddevicethreadingtrimeshvosk
Description
Inspiration
3D printing is powerful but often requires high-performance desktops and heavy slicing applications like Cura. I wanted to make 3D printing
more practical and portable
, especially from a Steam Deck. By combining lightweight STL viewing, offline AI voice commands, and remote slicing, users can control 3D printing without waiting on slow desktop apps. The idea was to bring
dynamic 3D model generation and printing
to a handheld device with minimal friction.
What it does
Steam Print allows users to:
Load, and view 3D models on the Steam Deck
Use
offline voice commands
to interact with models and trigger actions
Send voice prompts to a backend server running
gpt-oss:20b
or
gpt-oss:120b
, which dynamically generates 3D models based on AI instructions
Slice and upload models to
OctoPi
connected to a Raspberry Pi with camera monitoring
Control 3D printing entirely from a handheld, touch-friendly interface
This makes 3D printing faster, more interactive, and portable.
How it was built
Frontend
: PySide6 for GUI, OpenGL and trimesh for 3D visualization, sounddevice and vosk for offline speech recognition
Backend
: Flask server that receives voice prompts from the Steam Deck, runs
gpt-oss:20b
or
gpt-oss:120b
to generate STL models dynamically, and returns them to the client
Printing integration
: OctoPi API to send sliced models to the 3D printer, with progress monitored via a camera module
Threaded workers
: All long-running tasks (server requests, slicing, printing) run in background threads to keep UI responsive
Challenges
Concurrency issues
: Multiple threads for voice recognition, server requests, and slicing initially caused crashes
Steam Deck performance
: Even lightweight STL files could lag, so optimized 3D rendering and file handling
Offline voice recognition
: Ensuring Vosk worked reliably on Linux/Steam Deck without constant internet
Real-time printing feedback
: Integrating OctoPi and camera monitoring while maintaining smooth UI updates
Accomplishments
Dynamic AI-driven 3D model generation
directly from the Steam Deck
Seamless
voice-to-print workflow
without heavy desktop software
Touch-optimized 3D viewer
with smooth interaction on Steam Deck
Successfully integrated
OctoPi slicing and monitoring
from a handheld device
Robust
threading architecture
allowing multiple background tasks without UI crashes
What I learned
How to efficiently manage
threaded operations
in PySide6 for a responsive GUI
Integrating a
large language model (gpt-oss:120b)
for real-time 3D content creation
Optimizing
STL loading and 3D rendering
for limited hardware
Building a
modular frontend-backend system
for AI-assisted 3D printing
Practical challenges of combining
voice recognition, model generation, and 3D printing
into one streamlined workflow
What's next for Steam Print
Enhanced slicing controls
directly from the Steam Deck
Multi-format support
(OBJ, 3MF, PLY) for broader 3D model compatibility
AI-assisted print optimization
: adjusting orientation, supports, and print parameters automatically
Cloud integration
: fetch and generate models from online repositories
Expanded voice commands
and model editing tools for fully hands-free 3D printing
Multi-device monitoring
: allow multiple Steam Decks or devices to queue prints and monitor remotely
JonathanSolvesProblems/SteamPrint-OpenAI-Open-Model-Hackathon★ 00 forksPythonMITCreated Aug 14, 2025 · last push Sep 11, 2025
README excerpt
# Steam Print Demo: [Steam Print](https://www.youtube.com/watch?v=pfbBydhuV8A) Steam Print is a portable 3D printing companion that transforms the Steam Deck into a full voice-driven modeling and printing workstation. It lets users load and explore 3D models, issue offline voice commands, and even generate brand-new designs on the fly using AI models like gpt-oss:20b and gpt-oss:120b. With a lightweight viewer on the Steam Deck, a local backend server for AI processing, and OctoPi handling slicing and printer control, the entire process—from idea to printed object—can be managed without relying on a traditional desktop setup. # Steam Print Backend The backend server for **Steam Print**, powering AI-driven 3D model generation from voice commands and managing 3D printing workflows. Runs locally on your PC or a server and communicates with the Steam Deck frontend. --- ## 1) Install Ollama and pull models - Install Ollama: [https://ollama.com/download](https://ollama.com/download) - Pull a lightweight dev model for testing: ```bash ollama pull gpt-oss:20b ``` or ```bash ollama pull gpt-oss:120b ``` 2. Create Python virtual environment & install dependencies ```bash python -m venv .venv source .venv/bin/activate # Windows: ./venv/Scripts/activate pip install -r requirements.txt ``` 3. (Optional) Install Vosk model for offline speech-to-text - Download a Vosk model (e.g., vosk-model-small-en-us-0.15) from [Vosk Models](https://alphacephei.com/vosk/models) If