Ultimaker's v1.5.7 PCB

From RepRap
Jump to: navigation, search
Version specific info
v1.5.7 | v1.5.6 | v1.5.4 | v1.5.3 | v1.3 | v1.2 | v1.1 (UM v1.1 PCB Fix) | v1.0
Crystal Clear action run.png
Ultimaker's v1.5.7 PCB

Release status: unknown

A 5 axis RepRap ArduinoMega Pololu Shield
CAD Models
External Link

Eagle Files and BOM: media:Arduino_MEGA_Ultimaker_Shield_v1.5.7.zip

Version 1.5.7 of the electronics

Warning: this is for version 1.5.7 of the Ultimaker PCB. If you have a older version of this board, this guide does NOT apply. The 1.5.5 version of the PCB was never produced, so an intermediate version isn't released because of its limited usefulness. The 1.5.7 board is a minor change from the 1.5.6 board.

This is a board that's very similar to other Pololu-based electronics implementations, including RAMPS, but it can support up to 5 steppers (three for X, Y, Z, one for an extruder and one for any other function). You can add as many stepper driver carriers as you need. It is designed to run at higher voltages than 12 Volts, This allows you to put 90 Watts out of one MOSFET and run your stepper motors with more torque and higher maximum speeds. This board is also used on the Mantis-30 milling machine from Protospace and on various Mendel's that people have built.

Where to get it?

