09b - 3D printing hardware and communications

Back to main page

Wiring diagram for RAMPS 1.4
Wiring diagram for RAMPS 1.4

Electronic hardware and software required for a 3D printer

A 3D printer is a system that needs many input and output (I/O) functions (like motors and temperature sensors) but doesn’t require much computing power (it doesn’t need a very strong CPU). Because of this, most 3D printers use simple microcontrollers (like Arduino, ESP32) instead of powerful CPUs (Intel, AMD). Some printers with displays or Wi-Fi use single-board computers (like the SBC Raspberry Pi) to handle those extra features.

Remember: a Raspberry is a full <yet underpowered> computer, not a microcontroller. But like MCUs, Raspberries have lots of I/O

Motor drivers

Motor drivers are small electronic devices that control the movement of motors in a 3D printer. They receive signals from the printer’s main board and send the correct amount of power to the motors. This allows the motors to move the print head, bed, or filament with precision. Most 3D printers use stepper motors, and their drivers help control the speed, direction, and position of each step. Good motor drivers are important for smooth printing and quiet operation.

stepper motor: motor paso a paso

Board with 6 drivers (under the blue heatsinks) and microcontroller.
Board with 6 drivers (under the blue heatsinks) and microcontroller.

Software

Some printers have proprietary software, while others have free software such as Marlin Firmware, Klipper or RepRapFirmware. You can write it in an Arduino board and create your own 3D printer.

Now, we have the basics:

So we can start to understand this functional diagram:

”Introduction to 3D Printing” - All About Circuits
”Introduction to 3D Printing” - All About Circuits

Connection interfaces

Most 3D printers implement one or more of these methods:

3D printer applications are also known as slicers.

USB host and devices
USB host and devices

A USB host is the machine that controls the connection and provides power (like a computer or smartphone). A USB device is what connects to the host to send or receive data (like a keyboard, flash drive, or printer).

What is a serial connection

A serial connection is a method of sending data between two devices, one bit at a time, through a single wire. It uses a TX pin to send data and an RX pin to receive data.

The speed of the connection is measured in bps, or bits per second (9800 bps, 115200 bps… way slower than typical USB).

Geoffrey M. Brown
Geoffrey M. Brown

Data is transmitted in binary, meaning it is sent as a series of “1s” and “0s”. To represent text or symbols, devices often use ASCII, which is a standard way of converting letters and characters into binary.

7 bit ASCII. If you need “accent marks” (á, é, í, ó, ú) or “ñ”, there is the 8 bit Extended ASCII
7 bit ASCII. If you need “accent marks” (á, é, í, ó, ú) or “ñ”, there is the 8 bit Extended ASCII

This type of connection is simple and widely used in electronics and communication. It is WAY OLDER than USB.

Some USB peripherals, like microcontrollers and 3D printers, use simple serial connections over USB. This is known as a “virtual COM port.”

There is a clear equivalence: DTE functions as the USB host, while the DCE acts as the USB device.
There is a clear equivalence: DTE functions as the USB host, while the DCE acts as the USB device.

Serial connections can be used in many forms,

Typical connection diagram

Create the G-CODE in a PC, send it to the printer on-the-fly. The PC must remain connected during the printing process:

Create the G-CODE in a PC, copy it to a flash drive, connect the flash drive to the printer:

(Optional) Octoprint 😙🤌

If you connect permanently a computer to a 3D printer, you can set it up as a printing server, having a lot of control while not having to keep your personal PC connected during printing

Ver esta publicación en Instagram

Una publicación compartida de FP Urbano Lugrís Coruña (@fpurbanolugriscoruna)

Yup, time-lapse!




Back to main page