This project use a PC with Windows 10, an Arduino Nano with a LCD display and a digital caliper to measure the geometry of the printing bed of a 3D printer.
Links refer to Amazon Italy, but you can find it almost everywere:
Your everyday Windows 10 PC. Note that because two usb port are required to connect to the Arduino and the 3D Printer, if your PC has only one then you need a USB Hub to connect to both devices at the same time, and the USB Hub need to be powered to give power to the Arduino via USB.
Elegoo Nano V3.0 Scheda Elettronica Microcontrollore CH340 ATmega328P con Cavo USB per Arduino https://www.amazon.it/dp/B071S5K67Z
https://www.amazon.it/Seeedstudio-Grove-LCD-Retroilluminazione-Rgb/dp/B01AFKPJ6O
Neoteck DTI LCD Compratore Centesimale Digitale https://www.amazon.it/gp/product/B01H035DRO
The caliper comes with a serial port (no TTL or RS232 serial port, more on this later) but to take advantage of it, we need to open the caliper and solder four wires to the board:
Since the signal coming from the caliper use a 1.5 V logic that is too low to drive the digital input ports of arduino, then two amplifiers are used to convert the caliper 1.5V logic to the Arduino 5V logic. Moreover, we use a simple voltage divider to get +1.5VDC from the +5VDC power source to power the caliper. Beware not to connect the +5VDC to the caliper!
It all depends on the 3D printer model you have. On my 3D printer has been an easy job, I only needed to change a screw with a longer one and fix the caliper on it with a washer and bolt.
The Sketch loop Read the caliper measure and listen the (USB) serial port waiting for a command from the UWP App. Actually the only command is the R(ead) command, and when the Arduino receive it, it respond sending the last received caliper measure back to the UWP app via the (USB) serial port.
The UWP app is still a working progress, I'll add it to this repo A.S.A.P. and I'll update this readme with the pertinent infos.
Stay tuned!