~/talk

3D Printing Gophers with Go

Talkat GopherCon 2021 · 2021-12-05..12-08· [embedded-and-hardware, go]
links:none on file
slides:none on file

Uses Go to do four concrete things: a sdfx STL generator creates a gopher model saved as an STL, a Raspberry Pi opens a serial port and sends serial G-code to Marlin to home and move axes, M155 reports are parsed and pushed as M155 temperature polling every 2s into InfluxDB for live charts, and a Telegraf external plugin for OctoPrint polls layer progress and filament then feeds Influx. The 6‑hour FDM gopher prints successfully and the pipeline proves end‑to‑end.

AI-written summary · about

  1. 0:00Intro
  2. 1:083D printing? Definition: Construction of a 3D object from a digital 3D model
  3. 2:01The FDM Gopher Maker Diagram
  4. 3:16The SLA Gopher Maker Diagram
  5. 5:49The 3D printer's firmware • Link between software and hardware • Marlin: popular open-source firmware for 3D printers • Takes GCODE as input
  6. 6:18What is GCODE? GCode is the programming language used by 3D-printers
  7. 7:08Example Movement GCODE . G28
  8. 7:57Use Go to send GCODE • Microcontroller has a serial port • Use Go to connect to the 3D printer • Use Go to send GCODE
  9. 9:10Define configuration with Termios
  10. 13:03Gathering temperature report
  11. 15:37Parse with regular expression
  12. 16:13Send temp to Influxdatabase Line Protocol
  13. 21:22Use Go to create a 3D model?!?
  14. 22:26Transforming 3D objects Use a 4x4 transformation matrix and 3D vectors • func Translate3d(v V3) M44
  15. 23:43Mouth
  16. 26:20Slicing the STL with Cura
  17. 27:25Blender made Gopher 3D model
  18. 28:21Why monitor a 3D printer?
  19. 31:11Telegraf The plugin-driven server agent for collecting & reporting metrics
  20. 32:49Octoprint Input Plugin
  21. 33:29External Plugin
  22. 34:08What does Go Shim provide
  23. 34:27Data Flowchart
  24. 34:42Input Plugin Interface type Input interface 1/ Gather adds metrics to processing flow Gather (Accumulator) error
  25. 36:00Getting data from REST API type Printerstate struct
  26. 37:04Filament Manager Configuration
  27. 37:42Gathering the data
  28. 38:30Configure InfluxDB Output
  29. 38:47Demo Flowchart
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.