The digital voltmeter and ammeter based on the LCSC CW32F030C8T6 is finally finished!
Unlike ordinary multimeters, it has a calibration function. When the measurement is inaccurate, you can calibrate it. Press the user button 1 to enter the 5V calibration mode, which displays S.05.
At this time, plug in a voltmeter and turn the long-handled potentiometer to make the voltmeter display 5V. The blue text below shows the voltage that is not calibrated in the meter. If you have time, you can also calculate the error [winking emoji].
Then press the user button 2 to enter the 15V calibration mode, which displays S5.15. Turn the potentiometer to 15V and press the user button 2 again to complete the calibration. Similarly, you can also calibrate the current. Press the back button 1, which is user 3, to return to mode 0 and enter the measurement mode. This is its highlight.
Bilibili video link. I will post the Oshwhub open source and code in the comments section tomorrow.
This link is not the original version. This version adds two switches and Type-C power supply.
Below is the official documentation. If you don't want to read it, just close it.
I. Design Background
ADC (Analog-to-Digital) A converter (analog-to-digital converter) is an indispensable key component in electronic systems. It converts continuous analog signals into digital signals, enabling digital processing and analysis. ADCs play a crucial role in signal conversion, measurement and data acquisition, control system input, and communication and signal processing. Their widespread application promotes the intelligent and precise control of electronic equipment across various industries, and is one of the key factors driving modern technological progress.
Digital voltmeters and ammeters combine ADC technology with circuit measurement principles, accurately converting analog voltage and current signals into digital displays for easy reading and analysis by electronic engineers. This device not only improves the accuracy and efficiency of circuit measurements but also helps engineers better understand circuit behavior, making it a powerful tool for electronic design and troubleshooting, and playing a vital supporting role in the work of electronic engineers. In product applications, digital voltmeters ensure the accuracy and safety of circuit design, while also providing strong support for product quality control and subsequent maintenance.

Learning to design and build a digital voltmeter and ammeter is highly beneficial for improving one's professional skills. The digital voltmeter and ammeter project covers multiple aspects, including the design and implementation of microcontroller circuits, the design of signal acquisition and processing circuits, the development and optimization of user interfaces, and the design of product appearance. It integrates knowledge from multiple fields such as electronic technology, microcontroller programming, circuit design, and industrial design. Considering the learning pace and knowledge absorption capacity of beginners, we have specially launched this introductory-level digital voltmeter and ammeter project, which is very suitable for beginners in electronic technology and those who want to learn more about microcontroller applications. This project has the following highlights:
it adopts a core board plus expansion board design concept and uses plug-in device design, making learning simpler and exploration more in-depth;
the core board uses the domestic Wuhan Xinyuan Semiconductor CW32 as the main controller, while being compatible with other similar development boards; however, the CW32 has advantages.
The project is highly comprehensive and practical, and can be used as a desktop instrument after completion;
the project has rich learning materials, including circuit design teaching, PCB design, code programming learning, and the cultivation of engineers' debugging capabilities.
2.1. Software Development Overview
2.1.1. Essential Knowledge Points for Embedded Systems
Embedded software development, as an interdisciplinary field of computer science and electronic engineering, requires developers to have a series of professional knowledge and skills. Essential knowledge for CW32-based embedded software development includes the following:
Programming Languages:
Proficiency in C (C++) is crucial, as it's the most commonly used programming language in embedded systems due to its direct hardware access capabilities and high code execution efficiency.
Understanding of assembly language is necessary for writing low-level drivers, interrupt handlers, and high-performance code segments.
A basic understanding of other programming languages such as Python and Java is required for specific situations.
Familiarity with the CW32 standard library is essential.
Data Structures and Algorithms:
Familiarity with various data structures, such as arrays, linked lists, stacks, and queues, as well as common algorithms like sorting, searching, and recursion.
The ability to select appropriate data structures and algorithms based on the resource constraints of the embedded system is required.
Computer Architecture:
Understanding of processor architectures, such as ARM and x86, as well as instruction sets and memory management is essential.
Familiarity with the hardware components of embedded systems, such as microcontrollers, FPGAs, and DSPs, is required.
The ability to readily refer to the CW32 embedded chip's datasheet and user manual to understand the operating principles of required peripherals is also essential.
Embedded Operating Systems (In-depth Knowledge):
Master commonly used embedded operating systems such as μC/OS and FreeRTOS, and understand their kernel, process management, memory management, device management, and file system principles.
Be able to design and manage operating system tasks to meet the needs of specific applications.
Hardware Interfaces and Peripherals:
Be familiar with common hardware interfaces such as GPIO, serial ports, SPI, and I2C, and be able to write corresponding drivers.
Understand commonly used hardware devices in embedded systems, such as sensors, actuators, and communication modules, and be able to interact with them.
Development Tools and Environment:
Be proficient in using integrated development environments (IDEs) such as KEIL, IAR, and Visual Studio for software development and debugging.
Master the use of cross-compilers to compile programs that can run on target hardware on the development computer.
Be familiar with the use of debuggers, and be able to perform software breakpoint debugging, single-step execution, and variable viewing.
System Analysis and Design:
Be able to perform project requirements analysis and transform requirements into software functional requirements.
Master the principles and methods of software architecture design, and be able to design efficient and maintainable software systems.
Understanding the real-time requirements of embedded systems enables the design of software systems that meet these requirements.
Testing and Verification:
Mastering unit testing, integration testing, and system testing methods and techniques allows for comprehensive software testing to ensure the correctness and stability of software functions.
Understanding the reliability requirements of embedded systems enables reliability testing and verification of software. Only by fully mastering this knowledge and possessing continuous learning capabilities can one become an excellent embedded software developer.
2.1.2 Initial Preparation:
Development environment installation (MDK 5.33 recommended), DAPLINK downloader, firmware library. The firmware library can be downloaded from the official website: www.whxy.com. Common debuggers such as STLINK, DAPLINK, PWLINK, WCHLINK, JLINK, etc., that support Cortex-M are acceptable. The
remaining software code is in the attachment. The video also
emphasizes not making money by selling boards but taking the cultivation of Chinese engineers as its mission. I really like this slogan.
The video is a rough cut because OshWhub has a 50MB limit. For the full version, please visit Bilibili: 【〖LCSC Training Camp〗 Adjustable Voltmeter and Ammeter Training Camp - Showcase - Bilibili】 https://b23.tv/9LSiefE