Participating in this training camp was beneficial because the strict rules required the use of development boards, so I had to obediently settle down and immerse myself in learning. This allowed me to fortunately discover the high precision and high configuration of the CW32 ADC. A powerful current and voltage meter can be implemented with just an MCU, without op-amps or current sensing devices like the INA226. Thanks to Engineer Li for the detailed and informative tutorials, and thanks to LCSC EDA for providing this excellent learning opportunity.
The learning content was quite extensive, so to avoid interference, I didn't make many changes; it was basically a direct copy of the instructor's work. To reduce the purchase of consumables, I made full use of the surface-mount components I had on hand. Resistors, capacitors, and LEDs were all replaced with surface-mount components, resulting in a smaller overall size. I made a mistake with the digital display; it's a bit too large.
This current and voltage meter benefits from the CW32's 12-bit precision ADC, using a successive approximation method to measure relatively accurate voltage values. A 12-bit ADC means 2 to the power of 12, or 4096 voltage data levels. From 0 to 4096 corresponds to a range of 0 to 1.5V. The 1.5V is the MCU's internal reference voltage (an additional 2.5V reference voltage is also available, but lower voltages generally offer higher accuracy). For comparison, testing, and calibration, the board also provides a TL431 voltage reference chip, offering a 2.5V reference voltage with relatively high accuracy. Current measurement is also done by measuring the voltage and calculating the current value using a 100mΩ current sensing resistor. The 100mΩ current sensing resistor was
used for current measurement. I followed the teacher's Kelvin connection method; I'm not sure how effective it is. The accuracy is acceptable. It's very accurate even without calibration! I measured a dry cell battery at 1.601V with a good multimeter, and this voltmeter and ammeter gave roughly the same reading.
Below is a picture of the actual device:


This training camp also encountered some difficulties, both in hardware and software. For example, I soldered the wrong voltage divider resistor, resulting in a 20-fold difference in the measured value. After a moment of confusion, I realized my mistake and immediately replaced the resistor to correct it.
In terms of software, I also had a period where compilation failed. I only understood the problem after comparing several experimental examples.
This training camp... Mr. Li, the instructor for CW32, provided meticulous explanations. Although the schematic diagram was a bit rough at first (there were a few discarded networks, I didn't know how to draw the 2mm banana plug, (A) in the diagram is an ammeter diagram, etc., which Mr. Li assumed everyone should know), after a few days of learning, I found that Mr. Li's video courses were full of valuable information. He even specially extracted common mistakes made by students and provided targeted explanations. I really learned a lot.