It's sold in the Ultimaker 3D printing shop.


  • Arduino Mega Shield
  • Plug in all motors with simple 4-way JST connectors.
  • Made for Ultimaker's UltiStepper Driver.
  • Compatible with Pololu stepper driver boards.
  • Controls up to 5 stepper motors (3 for the X, Y and Z axis one for an extruder (the "E axis"), optionally you can add another axis by adding a Pololu stepper driver.
  • Configurable step sizes by placing jumpers
  • 3x 55 Amp MOSFETs outputs (with LED indicators. Actual current capability limited by PCB and connectors)
  • All pins are broken out for maximum extensibility
  • Runs from 15V to 19V.
  • Three thermocouple inputs, or thermistor inputs. The 100K thermistor is recommended.
  • Has a IDC header for adding an LCD panel (movie here)
  • Has a header for adding an SD card module.
  • A toggle-switch for powering up/down the board
  • Easier to wire up thermocouples
  • Includes a 12V regulator for an (always on) fan to cool the electronics.
  • A PWM output with power for LED arrays and other lighting
  • LCD backlight dimming can now be software controlled
  • A serial I/O header for bluetooth and ethernet add-ons.
  • Servo outputs for experimental setups. They need to be interrupt or software driven as the pins routed to the servo header I/O do not have PWM.

New features and improvements of previous version:

  • Compatible with UltiController

- The Arduino Mega 2560 can be self-powered from the DC-jack. - Jumper added for controlling autonomous power setting - 100 uF connection to Vcc2 - High-current track from DC jack and ON/OFF switch moved slightly - Better suiting the footprint of the rocker switch

Marlin firmware compatibility is unaffected by this updated PCB.

Please provide your comments for further improvements ( erik at ultimaker (dot) c o m ).

Pinout of Extension connectors

Arduino pins as seen from above, the gray box with the text is also the orientation part of the connector

GND 5 (PWM) 16 (TX2) 17 (RX2) 18 (TX1)
5V 6 (PWM) 21 (SCL) 20 (SDA) 19 (RX1)

GND 38 40 42 50 MISO
5V 3.3V 51 MOSI 53 SS 52 SCK

5V GND 13 12 11 10 9 8

EXP4 - Unmarked Analog
A12 (Digital 66) A14 (Digital 68) A13 (Digital 67) A15 (Digital 69) 5V GND

3.3V 5V GND GND VIN (Arduino supply) A0 (Digital 54) A1 (Digital 55) A2 (Digital 56) A3 (Digital 57) A4 (Digital 58) A5 (Digital 59) A6 (Digital 60) A7 (Digital 61)

The tools you need

Soldering requirements.jpg

  • soldering iron
  • solder
  • wire-snip pliers
  • small hacksaw


Thermocouple sensor board

When you have played a lot with DIY 3D printers, you'll find that an accurate temperature measurement of your extruder is very important to achieving the best result. Thermocouples are more reliable and more accurate sensors than thermistors, but the also are more pricey because you need to have the measured signal amplified with a special chip. This chip (in this case AD597) is on the tiny Ultimaker TC board.

Using it with the v1.5.4 PCB

Note: it is very important that the resistor R23 is NOT mounted. The resistor R23 is meant for use with a thermistor based measurement only! If it IS installed, you can just cut it away, because if you have a thermocouple it is unlikely that you will go back to thermistors. Similarly, if you use the other thermocouple inputs (Temp2 or Temp3) you need to leave out resistors R21 or R4 (which are all located next to R23).

The convention for the first extruder, is to use Temp1. In case you use a second extruder, use Temp2 and for a heated bed, use Temp3.


Note: follow this specific order:

  1. Connect the 5V to the thermocouple board.
  2. Power up the Arduino by connecting it to the USB port of your computer.
  3. Connect the ground (- or GND) to the thermocouple board. The blue LED should light up on the little thermocouple board.
  4. If you already have the software installed: Open up ReplicatorG, look at what reading you get in the control panel.
  5. Connect the signal wire (Sig). See if the value changes. If it does not, you have the wires connected incorrectly or the firmware tries to read a different input.

The thermocouple board has three connections to the Ultimaker PCB, signal, power (+ or 5V) and ground (- or GND). The preferred wire colors are brown or any other color, red and black, respectively.

The Ultimaker thermocouples have Yellow and Red wires. The yellow one goes into the + of the little thermocouple sensor board, the red thermocouple wire goes into - of the thermocouple board (on the TWO wire screw terminal, not the 3 wire terminal). Cut the thermocouple wire to exactly 15 centimeters, this is optimal because the wire will pick up less interference (the shorter the better) but not be too short (which is a problem for the sensor chip, it thinks the inputs are shorted out).

Checklist / What to do if it doesn't work

  1. Always make sure you're running the Ultimaker firmware.
  2. The temperature goes DOWN to 0 if I heat up the thermocouple. This means that you have switch the thermocouple wires.
  3. The values are incorrect: Check if the resistors are left out or removed (see above).
  4. The value is 499.9 degrees: Check if all connections are correct, and if reliable wires are used.
  5. Does the temperature fluctuate too much? Check if C1, C9 and C10 are installed.
  6. The thermocouple is nothing more that two wires of a specific metal that are connected together at one end. This is the measurement end. You can make your own by fusing the end together (do not use solder, it will melt at normal operating temperatures of the extruder. The original thermocouple supplied with Ultimakers has a standardized thermal resistance to the aluminium heater block, so this will give the most reliable measurement.
  7. Using your own firmware? The AD597, as used in the Ultimaker thermocouple PCB, is fully compatible with the AD595. Make sure that the AD595_THERMOCOUPLE is defined and thermistor measurements are turned off.
  8. If you switched the black and signal wires, the LED can be lit, but this is no confirmation that you've wired it up correctly. Incorrect wiring may damage your thermocouple sensor board.
  9. The thermocouple always shows room temperature, but isn't changing when I warm up the thermocouple with a lighter: the AD597 chip is currently in self-measurement mode. If the + and - inputs of the thermocouple have a very low resistance, it will not give you the temperature of the thermocouple, but of the chip itself. Check this by placing a warm finger on the chip. If the value change quickly, this is indeed the case. Extend the thermocouple wires with terminal blocks or solder them together to get a higher resistance between the thermocouple inputs.

Prototype / Design

TC-0.9-Prototype2 turned on.JPG

Picture: CC-SA-BY Erik de Bruijn