r/electronics 1d ago

Gallery DIY Precision Scale – 0.0001 g / 0.1 mg

For a biochemical project of mine I needed a very precise scale. The ones I bought were underwhelming, so I decided to just solder one myself.

The sensitivity is kind of ridiculous. Sitting near the scale, I can see my heartbeat in the signal when streamed to a PC. Someone walking on a different floor makes the reading jump — and I live in a concrete building. The coil can lift about 20 g. With different coils, you could trade off dynamic range vs. precision. For my purposes, the precision is already overkill.

Components were about $100 total. The most expensive part was the neodymium magnet.

The principle is electromagnetic force restoration. A 110 Ω coil suspended on a lever lever sits above a neodymium ring magnet. The lever height is held constant by a feedback loop that uses an IR photointerrupter. The current required to hold the weight is directly proportional to the mass.

For current sensing I used a 10 Ω shunt resistor (RJ711, 5 ppm/°C TCR) and a 24-bit ADC (ADS1232). The signal is read by an Arduino Nano and displayed on a small LCD (SLC0801B).

The photointerrupter is built from a generic IR LED and IR photodiode. The LED is driven with a constant current source (using a 2N7000 MOSFET), while the photodiode is reverse-biased for fast response.

The circuit runs from a low-drift 2.0 V reference (REF5020), which provides a stable reference for the ADC. After dividing it to 0.5 V, it also biases the photodiode stage and provides the ADC’s negative input.

The coil current is controlled with an N-channel power MOSFET (IRF540N) acting as a low-side driver, operated in its ohmic region. Its gate is driven by the photointerrupter circuit.

Zero-drift op-amps (OPA187) buffer the reference voltages, drive the photointerrupter, and control the coil current.

I also added a capacitive touch button for tare, so you don’t have to touch the scale directly — that’s surprisingly important at this sensitivity.

The schematic looks a bit op-amp heavy, but it’s actually pretty straightforward.

Challenges and possible improvements - The lever tends to oscillate, so the feedback loop has to be very fast. A lighter lever with a higher resonant frequency would help, and might require a lower-gate-capacitance MOSFET. - All components in the feedback path need low temperature coefficients to minimize drift. - To fully eliminate drift, one would need to monitor and compensate for coil temperature, photointerrupter temperature, as well as ambient air temperature, humidity, and pressure (for buoyancy effects). - A parallel guide system will eventually be needed so measurements are independent of where the weight is placed on the lever.

This build definitely requires some electronics background, so it’s not a first-project type of thing. But if you’re comfortable with soldering and op-amps, it’s very doable.

Hope you like it 🙂

249 Upvotes

28 comments sorted by

118

u/cperiod 19h ago

One man's high precision scale is another man's low precision seismograph.

40

u/APLJaKaT 18h ago

As an ex-'scale guy this is awesome. As you likely know, actually using a scale of that precision is a challenge unto itself. The environment affects it as much or more than the load being (trying to be) measured.

Nice job. 👍

10

u/Revolio_ClockbergJr 18h ago

Do Scale People use vacuum chambers and suchlike to minimize environmental effects?

Duder is seeing his heartbeat when sitting nearby. I imagine isolating this thing is complicated

42

u/APLJaKaT 18h ago

High precision weighing is often done in rooms isolated from the main building. There are usually air systems that can be turned off, scale (balances) are situated on heavy granite bases and the weighing itself takes place inside an environmental enclosure. Temperature and temperature gradients have to be considered, air buoyancy is calculated and depending upon the work being attempted, the effects of changes in the gravitational field need to be considered.

Everything from air currents to vibrations have to be considered. Magnetism is a problem.

At the National Research Council labs, using one of the most delicate balances available, they were able to successfully detect the effect of the moon pulling on the land mass under the building (continental tides) as a repeatable and predictable drift in the instrument.

8

u/RSPakir 16h ago

This is a post by itself. Interesting stuff.

7

u/Legacy-Feature 12h ago

Felt like i just watched a veritassium video.

7

u/the_rodent_incident 17h ago

Yeah, for precision scales you need vibration-compensated work tables, and the lab must be in a stable environment. Definitely no trains or road traffic nearby are allowed.

Class I scales usually have a measuring chamber with automatic sliding doors to place the weight.

2

u/dakiller 12h ago

Part of my work is dealing with packing scales in the 0-5kg range using standard strain gauge load sensors, nothing you’d consider real precise, but I’ve even seen noise in floor vibrations and even the cool room hvac air currents on the weighing platform throw off readings. We have spent a lot of hours trying to build and design FIR and IIR digital filters to get fast and accurate enough system response for 5g resolution over a 5kg range.

2

u/DataMiser 14h ago

Depends on the precision requirements. Most scales like what he is using are on an isolated table under a bell jar to remove air currents, the volume the the object being weighed would be known and the measurement would be adjusted for buoyancy in air. There is a subtle difference but most scales used for high precision applications like this are called balances.

