One of the most tedious tasks owning a 3D printer is leveling the bed. The nozzle must be level with the bed surface at all points, within about 0.1mm. It can be done by hand, and must be done every time you remove the nozzle or bump the bed too hard. If you get it wrong, your print will not stick.
To fix this, I added a capacitive proximity sensor to my printer. It is adjustable and once it is set up the printer will measure the distance of the bed every time. There is still some calibration when removing the nozzle but it is a much simpler process and only needs done when the nozzle is changed. One problem I ran into was the sensor ran on 6V – 36V, but the microcontroller for the printer runs on 5V. Sending the sensor less than 6V didn’t work, but sending a signal to the microcontroller over 5V would break it. I ended up making a connector that had a voltage divider built in. The sensor then ran of the 12V that the heater, stepper motors, and hot end run off of, but sent the signal back through the voltage divider to the microcontroller. The end result is just under 5V at the microcontroller and a working bed leveling.
Here is the printer leveling the bed using the new sensor.