This project demonstrates the design and implementation of a multimeter that reads and outputs voltage, resistance, and capacitance values. Utilizing a PIC24F16KA101 microcontroller, the device is programmed to display measurements on a serial monitor. The project is built on a breadboard and programmed with MPLAB X IDE using PICkit 4 as the in-circuit debugger. Readings are outputted via UART2 to the Tera Term terminal application.
- Voltage Measurement: Reads and displays voltage on a connected component.
- Resistance Measurement: Calculates and outputs the resistance of a component.
- Capacitance Measurement: Measures capacitance values using a CTMU (Charge Time Measurement Unit) approach.
The project’s code includes several critical files:
- main.c: Initializes the microcontroller, including clock and peripheral settings, and handles the measurement loops.
- UART2.c: Manages UART2 communication functions, including data transmission and interrupt handling.
- IOs.c: Handles input/output configurations, such as pushbuttons for triggering different measurement modes.
- ADC.c: Reads and processes the analog-to-digital conversions necessary for voltage and resistance measurements.
- CTMU.c: Configures and utilizes the CTMU module for capacitance measurement by timing charge and discharge cycles on the capacitor under test.
Click below to watch a demonstration of the project