Close

Some more (less-important) changes, and an update

A project log for Open Source Multimeter

A relatively low-cost but full-featured and safe multimeter.

karl-sKarl S 06/07/2016 at 03:040 Comments

The good news is I'm basically done with the schematics. I've got a bit more still, but nothing particularly major. I hope to get them up on GitHub by the end of the week.

The other good news is that I was looking at displays and decided my best option was a 2.2" graphic display from AliExpress, so that means it can have a very basic scope (or at least graph against time).

The not so good news is that seeing I've got the design pretty much done, I decided to check out the price I was looking at – and it was somewhat higher than I liked. So I've cut down on a few bits and pieces, but fortunately that doesn't significantly affect the usefulness of the design. And I'm happy with the price after doing it too.

So I'll remove / replace the following (with more details for each afterwards).

The micro I'm going to use (STM32F373) has an integrated 16-bit ADC (three, actually!), however it has an integral non-linearity of 14 LSB (effective number of bits is about 12.3). So I'm planning on using that, and only counting on using 13 out of 16 bits (for a maximum count of 4000). I will also use calibration if that is possible – a constant-current changing a capacitance will give me a nice voltage ramp to check against, and if it is feasible to use the data gathered I will increase the number of bits appropriately. But the nice thing is that it is a Sigma-Delta ADC, so the anti-aliasing filter can probably just be a simple first-order filter. I will try to leave enough IOs available (broken out internally) that it should be easy to incorporate a better ADC without modifying the design.

I don't need extremely accurate resistance measurement, but it does mean I won't be able to use resistance measurement to get accurate voltage division ratios. That's not a problem though. Not even a software change here!

The rotary switch isn't particularly expensive, but I can still save a bit by replacing it. Besides, auto power-off and a rotary switch with an off position doesn't make sense to me. A push-button switch is used because touch-switches can't wake up the micro from standby. The good thing is this means the user-interface can be much more versatile.

I have also replaced the high-current range with a second low-current range for even lower currents for what I build. This lets me replace a relatively expensive fuse with a much cheaper one. But anyone could easily use a different fuse and current sense resistor to have a high-current range.

And something I would like some advice on: with things like resistors and capacitors, I can often choose what package I want (e.g. 0603 or 0805) and obviously I'd standardise that, but sometimes only one is available (at least at that price) or I already have that component on hand with a particular package (which I'd obviously want to use). I'm hesitant to use a mix, because if anyone else ever wanted to build it (not likely, I know, but I'd like to do this right) they'd either have to modify the design for their parts or put up with my mess. The idea I've got right now is to use a compound footprint that accepts both 0603 and 0805, and possibly more sizes if relevant (e.g. I have some 1206 100k and 1210 10k resistors that I'll probably use somewhere), and use that making it possible to use the exact same PCB with various different component packages. Your thoughts?

Discussions