Inspired by his CNC’s leveling system, [Chuck] built a small PCB to help level his 3D printer and he shares the details in the video you can see below. The idea is simple, the nozzle pushes down on the PCB which has a tact switch underneath. When the switch closes, an LED lights.
In practice, you measure the height of the board and use that for your Z offset, and you are done. Our only concern would be how repeatable the switch is. Granted, most people use a piece of paper and that’s probably not totally repeatable or accurate either. Proper feeler gauges are the “right” way to do it, but we know only a few people who do that.
If you ever look into the repeatability of various Z probes like the proximity sensors or the little pins that drop out of a 3D Touch probe, they aren’t that repeatable. Some people use microswitches, too, which is pretty similar to this approach and is apparently good enough.
The board is available, but it is simple enough that you could create it — or an equivalent — with just about any method you use for your PCBs. [Chuck’s] prototype board was milled. We are always surprised more people don’t use the nozzle itself to sense the bed. Some people go to a lot more trouble than just electrical contact even for CNC.