SPIDER is a small but powerful 3D printer control board. In a limited space, it integrates 8 stepper motor drives, 5A 12V power supply, 8A 5V power supply, which provides powerful energy for fans of various voltages, various RGB light strips and Raspberry Pi. You can build a 3D printer with rich functions through SPIDER. Especially for VORON V2.4, we cooperated with the VORON team in the early stage of design, and many features have been recognized by the VORON team. If you are building VORON, this will be your best choice.
- Compact size: 155.3mm x 76.5mm
- Based on STM32F446 180Mhz,all IOs can withstand 5V voltage
- 8 TMC stepper drivers support, with Uart&SPI support
- Improved TMC jumper settings again,simpler and easier
- 28V input max,12V@5A DC-DC,5V@8A DC-DC (Especially for Raspberry Pi),[email protected] LDO
- Two car fuses for hot bed input and main power input
- Limit switch socket 24V/5V/3.3V optional, ready for more other equipment, such as -inductive sensor, BL-Touch
- XH2.54 connectors
- 10x PWM capable power mosfet outputs (1 for HotBed, 3 for Heat-End, 3 for fans, 3 for RGB LED strip)
- 3pin temperature header, you can use thermistor or thermocouple (requires AD597 module)
- Up to 8 ways PWM fans (only use 1 extrueder and no 12V/24V RGB used ),2 ways RGB led(12V & 24V optional) ,1 way 5V-RGB led (NEO-PIXEL/WS2812)
- RepRapDiscount SmartController compatible pin header on board
- UART1-Raspberry Pi pin header (including 5V@8A power supply)
- 2X4 PinHeader Out for SD Card moudle
- Onboard micro-SD card
- Type-C and Type-B USB connector optional
- EXP1 & EXP2 have more multiplexing functions, such as USART, I2C, CAN
- SD card & USB upload support
- 4.7k temperature sensor pull-up resistor. PT100 module can be used directly.
![]() |
![]() |
---|
Features | Spider Pin | STM32 Pin | Pin No. | Comment |
X-MOTOR(1) | X-Step | PE11 | 42 | |
X-DIR | PE10 | 41 | ||
X-EN | PE9 | 40 | ||
X-CS/PDN | PE7 | 38 | ||
Y-MOTOR(2) | Y-Step | PD8 | 55 | |
Y-DIR | PB12 | 51 | ||
Y-EN | PD9 | 56 | ||
Y-CS/PDN | PE15 | 46 | ||
Z-MOTOR(3) | Z-Step | PD14 | 61 | |
Z-DIR | PD13 | 60 | ||
Z-EN | PD15 | 62 | ||
Z-CS/PDN | PD10 | 57 | ||
E0-MOTOR(4) | E0-Step | PD5 | 86 | |
E0-DIR | PD6 | 87 | ||
E0-EN | PD4 | 85 | ||
E0-CS/PDN | PD7 | 88 | ||
E1-MOTOR(5) | E1-Step | PE6 | 5 | |
E1-DIR | PC13 | 7 | ||
E1-EN | PE5 | 4 | ||
E1-CS/PDN | PC14 | 8 | ||
E2-MOTOR(6) | E2-Step | PE2 | 1 | |
E2-DIR | PE4 | 3 | ||
E2-EN | PE3 | 2 | ||
E2-CS/PDN | PC15 | 9 | ||
E3-MOTOR(7) | E3-Step | PD12 | 39 | |
E3-DIR | PC4 | 33 | ||
E3-EN | PE8 | 59 | ||
E3-CS/PDN | PA15 | 77 | ||
E4-MOTOR(8) | E4-Step | PE1 | 34 | |
E4-DIR | PE0 | 97 | ||
E4-EN | PC5 | 98 | ||
E4-CS/PDN | PD11 | 58 | ||
TMC Driver SPI (SPI4) | MOSI | PE14 | 45 | |
MISO | PE13 | 44 | ||
SCK | PE12 | 43 | ||
End-stops | X-MIN | PB14 | 53 | Share with X-DIAG |
X-MAX | PA1 | 24 | Share with E0-DIAG | |
Y-MIN | PB13 | 52 | Share with Y-DIAG | |
Y-MAX | PA2 | 25 | Share with E1-DIAG | |
Z-MIN | PA0 | 23 | Share with Z-DIAG | |
Z-MAX(Probe) | PA3 | 26 | Share with E2-DIAG | |
FAN/RGB | FAN0 | PB0 | 35 | |
FAN1 | PB1 | 36 | ||
FAN2 | PB2/BOOT1 | 37 | ||
LED-R | PB6 | 92 | Can be used for fan3 | |
LED-G | PB5 | 91 | Can be used for fan4 | |
LED-B | PB7 | 93 | Can be used for fan5 | |
5V-LED(WS2812) | PD3 | 84 | Share with flash indicator(Bootloader) | |
Heating | E0-Heater | PB15 | 54 | |
E1-Heater | PC8 | 65 | ||
E2-Heater | PB3 | 89 | ||
Heated-Bed | PB4 | 90 | ||
Temperature | TE0(THERM0) | PC0 | 15 | 4.7K 0.1% resistance pull up, PT100 module can be used |
TE1(THERM1) | PC1 | 16 | 4.7K 0.1% resistance pull up, PT100 module can be used | |
TE2(THERM2) | PC2 | 17 | 4.7K 0.1% resistance pull up, PT100 module can be used | |
TB(THERM3) | PC3 | 18 | 4.7K 0.1% resistance pull up, PT100 module can be used | |
EXP2 | LCD_D7 | PD1/CAN-TX1 | 82 | Share with CAN-TX1 |
LCD_D6 | PD0/CAN-RX1 | 81 | Share with CAN-RX1 | |
LCD_D5 | PC12/MOSI3/TX5/SDA2 | 80 | ||
LCD_D4 | PC10/SCK3/TX3/4 | 78 | ||
LCD_EN | PC11/MISO3/RX3/4 | 79 | ||
LCD_RS | PD2/RX5 | 83 | ||
ENC_C | PA8/SCL3 | 67 | ||
BEEP | PC9/SDA3 | 66 | ||
EXP1 | RESET | NRST | 14 | |
ENC_A | PC6/TX6 | 63 | ||
ENC_B | PC7/RX6 | 64 | ||
SD-DET | PB10/SCL2 | 47 | ||
SD-MISO | PA6/MISO1 | 31 | ||
SD-MOSI | PA7/MOSI1 | 32 | ||
SCK | PA5/SCK1 | 30 | ||
CS | PA4/CS1 | 29 | ||
EEPROM(4K) I2C Pin-Out | SCL | PB8/SCL1 | 95 | Connect to 24LC32(4K EEPROM) |
SDA | PB9/SDA1 | 96 | Connect to 24LC32(4K EEPROM) | |
Pi_PWR/UART | TX | PA9/TX1 | 68 | |
RX | PA10/RX1 | 69 | ||
SWD Debug | PA13/SWDIO | 72 | only used for debugging now and can be used for other purposes. | |
PA14/SWCLK | 76 | only used for debugging now and can be used for other purposes. |
To compile the firmware , you need to install Visual Studio Code and the platformio pulg-in.
The Marlin firmware is in the firmware/Marlin
folder in this repository , you can also get the firmware from latest Marlin bugfix-2.0.x branch. You need to enable following define in configuration.h
file
#define MOTHERBOARD BOARD_FYSETC_SPIDER
then change the default_envs
variant in platformio.ini
file
default_envs = FYSETC_SPIDER
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 , click it to compile.
If you generate the hex file fail you may need to open vscode using Administrator Account .
We provide several ways to upload the firmware .Uploading with SD card is our default way to update the firmware as the board already has the sdcard bootloader in it when it leave the factory. There is sdcard slot at the right side of the board.
Then,copy your compiled firmware file firmware.bin
or klipper.bin
(if you use klipper firmware) file to the SD card , and insert it to the SD card slot, and then power up the board. You may need to wait for about 30s to finish uploading, there is LED beside the sdcard slot blinking when it is uploading.
Note: The bootloader is in the folder named bootloader
, please follow the README in bootloader folder.
The other way to upload the firmware is using DFU.
You can download it from ST website.
https://www.st.com/zh/development-tools/stm32cubeprog.html
Open the STM32CubeProgrammer software.
First power off the board , then jumper the BT0 to 3.3V (You can find them in the middle area of the board) , then connect the USB to the board and your computer , it will enter DFU mode . Now you can take the jumper away.
REMEMBER to remove the jumper if you finish uploading or it will enter DFU mode again.
Now you can connect and flash the Spider board with stm32cubeprogrammer with the following operation.
Do as the red number shows in the screen shot.
- Click the button to flesh the DFU port.
- Connect the DFU
- Choose the "firmware.bin" file.
- fill in the 'Start address' with 0x8010000
- Start Programming
You need to follow the Klipper installation guide to install Klipper.
When calling "menuconfig", enable "extra low-level configuration setup" and select the "12MHz crystal" as clock reference.
Boot address option1
At the moment ,i don't find boot address setting in Klipper, so all two firmwares we pre-build klipper.bin and klipper-UART0.bin (The differences between two firmware , you can check README here) are at boot address 0x8000000. Please follow Upload the firmware(DFU) to upload the firmware to Spider board. But you need to set the 'Start address' to 0x08000000 and Choose klipper.bin file but not firmware.bin.
Boot address option2
If Klipper future update support boot address settings for STM32F446 chips, then you can set the boot address to 0x08010000 and build Klipper yourself. Then you need to flash the spider board bootloader first. The bootloader is in the folder named bootloader
in this repo, please follow the README in bootloader folder. Then you can follow Upload the firmware(SDCARD) to flash your built Klipper firmware to Spider.
As RRF firmware requires more than 512KB of Flash space, the Spider equipped with 446 cannot meet its requirements. So Spider has another version dedicated to running RRF firmware, which uses STM32F407VGT6 MCU.
You can submit issue in our github https://github.com/FYSETC/FYSETC-SPIDER/issues Or submit any technical issue into our forum