Controlling a 3D printer with Python
summary
OpenGB is a Python 3 backend that replaces SD-card workflows by streaming G-code over serial from a Raspberry Pi to common firmwares (Marlin, using commands like M104 and T0/T1). It runs a separate printer process (keeps printing uninterrupted), a server process with Tornado and a WebSocket API using JSON-RPC 2.0, multiprocessing queues and pySerial, SQLite/peewee storage, and a Vue.js web UI; demo shows live temp updates and successful prints with a 10 ms event loop. Tornado JSON-RPC 2.0 pySerial
AI-written summary · about
chapters (22)
- 0:003D Printer Control
- 0:46Overview
- 1:29How a 3D Printer Works
- 5:28How a 3D Printer is Controlled
- 6:30Limitations
- 6:50OpenGB Goals
- 8:22Printer Control Revisited
- 8:42Printer Control Extended
- 9:39Printer Process
- 10:32Printer ABC
- 11:25Marlin Concrete Class
- 12:03Dummy Concrete Class
- 12:28Printer Queue
- 14:22Server Process
- 14:52Tornado
- 15:34Periodic Callbacks
- 16:11Websockets
- 18:49MessageHandler
- 19:41WebsocketHandler (revisited)
- 21:35equals magic API docs!
- 22:31Frontend Application
- 27:35Questions?
related talks
40m3D Printing Gophers with Go
35mTaming System with Python: A Sysadmin perspective
32mOpen Source Industrial Control: Turning 2,800 Tons of Metal with Python...
54m3D Printing with Linux and Xenomai
22mHardware Interoperability with Python for Connected Systems
46mProgramming the Web of Things with Python and MicroPython
27mPython, Pyramid, and Embedded Devices
17mRapid GUI development for IOT systems
