As with a 3D printer or a CNC, to control the stepper motors specific electronics are required.

In the early days of Thor, the first approach was to use 2 Arduino Mega with RAMPS shields to control the stepper motors, endstops and tool signals with the GRBL firmware. Communicating with both boards at the same time was somewhat tricky and far from the ideal solution.

At the time, there were no commercial boards or DIY designs capable of controlling up to 7 stepper motors separately, so a custom electronic board was developed for this project: Thor ControlPCB.

Over time, new electronics have come on the market, supporting a larger number of stepper motors. In this section we will also see the case of the Fly Super8 Pro.

Thor ControlPCB: End to end Open Source option

This board was designed based on the schematics of the RAMPS v1.4, a well-known Open Source shield used in the first FDM 3D printers back in the 2010s.

Thor Control PCB has the following features:

  • The PCB has been designed in KiCAD (a free and OpenSource electronic design program). The schematics, source files and manufacturing files (gerbers) were released and are available for download and modification.
  • Control up to 8 stepper motors simultaniously.
  • Connection for up to 8 endstops for motors homing.
  • 1 Output PWM signal for tool controlling.
  • 12V Aux pins.
  • 5V Aux pins.

This board is an arduino shield, being connected to the arduino via the digital pins. The complete wiring diagram is as follows:

⚠️ Note that the PDIG1 connector is not connected to pin 41 of the Arduino Mega, but to pin 7. This connection is made by unsoldering the male pin of the Control PCB and soldering a jumper wire in its place ⚠️

Making your own

As this is a custom board, you will most likely not find a shop that sells it and you will have to make it yourself. Anyway, take a look at the Buy & Sell section of the forum, where you may find other users offering already soldered boards.

In the Bill of Materials you will find all the necessary components, as well as the PCB references so you know where to solder each one of them.
Probably the most complicated component to obtain is the PCB itself. There are manufacturers that make PCBs very cheaply (about 10$ per unit) but there are minimum quantities that you have to order (5-10 units).
If you decide to order several boards, you are invited to post an announcement in the buy and sell section of the forum to get rid of all your leftovers!

Ordering Thor ControlPCBs

It may sound difficult, but it’s pretty simple once you know what you have to do. There are two options:

  • Easy one: Go to the ControlPCB project created on the PCBWay site and order it from there.
  • The also easy one: Download the Gerber files and order it from your favourite manufacturer.

Most manufactures will ask you for the Gerber files and for the properties of the board on which the circuit will be printed. The gerbers are the files needed to manufacture the PCB (something like STL files for 3D printing) and you can find them on the Downloads.
The board properties usually match with the cheaper ones:

WP Data Tables

Fly Super8Pro: Third-party electronics

Thor project was conceived to be completely Open Source: from the programs used in its design, the firmware used and the components. That’s why, in the electronics part we are currently using an Arduino Mega board and the Thor PCB together with the GRBL firmware.

I am aware, since the beginning of the project, that this is a critical point when people try to replicate the robot. There are usually no problems in printing 3D parts, but when it comes to electronics, having to send to manufacture the PCB and solder the components…. It gets complicated. That’s why I’ve been considering for some time the possibility of using a commercial board, which is easy to integrate, cheap, without the need to solder anything and that has, at least, the same features as Thor PCB (which are not many).
In that respect, the most affordable and convenient electronics for this particular case are CNC controller boards/3D printers. However, until recently, there were no such inexpensive boards that could control 8 stepper motors. But recently I found this board: Fly Super8Pro made by Mellow 3D.

Fly Super8Pro has the following features:

  • It uses RRF (RepRapFirmware), an OpenSource firmware
  • It supports up to 8 stepper motors
  • It has enough digital outputs/inputs for the endstops and the servo motor of the tool
  • It is quite affordable (around 60€)

The complete wiring diagram is as follows:

In the Firmware section it is explained step by step how to configure the firmware of this electronics to work with Thor.

In this link there is more documentation about the board and here you can get more information about the pinout.

Open Source vs Proprietary: The eternal dilemma

The negative aspect that I find in this case is that (as far as I know) the board is not OpenSource. What does this mean and how can it affect the project?
Unlike the Thor ControlPCB, this board is a commercial board, manufactured and sold by a third party. If in the future the manufacturer decides to stop making this board and does not release the source files so that anyone can make it, future users will not be able to get their hands on it.

That’s why I don’t want Thor to depend solely on a non-open source board, but I see no reason why it can’t be compatible with this board, so that those users who are interested in building a Thor, but don’t want to get involved in the ThorPCB manufacturing and soldering process can benefit from this alternative, at least while this board is available for purchase.

Is there any other commercial alternative?

Surely yes. In the last few years many stepper motor controller boards have come on the market. Unfortunately, I don’t have the time to get my hands on them, configure them and document how to use them in this particular project.
However, if you have found an interesting electronics and made it work with Thor, you can let us know in the Development/Electronics section of the forum!