So before we commit to the (much) more expensive design using hall effect sensors (even at China prices, 12p each soon mounts up if a room has 24 squares: that's nearly three quid per board section) it was time for a little test.
Having cut open a tilt switch and stolen the ball bearing, we tried testing for electrical conductivity by just dropping the ball into a gap between two copper plates. Amazingly, it worked!
The delay between the ball bearing landing and the LED lighting is our enormous 500ms debouncing routime. The horrible fingernail colouring is because Ferric Chloride is a nightmare to wash off one you get it onto your hands!
To make sure it wasn't the copper plates making the difference, we tested again with the copper washer (it still required pushing down to work consistently) and also with the steel washer (took a lot of pressing to make contact).
So it looks like the problem with our earlier design is one of a few things: either the surface wasn't flat enough to ensure that both sides of the two-part contact were actually touching the washer when landing (though this test disproved that to some degree) or the base of the washer wasn't flat enough to ensure good contact when dropped onto a flat copper board. This is the more likely, since some washers do have a slight burr on one side (where they've been pressed out of a sheet of steel). Or, simply, the material used in the washers isn't conductive enough (though copper washers are made from about the most conductive material we can find without getting involved with semi-precious metals). However, since we're looking to simplify construction and use easily available parts, sanding/griding washers flat and gluing a steel one onto a copper one is not likely to be an acceptable solution.
The ball-bearing idea, however, is looking very promising.
The only problem so far, is that the ball-bearing from the tilt switch is only attracted to even a large magnet very, very weakly. It seems to work consistently and triggers the LED every time during testing (except in the video when it doesn't land between the two plates properly!) so if we can get the same result with a steel-based ball-bearing (so it can be attracted by a magnet) we might be onto something.
Our PCB has undergone yet another redesign:
The larger circles represent 6mm holes that an M5 (or 5mm) ball-bearing can sit in and the smaller, inner circle represents a 2mm hole drilled into the PCB (the larger holes are 6mm across, allowing the ball-bearing to move freely up and down, but restrictive enough to ensure that it locates into the 2mm-sized hole when it lands).
Ideally, copper-plated steel ball-bearings would be perfect for this. We've no idea what metal is used for the ball-bearing inside the tilt-switch. All we know is, it's not attracted to magnets (ok, it is but only the tiniest little bit, only just strongly enough to lift it off the table and it drops off easily, if shaken). Let's hope that a steel or stainless steel, or chrome-plated steel (or any other easily available) ball-bearing is just as conductive as this one.
Once again, it's a little late to go down to the 'space and knock out a few PCBs to try this design out, so it'll have to wait until tomorrow evening and we can see if this works. If not, we've already got a PCB designed for SOT-23 hall effect sensors (and there's about 100 arriving from Farnell in the morning, if their next-working-day-delivery is as good as it usually is!)