From Geeetech Wiki
Jump to: navigation, search



Printrboard, a development board, originally based on sanguinololu, is one of the lasted versions of control board for 3D printer. Compared with sanguinololu, what makes Printrboard special is the on-chip USB, removing the need for the FTDI UART (USB-to-serial) IC. On-chip USB means dramatically faster firmware upload times and communication. What’s more, the Printrboard is equipped with a micro SD slot, which means you can paste the print file to the SD card to implement off-line printing. Printrboard is highly integrated, all our Printrboard has been tested rigorously and preassembled before shipping, including the four integrated Allegro A4982 Stepper Drivers (no Pololus needed), which is on the one hand a good thing for a lay man of electronics, but on another hand, it will be difficult for them to repair by themselves if there is some damage. On the whole, the Printrboard is of high capacity-price ratio and friendly to use.


1. 4 Non-replacement integrated Allegro A4982 Stepper Drivers.

2. 2 channel high current (30A) device interface for heaters

3. Controllable fan 4. Four endstop connectors supplied 5V. Includes X, Y, Z, and fourth endstop called E-Stop to be used as an emergency stop, or extruder stop (to be added in firmware).

5. 2 thermistor connectivity

6. Power supply (12-20V 120W minimum)

7. Integrated USB interface and on-board SD card slot

8. Expansion headers supporting I2C, SPI, UART, and ADC pins.

9. Support one extruder only

10. Highly integrated and high capacity-price ratio.

Overview and Hardware


size:100mm x 60mm



compiling environment:Arduino IDE firmware:Marlin upper-computer software:Printrun/Repetier-Host




Arduino IDE

Arduino IDE



Interface Layout

Printrboard connection and layout.jpg

Interface specifications

1. 2 channel ADC interface for thermometry: one for Extruder and another for Heatbed.

2. 3 channel PWM: one for extruder control, one for heatbed and one for fan.

3. 4 channel endstop: for x/y/z/e separately to connect to mechanical or optic endstop or hall sensor.

4. With TF card slot which supports 8G <= FAT16 and FAT32.

Jumper Instruction

Printrboard jumper.jpg

NOTE: do remember to put on the jumper cap. Or it will affect the uploading of firmware and the connection with PC.

Development Environment setting

Interface Connecting and Setting

Printerboard setting.jpg

File Burning

Arduino IDE 1.Windows users need install driver before uploading. The board: Tools > Board > [CDC]teensylu/printrboard ,as shown below.


2.Configuring serial interface: Tools > Serial Port > the corresponding COM Port of Printrboard of is usually the last one. As shown below:


3.Click the Button1.jpg to check if it is right and then click Button2.jpgto upload firmware, as shown below.

Rumba 11.jpg

4.Upon uploading, IDE will display the rate of progress; when done uploading appears, the uploading process succeeded.

Done uploading.jpg

After uploading, you can go on to the next step. If you cannot upload, check the dialog box below to identify the problem and solve it. The common mistakes are the wrong select of type of board or serial port etc.

Software Setting

Arduino IDE Installation 1.Windows will prompt that a new USB device, named DFU was found when connecting USB with Printrboard to the PC. Then, windows will open the dialog box “found new hardware wizard”, check “no, not this time”, then click “next” to continue.

Rumba 14.jpg

2.Check “install from a list or specific location (advanced)”, then click “next”.


3.Specify “USB32” in Atmel\AVR Jungo USB installation directory to install driver.

Rumba 16.jpg

4.If everything goes well, windows will install the corresponding driver.The graph below shows installation completed.


Now, you can find the corresponding Printrboard device in device manager of windows.


The connection of Repetier-Host

1.Click configuration > printer setting


2.Set the communication port (the COM port for printrboard) and the Baud rate. Then click ok


3.Click “connect”> upload. Choose the GCODE file you want to print.


Get Started

Printrboard is the CPU of a 3D printer, manipulating the whole process of printing. Printrboard can’t be put in use directly without uploading firmware. 1. Firmware uploading- marlin.

2. Setting parameters of the firmware

The parameters that need setting are as below, for those not mentioned just leave them as default.

  #define BAUDRATE 250000

