Section 1: Hardware Setup

The advanced features such as StallGuard can be purchased in our PDF guide here.

 

To easily follow along with this book, please purchase the following hardware to get started. I have created links to each piece of hardware on the GitHub page so that you purchase the correct hardware, please use those links.

A note on the ESP32

There are many versions of the ESP32 now available (About 60 as of my last count). The original ESP32 was released in 2016 and has quickly become one of the most popular microprocessors on the market due to its rich feature set, low cost, and wireless capabilities.

The ESP32 can be divided into four categories, with several subcategories:

  1. ESP32 Series
  2. ESP32-S Series
    1. ESP32-S2
    2. ESP32-S3
  3. ESP32-C Series
    1. ESP32-C3
    2. ESP32-C6
  4. ESP32-H Series

Each of the above series has advantages and disadvantages and choosing the right one will depend on your needs. The biggest difference that matters to us is the number of cores in each series. The first part of this guide will require an ESP32 with two cores. The second part of the guide will only require a single core processor. I recommend using two cores to really learn how all of this works.

Dual Core

  • ESP32
  • ESP32-S2
  • ESP32-S3

Single Core

  • ESP32-C3
  • ESP32-C6
  • ESP32-H2

Hobby vs Pro

There are typically two groups of users, hobbyists and professionals. Typically, hobbyists are concerned with keeping costs low, and professionals are concerned with keeping their headaches low. For this reason, I have created two sections for hardware requirements.

Hobby Hardware:

  1. Espressif ESP32 DevKitC
    1. Any ESP32 with dual cores will work, such as the original ESP32, ESP32-S2, and ESP32-S3
  2. BIGTREETECH TMC2209 V1.3
    1. Make sure it's version 1.3 and NOT 1.2
  3. Stepper Motor
    1. The size of the motor does not matter for this guide. I prefer the NEMA 17 size rated for 2A but almost any hybrid stepper motor will work.
  4. Jumper Wires
  5. Breadboard
  6. 5.5V - 28V 2A+ Power Supply
    1. Depending on your requirements, you can use a very wide range of power supplies. Please see the Power Requirements section to learn more.

Professional Hardware:

  1. Espressif ESP32-S3 DEVKIT C1 v1.1
    1. Be sure to use a board made by Espressif, not some knockoff.
  2. TMC2226-BOB or TMC2209-BOB
    1. Please use the boards above, and not a hobby 3D printer board like the BigTreeTech.
    2. I prefer the TMC2226 because its features are identical to the TMC2209. But due to its larger footprint, it can handle more current without overheating.
  3. Stepper motor from Lin Engineering.
    1. While these motors cost almost ten times more than one from Amazon, the access to the motors torque curve and 3D STEP files is invaluable. Their quality control is also very good, so you know exactly what you are getting every time.
    2. Be sure to find a motor that meets your speed and torque requirements.
  4. Jumper Wires
  5. Breadboard
  6. 5.5V - 28V 2A+ Power Supply
    1. Depending on your requirements, you can use a very wide range of power supplies. Please see the Power Requirements section to learn more.

 

TMC2209 Hardware

NOTE: Although we will use the TMC2209, this course will work with any Trinamic stepper motor driver as they function very similarly. However, this guide will not work with their line of motion controllers like the TMC5130.

We will be using the BIGTREETECH TMC2209 V1.3 module that can be found on Amazon and AliExpress, links are on the GitHub page for the correct version.

The TMC2226-BOB and TMC2209-BOB will work just the same as the BIGTREETECH. They are just significantly more reliable because they are made by Trinamic.

It is very important that you purchase the V1.3 of the BIGTREETECH boards and not the older version because the older versions do not give us access to the TX and RX pins. This specific module was designed to use on 3D printers. While this board is designed to be used in 3D printers, it’s cheaper and more available than the official breakout board from Trinamic, which is why this guide will use it.

 

Single-Wire UART

If you look at the TMC2209 datasheet, you'll notice there is only one pin for UART. What gives? Doesn't UART need two pins, RX and TX. I wish this was the case, but they decided to use a fancy One-Wire UART setup. 

This one-wire UART requires a simple circuit with a 1K resistor. But don't worry, your breakout board should have this circuit already built, as the datasheet shows below.

If you're building a custom board, be sure to keep this in mind.

Here is the schematic for the official Trinamic TMC2209 Break Out Board with 1K resistor circuit.

 

Breadboard Setup

Note the StallGuard pin (DIAG) is sticking up in the air.

 

 

NEXT SECTION: 2

Course Sections:

Advanced Sections:

Back to blog

Leave a comment