I built a 3D printer heated bed controller using XinaBox xChips. This project was needed to get my old Prusa i3 printer back to life. It is simple, quick build with straight forward software. The XinaBox technology made this a lot easier to build and much more reliable than when I was running this on an Arduino UNO board with loose wires everywhere.
Apart from the set of xChips, you will need Arduino installed and the following libraries downloaded from GitHub.
- ESP8266 Board Driver from Arduino Board Manager
- xCore (XinaBox Library)
- xSX01 (XinaBox Library) for the SX02
- xOC03 (XinaBox Library) for the OC10
- xOD01 (XinaBox Library)
NOTE: The OC10 xChip isn't publicly available just yet and still in testing phases. There are some alternatives available in case you want to replicate this project. Some of the libraries used share main components with other xChips, this is the reason for the names not all correlating n the code.
Click in an IP01 xhip onto the CW01 using an XC10 connector and plug into a USB port on your computer. Connect as shown in the picture below.
Open Arduino and under Tools select Board: "XinaBox CW01" and set the rest of the settings the same as in the picture below, select the correct COM port, then upload the sketch, which I will provide in the code section of this page.
Very easy build here, all you need is a screw driver to connect some wires into the screw terminals.The xChips make it very easy, simply click them together with the XC10 connectors until it looks like the picture below and screw in the wires.
- Wire a 100k resistor between GND and IN on the SX02 and your thermistor between IN and 3.3V to sense temperature on the heat bed.
- Wire your 12V power supply into the terminal on the PG01, polarity doesn't matter, the xChip takes care of this.
- Break GND or 12V on the heated bed and wire into the screw terminal on the OC10 to control the heat bed with the on-board relay.
The only thing to bare in mind, the small XinaBox logos with chip name must all face the same direction, the bus at the top and bottom of the board are NOT the same. Usually the boards have a large logo at the bottom.
Fire up the power and watch things get hot! Ideally only the heat bed and not the electronics :/ The controller is currently hard coded to set the bed temperature to 60°C with a dead band of +- 1°C for control. To power off, simply separate the PG01 from the circuit by unclicking it.
In near future I plan to implement temperature set-point control and ON/OFF control so that power doesn't need to be removed.