Skip to content

FYSETC Cheetah Board

Product Introduction


Designed for a single-head 3D printer, many interfaces are reserved for more features. Such as AC detection, filament detection, leveling with BL-touch or other sensors.


  • Compact size: 101.5mm x 72mm,Compatible with the Creatlity ender 3 motherboard size

  • fully integrated all in one solution:

  • STM32F103 MCU (Run Marlin 2.0 )
  • CH340 for high speed USB serial connection
  • 4X TMC2209 stepper drivers, Support sensor-less homing


  • can be used with 7V-35V for motors / heated bed
  • integrated high precision power regulators (DC/DC): 5V 1A Max and 3.3V 600mA Max LDO

  • Onboard TF card socket

  • EXP1 for 12864 display panel (Creality 12864 panel or FYSETC Generic12864)
  • Onboard RGB control
  • RGB control and fan control 12V/24V optional (Requires 24V to 12V module)
  • PCB:
  • High quality, High temperature FR4-TG130 PCB
  • Gold ENIG finishing


  • 3D printer
  • CNC Device
  • Other similar machines

Hardware Reasources

Board Name Cheetah
License GPL V2.0
Latest Version V1.0
Extruders 1
Fixed Fans 2 Max
Controlled Fans 1 Max
Heaters 1 Max
Endstops 3 Max
Temp sens 2 Max
I2C 1
Serial port chip CH340
CPU Speed ( MHz ) 72 Mhz
Stepper driver 4X TMC2209
Stepper driver Type Onboard
Input 7-35 V 20A Max;
Output BED OUT:10A Max ;Heater Out:5A Max

Connectors and jumpers define

Cheetah_connectors Cheetah_jumpers


The FYSETC CHEETAH firmware is pre-config for ENDER3 machine, if you want to change the firmware or compile the code yourself , follow the steps.

Download Vscode + platformio

To compile the firmware , you need to install Visual Studio Code and the platformio pulg-in.

Download firmware

You can download the firmware from , and if you want to know what we have changed , we recommend to use git to get the code .

Compile the firmware

Open Vscode and open platformio main page and click the "Open Project" button , and direct to the folder where you put your firmware.


If everything goes fine , at the bottom you can see several buttons


The check mark is for compiling .

Open platformio.ini file and change the option default_envs as below.

default_envs = fysetc_STM32F1

And then replace the default configuration.h and configuration_adv.h with files locate in FIRMWARE_LOCATE\Marlin\Marlin\config\examples\FYSETC according to your board.

Then click check mark to compile.

If you generate the hex file fail you may need to open vscode using Administrator Account .

Upload the firmware(windows,linux,Mac)

We provide several ways to upload the firmware .You can just click the upload button to upload the firmware or refer to the two methods below.

Upload the firmware(windows)

After compiling , you should see the firmware file "firmware.hex" in the folder FIRMWARE_LOCATE\Marlin\Marlin\.pioenvs\fysetc_STM32F1\

Download the flash software in our github

Connect the board and your pc with USB cable (This step should before you open the software)

Double the click "FlyMcu.exe" software to open it.


Select "Reset@DTR low(<-3v),ISP @RTS High"

Click "Port" to select the port of your USB

Select FIRMWARE_LOCATE\Marlin\Marlin\.pioenvs\fysetc_STM32F1\firmware.hex as the screenshot shows.

At last , "Start ISP(p)" to upload the firmware.

Upload the firmware(linux)

Load usb driver

Delete the old version driver /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko

rm /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ch341.ko

Download the CH34x driver(linux version) from our github

follow the readme.txt to make and load the driver .

If you want the driver load automatically every time your PC power up. You can copy the ch34x.ko file to

directory /lib/modules/$(uname -r)/kernel/drivers/usb/serial/ , and do

Install stm32flash tool

First get the code

git clone stm32flash-code

Then follow the INSTALL file to install the software

Upload the firmware

Connect the motherboard with USB cable and your PC. And do


And you will get message like


the ttyUSB0 is the port to communicate with the motherboard.

And then go the the firmware.hex file location directory and do the follow command to upload the firmware

 stm32flash -w firmware.hex -v -i rts,-dtr /dev/ttyUSB0


1.Why use USB-TO-UART chip for USB?

We just want to give you a convenient way to update the firmware without having to think about which bootloader to use and how to jumper BOOT0&BOOT1. Also, if your board is already installed in the machine, the jumper setting is more inconvenient for you. So, by adding a chip that can solve the problem, why not do it?

2.Why does the USB power flow back to the PSU?

At the time of design, we thought that plugging in the USB is just to update the firmware, and at other times you will use the SD card for printing. Even if you use USB printing, it should be a short-time debugging. Even, we found that most of the 2560 boards did the same, and nothing went wrong. This should be a way of testing over time. Until TH3D promotes this problem in the whole world, I think this will cause confusion for many people, so I will solve this problem whether or not it will cause problems, and it was already solved on the 1.2a version.

3.The direction of the encoder is wrong?

First of all, this is not a hardware problem, we can adjust it through software, and it is very easy. Secondly, there is no fixed standard in this direction, and different people may not like the same. Finally, we have changed to the most favorite way, if you want to reverse, you can also set the firmware yourself. Note: In fact, our price is only the price of a hardware platform, we have never calculated the value of software, we think that as one of the contributors and users of marlin, we should follow the spirit of open source, make more people easier Get the convenience of open source. Instead of selling it with open source resources.

4.The screen displays garbled characters?

First of all, we should know that low-voltage signals are easily interfered, so we should try to avoid the screen line and the high-voltage and high-current lines being too close. In addition, our people usually have static electricity on their hands, and directly touch some electronic components, which may also affect normal signal transmission. So if it is just an accidental phenomenon and it will disappear after re-power, then don't worry. If it has been there, please contact us and we will deal with it according to the specific situation!

We will continue to update, please look forward to it!

Tech Support

Please submit any technical issue into our forum