Beginner Guides & Tutorials
Create an Arduino Uno Voltmeter with OLED Graphic Output
June 4, 2026
9 min read

Build a handy pocket diagnostic tool. Learn how to read analog voltage inputs and render them visually.
Introduction & Concept
Arduino ADCs are rated for a maximum of 5V. To measure voltages up to 25V, we must implement a voltage divider circuit. By utilizing two resistors, the divider drops the measured potential proportionally. The microcontroller calculates the true source voltage mathematically and plots the value onto a 0.91" OLED display.
Components Needed
| Component Name | Store Link |
|---|---|
| 0.91 OLED Screen | Buy 0.91 OLED Screen |
Circuit Divider Schematic
V_IN (+) ---> [ 100k Ohm ] ---+--- [ 10k Ohm ] ---> GND (-)
|
+---> Arduino Analog Input A0
Control Code
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#define SCREEN_WIDTH 128
#define SCREEN_HEIGHT 32
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, -1);
const float R1 = 100000.0; // 100k
const float R2 = 10000.0; // 10k
void setup() {
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.setTextColor(WHITE);
}
void loop() {
int value = analogRead(A0);
float vout = (value * 5.0) / 1023.0;
float vin = vout / (R2 / (R1 + R2));
display.clearDisplay();
display.setCursor(0,0);
display.print("Voltmeter Node");
display.setCursor(0,16);
display.print("Voltage: " + String(vin) + " V");
display.display();
delay(500);
}