Introduction: DIY RC Meter (Resistance + Capacitance) Very Accurate — With OLED Display
Ever needed to quickly check a resistor or capacitor value but didn’t want to pull out your big multimeter?
I built a DIY RC Meter that measures resistance and capacitance, shows results on a bright OLED screen, and even has a HOLD mode to freeze readings.
It’s compact, accurate enough for prototyping, and really fun to build!
In Version 2 I’ll be adding inductance measurement, making it a full RLC meter.
features:
Measures Resistance (R) from a few ohms up to megaohms
Measures Capacitance (C) from pF to mF range
Auto unit scaling (Ω, kΩ, MΩ / pF, nF, µF, mF)
HOLD mode – freeze current reading
Clean OLED user interface
Buttons to switch between R / C mode
Supplies
Arduino Nano / Uno
0.96” OLED Display (I²C)
2 × Push buttons (Mode + Hold)
Resistors: 10kΩ (x2 as reference resistors)
Breadboard or PCB
Jumper wires
Capacitors / Resistors to test
Step 1: Wiring
This is the most important step! Don’t worry — it’s not complicated once you see how everything is connected.
We’ll go one part at a time:
1. OLED Display (I²C)
The OLED only needs 4 wires.
- OLED VCC → Arduino 5V
- OLED GND → Arduino GND
- OLED SDA → Arduino A4
- OLED SCL → Arduino A5
👉 That’s it. This is the I²C communication line. Make sure you connect SDA to A4 and SCL to A5 (on Uno/Nano).
2. Buttons (Mode + Hold/Reset)
We’re using two push buttons. One for switching modes (R / C) and one for HOLD.
- MODE Button:
- One leg → Arduino D2
- Other leg → GND
- (We use Arduino’s internal pull-up resistor, so no external resistor needed.)
- HOLD Button:
- One leg → Arduino D3
- Other leg → GND
- (Again, no resistor needed — internal pull-up is used.)
👉 This means the button reads LOW when pressed, HIGH when not pressed.
3. Test Points (Where You Connect Resistors/Capacitors)
We need two points where the component under test will connect.
- TEST+ → Arduino A0 (Analog Pin)
- TEST- → Arduino GND
👉 Whenever you want to measure something, connect one leg of your resistor/capacitor to A0 and the other leg to GND.
4. Reference Resistors (The "Known" Values)
The trick to measuring unknown R or C is comparing them against known resistors. We use two 10kΩ resistors:
- Rref_R (for resistance mode):
- Connect one end to 5V
- Connect the other end to A0
- Rref_C (for capacitance mode):
- Connect one end to Arduino D9
- Connect the other end to A0
👉 So both reference resistors join at A0, but one comes from 5V (for R measurement) and the other comes from D9 (used as a charging pin for capacitance).
5. Quick Check Before Powering On
- Double-check that OLED VCC is 5V (not 3.3V).
- Make sure A0 is the only common point where:
- TEST+ connects
- Rref_R connects
- Rref_C connects
- Buttons only go between pin → GND (no +5V needed).
Once this wiring is done, your RC Meter is ready for code upload!
Step 2: Code
I wrote the code to keep the UI clean and the readings stable.
- Median filtering for more accurate resistance values
- Multiple charge/discharge cycles for capacitors
- Automatic unit scaling
- HOLD mode to freeze readings
Attachments
Step 3: Usage
Power on the device.
Press MODE to toggle between Resistance (R) and Capacitance (C).
Insert your resistor or capacitor into the test points.
The display will auto-scale and show the value.
Press HOLD to freeze the current reading.
Step 4: Future Improvements (V2)
Add Inductance measurement (L) → full RLC meter
Auto-ranging reference resistor selection
Serial/WiFi logging of values
3D-printed enclosure
Step 5: Demo Working Video
Step 6: Conclusion
This was such a fun build! It’s a great project if you’re into Arduino + electronics and want a practical tool you’ll actually use on your workbench.
I’ll be working on V2 with inductance measurement soon






