Introduction: DIY RC Meter (Resistance + Capacitance) Very Accurate — With OLED Display

About: Hi! I'm Arham Shameel (Sam) – a passionate electronics maker, coder, and self-taught engineer based in India 🇮🇳. I love turning ideas into working devices, especially when it involves microcontrollers, 3D prin…

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.

  1. OLED VCC → Arduino 5V
  2. OLED GND → Arduino GND
  3. OLED SDA → Arduino A4
  4. 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.

  1. MODE Button:
  2. One leg → Arduino D2
  3. Other leg → GND
  4. (We use Arduino’s internal pull-up resistor, so no external resistor needed.)
  5. HOLD Button:
  6. One leg → Arduino D3
  7. Other leg → GND
  8. (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.

  1. TEST+ → Arduino A0 (Analog Pin)
  2. 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:

  1. Rref_R (for resistance mode):
  2. Connect one end to 5V
  3. Connect the other end to A0
  4. Rref_C (for capacitance mode):
  5. Connect one end to Arduino D9
  6. 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

  1. Double-check that OLED VCC is 5V (not 3.3V).
  2. Make sure A0 is the only common point where:
  3. TEST+ connects
  4. Rref_R connects
  5. Rref_C connects
  6. 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.

  1. Median filtering for more accurate resistance values
  2. Multiple charge/discharge cycles for capacitors
  3. Automatic unit scaling
  4. HOLD mode to freeze readings


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