Section 1: Hardware Setup
In this course I will be using the VAL-2000 for examples, however, you do not need one at all.
Please, feel free to use any Trinamic board you have and build it on a breadboard.
You can also pick up a TMC2209 driver that is designed for a 3D printer at a very affordable price.
If you purchase a TMC2209 driver that is designed for a 3D printer, be sure is has the PDN_UART pin exposed. Not all of them do.
3D printer TMC2209 boards may also be difficult to connect UART to. Most PCBs I’ve seen have their Schematic available on Github.
Try to find it if you can to be sure it is available.
Here is the schematic for a Big Tree Tech TMC2209 3D printer board that will work well
You can see that it has the PDN_UART pin exposed so we can connect to it.
Notice that this 3D printer board has a UART pin, however, UART requires 2 pins.
It requires an RX and TX pin to receive and transmit data
But the board I just showed you only has 1 pin
To fix this you will need a 1K resistor
Here is the schematic for the official Trinamic TMC2209 Break Out Board
Attach your 1K resistor just like this, and connect RX and TX to the ESP32
I will also be using an ESP32. You can program the driver using any board, but an ESP32 is the best device to get the most out of this course. That's because some of the libraries we use require it.
- Section 0: Background
- Section 1: Hardware Setup
- Section 2: Stepper Motor Basics
- Section 3: Arduino Setup
- Section 4: Understanding Trinamic Drivers
- Section 5: Setting Trinamic Drivers
- Section 6: Power Requirements
- Section 7: StallGuard
- Section 8: FastAccelStepper Library
- Section 9: ESP32 Dual Core Setup
- Section 10: Motor Setup
- Section 11: Preferences Library
- Section 12: ESPUI
- Section 13: API