@yippiez It could be the software or firmware, the easiest test is to use a terminal program to connect to the machine and see if it responds correctly to the probe.
You could use Grbl Controller or better still something like CoolTerm to connect with the machine.
If you send: G38.2 Z-10 F20
It will cause the probe to move down 10 mm at 20 mm/min, and when it makes contact you will get a response such as:
[PRB:0.000,0.000,-0.525]
Which means it found the probe at -0.525 mm.
The software would then set the correct Z value based on the thickness of the probe.