configuration.h
334 - #define ENABLE_AUTO_BED_LEVELING
400 - #define PROBE_SERVO_DEACTIVATION_DELAY 500
694 - #define NUM_SERVOS 1
701 - #define SERVO_ENDSTOPS {-1, -1, 1}
702 - #define SERVO_ENDSTOP_ANGLES {0,0, 0,0, 90,0}
pins.h
1573 - #define FAN_PIN -1 // -1 disables fan to fix PWM (Default 16)
Insert the following somewhere after 1545 and before 1574
#ifdef NUM_SERVOS
#define SERVO0_PIN 37 // This corresponds with the E-stop pin closest EXP1 header
#endif
The arrow on the diagram below shows the location of pin 37 on the E-stop connector. This pin should be connected to the servo's control pin. Do not use the other pins to power the servo! The Printrboard cannot provide enough power to run most servos. Instead, power your servo externally. Using an ATX power supply is useful here, since the common voltages (5v/12v) are readily available.
To test the servo, send an M280 command which will look something like this: M280 P0 S0
The number following P refers to which servo is being addressed, while the number following S refers to the angle the servo should move to. M280 P0 S45 will move servo 0 to an angle of 45 degrees. Keep in mind that the servo indexing starts at 0!
Another important issue I'd like to bring attention to is the power requirements for large heated beds. I'm using one of the QU-BD 12" silicone heaters which states it can draw up to 20 amps from a 12 volt source. This is quite a bit of power for a Printrboard, too much in fact! To fix this, I wired a simple relay to switch the current. However, the wire I was using between the psu and relay was too thin to handle the current, and could've started a fire. The wiring in question was a 4 pin molex connector from Sparkfun, which looks like 22 gauge. 18 or 16 might be more appropriate and wiring in parallel on the PSU side would help make this a whole lot safer!