When working on simple DC systems, a small low-cost multimeter from the hardware store will get the job done well enough. Often they have the capability for measuring AC, but this is where cheap meters can get tripped up. Unless the waveform is a perfect sinusoid at a specific frequency, their simple algorithms won’t be able to give accurate readings like a high-quality meter will. [hesam.moshiri] took this as a design challenge, though, and built an AC multimeter to take into account some of the edge cases that come up when working with AC circuits, especially when dealing with inductive loads.
The small meter, an upgrade from a previous Arduino version that is now based on the ESP32, is capable of assessing root mean square (RMS) voltage, RMS current, active power, power factor, and energy consumption after first being calibrated using the included push buttons. Readings are given via a small OLED screen and have an accuracy rate of 0.5% or better. The board also includes modern design considerations such as galvanic isolation between the measurement side of the meter and the user interface side, each with its own isolated power supply. The schematics and bill-of-materials are also available for anyone looking to recreate or build on this design.
With the project built on an easily-accessible platform like the ESP32, it would be possible to use this as a base to measure other types of signals as well. Square and triangle waves, as well as signals with a large amount of harmonics or with varying frequencies, all need different measurement techniques in order to get accurate readings. Take a look at this classic multimeter to see what that entails.