/3d-printer-go

A 3D printer controller written in Go

Primary LanguageGo

3D Printer Go

This Go program allows you to control your 3D printer using the Marlin firmware. It provides real-time data streaming, logging, and the ability to send commands to your printer.

Table of Contents

Introduction

3D Printer Control is a Go program that interfaces with 3D printers running the Marlin firmware. It allows users to read real-time data from the printer, log the data to a file, and send custom commands.

Screen.Recording.2023-11-20.at.00.39.27.mov

Features

  • Real-time data streaming from the 3D printer
  • Logging of printer data to a specified file
  • Sending custom commands to the 3D printer

Getting Started

Prerequisites

Make sure you have the following installed:

  • Go (at least Go 1.x)
  • Marlin firmware on your 3D printer

Installation

Clone the repository and build the program:

git clone https://github.com/tarikcaliskan/3d-printer-go.git
cd 3d-printer-go
go build

Usage

Run the compiled binary with the desired port, baud rate, and log file:

./3d-printer-go --port /dev/tty.usbserial-1234 --baud-rate 115200 --log-file printer_log.txt

This will start the program, allowing you to interact with your 3D printer.


Configuration

You can customize the behavior of the program using command-line arguments. Here are the available options:

  • --port: The serial port name of your 3D printer (default: "/dev/tty.usbserial-1140").
  • --baud-rate: The baud rate for serial communication (default: 250000).
  • --log-file: The name of the log file for storing printer data (default: "printer_log.txt").