From regular use of the Monoprice Select Mini 3D printer, the heat bed temperature sensor began to fail.  The problem was identified as an issue with the wiring attachment to the heat bed thermistor.

During the repair, the heat bed was removed, and unfortunately, in the process, a short across the heating element and the temperature sensor destroyed the electronics on the mainboard.  The printer still works, but the heat bed temperature always reads 99 degrees Celsius.  The printer starts, tries to print, but heat bead does not heat up.

Possible fixes include:

  1. New printer (,
  2. Warranty replacement,
  3. Mainboard replacement (,
  4. External heat bed temperature controller.

Option 1 is the most expensive, of course, but would guarantee a fix.  Option 2 likely would not work as the issue was caused by actions which voided warranty.  Option 3 is a half-way solution, but the mainboard costs about 1/3 the price of the printer, and ships from China which could take months, and includes risk of rejection at import customs.

Option 4 is quite likely the most interesting solution.  To make it more interesting, why not build a custom controller?  This is what we’ll do.


  • Arduino mini ( which uses the ATmega328 architecture and runs at 3.3V
  • Solu 1.3″ I2c IIC Serial 128×64 White Oled LCD Display Module
  • KY-040 Rotary Encoder Module
  • RFP30N06LE TO-220 Mosfet
  • 10k resistor for power circuit
  • 100K resistor for thermistor circuit
  • 100pF capacitor for thermistor circuit
  • Heat sink (for MOSFET)
  • L78M5 to L78M10 positive voltage regulator.  I used the L78M10 to supply 10V to the Arduino mini voltage regulator, which accepts up to 12V, and regulates to 3.3V.
  • 0.33uF and 0.1uF capacitors for regulator circuit
  • Prototype board and wires for connecting the circuits
  • 100W + power supply.  Need the power to provide enough current for the heating element.

Prototype Version

Below is a picture of the prototype of the controller user interface running.  The firmware is quite simple, and uses a PID circuit to regulate the heating output.


Final Version

The circuit was placed in a more compact form on a soldered board which includes the power regulator, no USB circuit (firmware loaded using a programmer), and the heat-sink.



Print a nice case for the controller and print a nice knob for the rotary encoder.