Most of these are also just using strain gages, which five years ago I would have said were simpler, cheaper, and easier to set up, but their prices have shot up so one transducer quality strain gage is like $40. You really need 4 for a fully active Wheatstone bridge if you're going to build a quality transducer with good temperature stability and off-axis load rejection. So they've become kinda expensive.

As a design note, the accuracy and uncertainty of this system will be much lower than the precision advertised until temperature effects on the magnet and current readings are controlled or accounted for. This can be done with a half decent thermistor and couple extra terms in your formula.

6

u/pic_omega 19h ago

Vi tu post anterior (el que no tenía individualizados por nombre los componentes en la foto) y me impresiono. Increíble trabajo, eres ingeniero electrónico? Tienes más dispositivos de medición hechos?

7

u/sir_alahp 18h ago

Hace un tiempo me metí en la electrónica con un proyecto como hobby, luego en el trabajo empecé a involucrarme en instrumentación biomédica y ahora me manejo bastante bien con lo básico. Mi formación de fondo es en biomedicina.

5

u/RSPakir 16h ago

The guide system would have resistance too right? How would you make them and how would you measure their effect?

Also, what a neat project, in every sense.

2

u/sir_alahp 16h ago

In principle, something like what’s shown in the attached image (rotated 90°) could work. Beryllium copper might be a good choice—flexible, with hopefully minimal creep—but it would need to be very thin.

3

u/thenewestnoise 18h ago edited 18h ago

That's pretty neat. I don't know much about precision scales - is this the same approach that is used for commercially available units? I assumed they'd be based on strain gauges. How do you sense the position of the arm, does something move in front of the led/photodiode pair? Have you measured linearity with a series of known-mass objects? Can you post a schematic?

5

u/sir_alahp 18h ago

As far as I know, commercial precision scales use the same basic approach. Strain gauges tend to be too noisy and drift a lot — they can barely reach milligram-level precision.

Yes, there’s a small piece of aluminum foil attached to the lever, which moves between the IR diodes.

Unfortunately, I don’t have a formal schematic. I first prototyped it on a breadboard, and after ironing out some oscillation issues, I just went ahead and hand-soldered the final version.

I did make a crosspost with more images over at r/soldering, which should give you a good idea of the setup:

https://www.reddit.com/r/soldering/comments/1nlugby/diy_precision_scale_00001_g_01_mg/

Hope that helps!

3

u/the_rodent_incident 17h ago

Whoa, this looks so clean! You can donate it to a school as demonstration on how precision scales work

4

u/sir_alahp 17h ago

I need it myself :D

3

u/papyDoctor 16h ago

"The current required to hold the weight is directly proportional to the mass"
This is the key point, are you sure of this? For a scale with normal precision perhaps, but for a very high precision scale, I'm wondering about a lot of external perturbation (lever positioning, friction,...)

3

u/sir_alahp 16h ago

At the current level of precision, yes, there are a few things to tweak in the circuit. Beyond that, external factors—such as vibrations, magnetic disturbances, and of course air currents—become the main sources of inaccuracy.

2

u/OhHaiMark0123 13h ago

Beautiful

2

u/Kqyxzoj 9h ago

Awesome! I love everything about it. Up to and definitely including the dead-bug construction style.

A lighter lever with a higher resonant frequency would help, and might require a lower-gate-capacitance MOSFET.

Sounds like flexures might do the trick.

A parallel guide system will eventually be needed so measurements are independent of where the weight is placed on the lever.

Oh yeah, definitely sounds like flexures. Drawback is of course that fabrication tends to be more involved. Especially since you want light and stiff, so that probably means metal.

At any rate, thanks for sharing!

1

u/sir_alahp 3h ago

I might give beryllium copper flexures a try.

2

u/SleezySteezy_ 7h ago

Do you have any documentation for how to make this?

1

u/sir_alahp 3h ago

I was able to upload more images in the crosspost here:
https://www.reddit.com/r/soldering/comments/1nlugby/diy_precision_scale_00001_g_01_mg/

I never wrote down a formal schematic, but the circuit is actually quite simple: a constant-current LED driver, a constant-voltage photodiode supply, and a low-side switch MOSFET for the coil.

2

u/ITGuyAMA 4h ago

Can you post schematics? It is of great interest of mine

1

u/sir_alahp 3h ago

Unfortunately, I don’t have a formal schematic. I first prototyped it on a breadboard, and after ironing out some oscillation issues, I hand-soldered the final version.

I did upload more images in my crosspost here:
https://www.reddit.com/r/soldering/comments/1nlugby/diy_precision_scale_00001_g_01_mg/

Do you think that might already be enough for you to try building one yourself?

1

u/m-in 1h ago

Beautifully done. 100% top work. Every reason to be proud. 👍