3D-Printed Quantum Dice: Building Randomness Demonstrators for Probability and Measurement
Design and 3D-print dice to teach quantum measurement probabilities—step-by-step CAD, Anycubic/Flashforge tips, experiments and code.
Bring quantum measurement off the whiteboard: 3D-printed dice for hands-on probability and randomness
Students and teachers tell us the same thing: quantum mechanics is full of beautiful ideas, but it rarely feels tangible. Expensive hardware, steep math and a lack of progressive, project-based curricula block entry. This project flips that script — design, 3D-print and use custom dice and tokens to explore measurement probabilities, basis changes and randomness using tools any maker classroom can access.
What you'll learn in this walkthrough
- How to map a qubit measurement probability to a physical die or token.
- Parametric CAD and printing recipes tuned for budget printers like Anycubic and Flashforge.
- Experiment plans — collect data, compare classical biased dice to quantum random sources, and visualise convergence to predicted probabilities.
- Sample code: OpenSCAD for parametric dice, Python for Monte Carlo analysis and optional Qiskit snippets to sample a real qubit.
Why this matters in 2026: hands-on quantum is now practical
By 2026, education-focused quantum resources have matured. Cloud quantum platforms and public quantum random number services expanded access throughout 2024–2025, while consumer 3D printing kept getting cheaper and more reliable. Budget printers from Anycubic and Flashforge — often available from AliExpress warehouses with local shipping — make classroom fabrication realistic. That combination lets teachers create tactile demonstrations that bridge classical intuition and quantum formalism.
“Concrete manipulatives accelerate conceptual change.” — classroom research applied to quantum education
Design concept: how a die can represent a qubit measurement
At the heart of the project is a mapping from a qubit's measurement probability to physical outcomes. For a single qubit in state |ψ⟩ = cos(θ/2)|0⟩ + e^{iφ} sin(θ/2)|1⟩, measuring in the computational basis yields probability P(0)=cos²(θ/2) and P(1)=sin²(θ/2).
Our goal: produce a small, repeatable experiment where repeated trials produce frequencies that converge to P(0) and P(1). There are three practical approaches:
- Area-biased tokens — dice where face area (or visible sector area) corresponds to probability. Drop or spin tokens that land on a face proportional to its area.
- Mass-weighted dice — adjust internal weights so faces appear with desired frequency when rolled. Useful when face area won't produce stable bias.
- Hybrid classical–quantum — use unbiased physical dice but map their outcomes to a quantum sample retrieved via a cloud QRNG or a short Qiskit run. This blends tactile engagement with true quantum randomness.
Why area vs mass?
Area-based tokens (for example, flat circular spinners or multicompartment cylinders) are simpler to design and print. Their landing probabilities approximate relative area if you ensure an unbiased orientation distribution (e.g., by spinning or dropping onto foam). Mass-weighted dice give tighter control but require embedding metal pellets or using dual-filament fills and post-print assembly.
Materials & tooling (classroom-friendly)
- 3D printer: Anycubic, Flashforge, Creality-class (budget models are fine). Many are available via AliExpress warehouses with quick shipping in 2026.
- Filament: PLA (easy, non-toxic), PETG (durable), or TPU for flexible tokens.
- CAD: OpenSCAD for parameterisation, Fusion 360 for GUI modelling, or Tinkercad for beginners.
- Slicer: Cura, PrusaSlicer or proprietary slicer bundled with your printer.
- Small neodymium magnets or lead-free metal pellets for weighting (optional).
- Paint, acrylic marker pens, sandpaper and glue for finishing.
- Python environment with numpy, matplotlib; optional Qiskit or access to a public QRNG API.
Step-by-step: design a two-outcome “quantum coin” token
This basic token maps P(0) and P(1) to two colored semicircles on a flat disc. It’s ideal for classroom data collection and a first lesson in measurement probability.
1) Parametric design in OpenSCAD
Use OpenSCAD to create a disc with two sectors; a parameter theta (0..pi) sets the split so that P(0)=cos²(θ/2). For classroom use we'll map θ to percent: e.g., 75% |0> corresponds to theta = 2*arccos(sqrt(0.75)).
// OpenSCAD parametric disc with sector angle
module quantum_disc(theta=1.0472, r=20, thickness=4) {
// theta is polar angle corresponding to state
P0 = pow(cos(theta/2),2);
angle_deg = P0*360;
difference() {
cylinder(h=thickness, r=r, $fn=200);
// cut sector for outcome 1
translate([0,0,-1]) rotate([0,0,0])
rotate([0,0,0])
translate([r/2,0,0])
cube([r, r*2, thickness+2]);
}
}
quantum_disc(theta=1.0472);
Note: the snippet above is a starting point — refine sector geometries and add dividers for coloring. Export the STL for slicing.
2) Slicing & printer settings (Anycubic / Flashforge friendly)
- Layer height: 0.16–0.24 mm for a balance of speed and detail.
- Nozzle temp (PLA): 200–210°C. PETG: 230–245°C.
- Bed temp (PLA): 55–65°C. PETG: 70–80°C.
- Infill: 15–25% for discs; solid infill if you’ll embed weights.
- Print speed: 40–60 mm/s for budget printers to reduce ringing.
- Retraction: tune per filament to avoid stringing on sector boundaries.
If you're using a printer supplied via AliExpress, double-check for local warehousing and warranty details — by 2026 these supply chains have matured and often include fast returns. For event-driven or pop-up classroom printing workflows, consider devices reviewed for quick runs like the PocketPrint 2.0.
3) Post-print finishing and coloring
- Sand edges lightly to get clean sector boundaries.
- Mask one sector with tape and spray paint or use acrylic pens to color each outcome.
- Optionally, embed a small clear counter to mark measurement results during a run.
Optional: mass-weighted dice for tighter probability control
Create a multi-face cube or dodecahedron where internal cavities accept small metal pellets. During design, compute required mass displacement to bias a face. This is an empirical process: iteratively print test dice, measure outcome frequencies, and tune pellet placement.
Practical tip
Use M3 brass nuts or tungsten pellets for predictable mass and glue them into drilled cavities. For student safety avoid lead pellets. If you need classroom-friendly finishing and rewards, pairing printed tokens with simple sticker printers helps standardise markings and results collection.
Classroom experiments and lesson plans
Here are three progressive lessons that build understanding from counting experiments to quantum circuits.
Lesson A — Empirical probability with area-biased discs
- Pick three discs with P(0) ≈ 0.25, 0.5, 0.75.
- Each student does 100 trials (spin/drop) and records counts for outcome 0/1.
- Aggregate class data, compute frequencies and plot convergence to predicted P(0).
Lesson B — Compare a “quantum coin” to a QRNG
- Call a public quantum random number source to request N bits (see code sample below).
- Map bits to 0/1 and compute frequency of 0. Compare to the physical disc with same target P(0).
- Discuss differences: classical experimental noise, bias sources and the distinction between quantum indeterminacy and mechanical bias.
Lesson C — Recreating measurement statistics from a real qubit using Qiskit
- Use Qiskit (or another cloud SDK) to prepare state by applying RY(θ) and measure in the Z basis.
- Run 1024 shots, compare empirical frequency with cos²(θ/2).
- Ask students to design a disc with the same P(0) and see how well the physical artefact matches.
Code samples: data collection & analysis
Python: Monte Carlo analysis for a disc
import numpy as np
import matplotlib.pyplot as plt
# target probability
P0 = 0.75
trials = 1000
# simulate disc as Bernoulli with probability P0
results = np.random.rand(trials) < P0
cumfreq = np.cumsum(results)/np.arange(1, trials+1)
plt.plot(cumfreq)
plt.axhline(P0, color='red', linestyle='--')
plt.xlabel('Trial')
plt.ylabel('Frequency of 0')
plt.show()
Optional: fetch quantum random bits (ANU QRNG style)
Many public QRNG services exist; below is a generic pattern using requests. Replace the URL with a trusted QRNG endpoint with an API key if required.
import requests
# Placeholder URL — replace with your chosen QRNG endpoint
url = 'https://qrng.example.org/api/bits?length=1024'
resp = requests.get(url, timeout=10)
bits = resp.json().get('data') # often returned as array or hex
zeros = bits.count('0')
print('Frequency of 0:', zeros/len(bits))
Qiskit snippet: prepare RY(θ) and measure
from qiskit import QuantumCircuit, Aer, execute
import numpy as np
theta = 2*np.arccos(np.sqrt(0.75))
qc = QuantumCircuit(1,1)
qc.ry(theta,0)
qc.measure_all()
backend = Aer.get_backend('qasm_simulator')
job = execute(qc, backend, shots=1024)
counts = job.result().get_counts()
print(counts)
Debugging printing & experimental pitfalls
- Uneven surfaces: Ensure a level bed and 1st layer adhesion; warped discs bias results.
- Surface friction: Excessive roughness can make spinning inconsistent; sand and seal critical areas.
- Sample size: 100–1000 trials per student or group is typically enough to see convergence for classroom demonstrations.
- Safety: If embedding magnets or weights, secure them with epoxy and label objects as containing small parts.
Advanced variations and extensions
- Multi-outcome dice: Use a d6 or d20 with face areas or weights to demonstrate P(0..N-1) distributions — great for illustrating POVMs or multi-level systems.
- Bloch tokens: Spherical tokens with colored cap representing polar angle, and a small vector arrow for azimuth. Use a ring to rotate the measurement basis physically.
- Interactive kits: Combine printed tokens with an inexpensive microcontroller or LED array to light outcomes, and show real-time histograms on a laptop. For small, conversion-focused at-home lab setups see reviews of tiny at-home studios.
- Portfolio projects: Have students document CAD files, print logs, experimental data and analysis to build an educational portfolio — ideal for university applications.
2026 trends & future predictions
As of early 2026, three trends make projects like this especially timely:
- Wider availability of economical 3D printers — manufacturers (Anycubic, Flashforge and others) expanded regional warehousing in 2024–2025. That means faster shipping and more reliable warranties for schools buying on platforms such as AliExpress.
- Education-grade quantum APIs — cloud platforms now offer classroom quotas and more robust QRNG endpoints. Expect deeper curricular integration from providers through 2026.
- Emphasis on experiential learning — national curriculum pilots in several countries emphasized making quantum mechanics accessible through maker projects; expect funding and kit development to grow in 2026.
Assessment & measurable learning outcomes
Use these metrics to assess student understanding:
- Can the student predict measurement frequencies from a given θ and the formula P(0)=cos²(θ/2)?
- Do empirical results converge to predicted probabilities within statistical error after N trials?
- Can the student articulate differences between mechanical bias and quantum indeterminacy?
Classroom-ready checklist
- Printer set up, filament loaded, test prints complete.
- OpenSCAD or CAD files parameterised for easy reuse.
- Data collection sheet or simple spreadsheet template.
- Python notebook for live plotting and hypothesis testing.
- Backup QRNG method or simulator in case cloud access fails.
Final notes on pedagogy and trust
These tokens are not a replacement for quantum hardware labs. They are pedagogical tools: physical metaphors that help learners develop correct intuitions about probability and measurement. Always be explicit with students about the distinction between a mechanical sample and a quantum measurement. When you include real QRNG or cloud-run qubit results, annotate provenance — list the backend, shot counts and timestamps — so students learn good scientific practice.
Actionable takeaways
- Start with a two-sector disc — it’s fast to print and easy to analyse.
- Use OpenSCAD to parameterise P(0) so students can iterate quickly.
- Run 100–1000 trials per group to observe convergence and discuss noise sources.
- Combine the tactile experiment with a QRNG or Qiskit run to highlight the conceptual difference between classical bias and quantum randomness.
Call to action
Ready to build your first set of quantum dice? Download our starter OpenSCAD files, a classroom-ready Python notebook for analysis, and a supplier checklist tuned for Anycubic and Flashforge printers from the BoxQubit project page. Print a disc, run the first 100 trials with your students this week, and share your results and photos with our community — we’ll feature exemplary classroom projects and help you iterate your design.
Related Reading
- Design Your Own Souvenir: Using Budget 3D Printers to Prototype Park Merch
- Using Autonomous Desktop AIs (Cowork) to Orchestrate Quantum Experiments
- Low-Budget Retrofits & Power Resilience for Community Makerspaces (2026)
- Review: Best Sticker Printers for Classroom Rewards (2026 Practical Guide)
- How to Host a Low-ABV Herb-Forward Cocktail Night (Syrups, Bitters, and Mocktail Tips)
- Loyalty Programs for Pet Parents: How Unified Memberships Can Save Families Money
- How Nintendo’s Deleted ‘Adults Only’ Animal Crossing Island Became a Streaming Phenomenon
- From Stove to Scale-Up: What Eyewear Startups Can Learn from a DIY Cocktail Brand
- Financing Mid‑Size Retrofits in 2026: A Flipper’s Playbook for Closing Bigger Tickets
Related Topics
boxqubit
Contributor
Senior editor and content strategist. Writing about technology, design, and the future of digital media. Follow along for deep dives into the industry's moving parts.
Up Next
More stories handpicked for you