This parameter is for the baud rate of serial port. Note: a successful communication can be realized only when the Baud rate of upper computer is identical with that of Firmware. The Baud rate is not set in random. The common Baud rate are: 2400,9600,19200,38400,57600,115200,250000. The last three are frequently used for 3D Printer.

  #define MOTHERBOARD 81

This parameter is set for board type. 3D Printer has many types of main board, and the settings of IOs are different, therefore, the parameter has to correspond to the type of your board, or it can’t operate normally. The parameter of Printrboard should be 81(single- nozzle). For other board, you can refer to the annotation on the board.

  #define TEMP_SENSOR_0 3
  #define TEMP_SENSOR_BED 3

The two parameters are set for the type of temperature sensor respectively. They are the critical parameter to check if the sensor read temperature correctly. The printer can’t operate normally, even has potential risk (damage the device and even worse). You must modify depending on the temperature sensor you use.

  #define EXTRUDE_MINTEMP 170

This parameter is set to avoid potential risks when the extruder operates before reaching the rated temperature. If you use other 3D Printer, such as printer to make Chocolates, 45℃ is appropriate, so that the parameter configured to a lower value(such as 40℃).

  const bool X_ENDSTOPS_INVERTING = true;
  const bool Y_ENDSTOPS_INVERTING = true;
  const bool Z_ENDSTOPS_INVERTING = true.

The three parameters are set for the end stops of three axes. If the configuration is true, the end stop outputs 1 in default condition, and outputs 0 when triggered. That is to say, mechanical end stop should connect to the NO (normally open) contactor. If it is connected to the NC (normally closed), true should be changed to false.

  #define INVERT_X_DIR false
  #define INVERT_Y_DIR true

Mistakes are often made in the above two parameters. The parameters are different for different machinery. In principle, the origin should be at lower-left corner of the print platform (origin: [0, 0]), or at up-right corner (origin: [max, max]). Only in this way will the printing be correct, otherwise, the printing is the mirror image of one axis which is not what expected.

  #define X_HOME_DIR -1
  #define Y_HOME_DIR -1
  #define Z_HOME_DIR -1

If the position of the origin is the minimum, the parameter is -1; if it is the maximum, the parameter is 1.

  #define X_MAX_POS 205
  #define X_MIN_POS 0
  #define Y_MAX_POS 205
  #define Y_MIN_POS 0
  #define Z_MAX_POS 200
  #define Z_MIN_POS 0

These parameters are crucial to the printing size. Fill in parameters by reference to the coordinate graphs. It is important to note that the origin is not the printing center and the real printing center usually lies at [(x.max - x.min)/2, (y.max -y.min/2)]. The coordinate of central will be used in the slice tool. The printing center’s coordinate must correspond to the parameter configuration, or it will print to the outside of the platform.

  #define HOMING_FEEDRATE {50*60, 50*60, 4*60, 0}

The parameter means the homing speeds (mm/min). This parameter can be set as default if you use the x-axis and y-axis adopt synchronous belt drive and z-axis adopts screw drive.

  #define DEFAULT_AXIS_STEPS_PER_UNIT {85.3333, 85.3333, 2560, 158.8308}

These parameters are crucial to the printing size. These parameters indicate the pulse the axis need when operating 1mm. they are corresponding to x, y, z axis and extruder respectively. In most cases these figure should be calculated by yourself, you can refer to:

So far, the commonest parameters have been configured and the printer can work now. In addition, if the 2004 LCD needs verifying, you should delete the “//” from “//#define REPRAP_DISCOUNT_SMART_CONTROLLER” to ensure the normal working.

Extensible Applications


EA PB.jpg


1. The LED doesn’t light when connected to USB and 5v external power supply.

① LED is broken ② LED is not well welded ③ the power supply doesn’t work.

2.How to solve it if the driver installation failed?

Click here to reinstall the driver.

3.What type of printer can Printrboard be applied to?

Solidoodle,printrbot,and most type of reprap(with a stepper motor driver for Z axis and single extruder)

4.How come the stepper drivers of X/Y/Z axis cannot run in normal direction?

①The endstops didn’t connect or it is a matter of poor connection.

②The IC of stepper driver broke down


Review of GeTech PrintrBoard from Paul Estep

where to get

click here , you can get a printrboard .