Toilet key hacking The toilet keys on the camping site consist of a plastic carrier holding a 4x3 matrix of magnets. Each magnet encodes one bit, but the pattern looks like an L-shape. 0 = S 1 = N 1 0 0 1 0 0 1 0 0 1 1 1 Someone did a draft for a 3d printed version in openscad; the magnet size is 5mm in diameter and 2mm in height. NOTE: This is only a draft and may still need some adaption, as we didn't have enough magnets to test y_magnet_pos = [31,40,49,58]; x_magnet_pos = [5,14,23]; magnet_spacing = 9; magnet_dia = 5; magnet_h = 2; module magnet() { color([.6,.6,.6]) cylinder(d=5, h=2, $fn=30, center=true); } module camping_toilet_key() { difference() { cube([28,64,4]); translate([23,5,-.1]) cylinder(d=5, h=4.2, $fn=30); for(y = y_magnet_pos) { for(x = x_magnet_pos) { translate([x, y, .8]) cylinder(d=magnet_dia+.4, h=magnet_h+.4, $fn=60); for(xd = [-2,0,2]) translate([x + xd, y, 4.2]) cube([1,magnet_dia + 1,2], center=true); } translate([28/2 + 5, y, 2]) cube([28,magnet_dia + .1,magnet_h+.4], center = true); translate([28/2 - 5, y, 2]) cube([28, magnet_dia/2, magnet_h+.4], center = true); translate([28/2, y - magnet_spacing/2, 2]) cube([26, (magnet_spacing - magnet_dia - 1), magnet_h+.4], center = true); } } } camping_toilet_key();