Unrolling...

Drag down to unroll • Shift+drag to orbit • Alt+drag to pan
0.0 cm · 0% unrolled

Three.js Physics Demo with Real ESC/POS Thermal Printer Output

3D Toilet Paper Generator is an experimental Next.js web application that combines interactive WebGL simulation with real-world ESC/POS thermal printing.

Drag a realistic 3D toilet roll, measure the exact unrolled length in centimeters, and send that value directly to a network thermal printer over TCP.

This project demonstrates how browser-based 3D rendering can integrate with real hardware through a Node.js backend.

How It Works

Tech Stack

Important: Printing Requirements

Thermal printing requires running the project with a Node.js server.

Web browsers do not support direct TCP socket communication, which means ESC/POS printing cannot work from a static deployment alone.

To enable printing:

The live demo shows the 3D simulation, but printer output requires server execution.

Why I Built This

What started as a joke became a compact testbed for:

It's playful on the surface, but technically it demonstrates a full browser → server → printer workflow.