STLs and ESPHome config for a scale intended to sit in front of my cat's food bowl to track her struggles to lose weight.
Size: 220mm x 220mm x 40mm. Load: Has 2x 10kg load cells, but is more limited by the cantilever platform. It works for a 4kg cat at least.
I printed this with supports in the load cell holes, it resulted in quite a lot of support-unpicking in front of the TV, but I can't print bridges reliably. The load cell holes were designed at 12.9mm. Off of my printer my calipers said the result was 12.6mm and that resulted in a tight push fit that practically didn't need screws. If your printer under-prints by any more you'll struggle to insert the load cells. This was designed for an eBay load cell that was 12.5mm x 12.5mm x 80mm, but I didn't order additional ones carefully from Aliexpress and they were 70mm long and M4 tapped on both sides (rather than M5 on one side) - I've used the 70mm ones without adjusting the design and only using one screw hole and it's all turned out alright.
Care is needed when inserting the load cells into the base, there is a cut-out in the print but you'll need to neatly fold the wires down in a 'U' shape to come back out of the load cell hole. The print unfortunately shaves some of the silicone but it hasn't caused me a problem yet. The photo has the wiring drilled through as the printed-in tunnel was too small, I've since enlarged the tunnel which should fix the problem.
I put a coat of plasti-dip on the bottom thinking it would make a nice non-slip surface, maybe it would work if I put more coats but one coat was thinner than I expected and had too many peaks and valleys to give good grip on wood floor. I ended up with double sided tape which has worked well.
The wiring can be almost anything you want, this is what I did.
I calibrated each of the load cells after installing/wiring in the base, but before installing the platform. I weighed a bottle on a kitchen scale and then, after uploading the ESPHome firmware with the "calibrate_linear" filters removed, watched the logs and noted the 'zero' count and 'bottle' count. Those should then be substituted into "calibrate_linear".
The output in Home Assistant should be stream of readings at 2Hz while the cat is on the scale. I would like to eventually emulate a human scale and present one number from a weigh-in, I think it would involve sampling until the variance settles and then averaging the low variance data... but for now it's raw values. A manual tare button in Home Assistant zeros both of the load cells, I've only had to zero it a couple of times and it's only ever drifted by a couple of grams anyway.
On the cat behaviour front - I had to initially put sides up to stop her walking around the scale. With it not sliding or rocking she now uses it happily. I also had to 'encourage' her back paws on initially, if I had a larger printer I think I'd make the platform 10% bigger but she took the hint and now sits fully on the scale.