Skip to content


Folders and files

Last commit message
Last commit date

Latest commit



80 Commits

Repository files navigation

Build Status

Tiny Scope for Arduino


  • Configurable ADC speed for sampling rates from 10KHz to 300KHz (on UNO)
  • Auto grid on time base from 2ms to 50us (on UNO)
  • Vmax calibration and 3.3-5V detection using internal reference
  • 0V auto trigger
  • Display minimum-maximum voltage of captured signal
  • Square waveforms are displayed properly
  • Auto voltmeter mode when input is steady

The screenshots below are on a two-color display (yellow/blue).

Arduino UNO R3, default ADC settings Arduino UNO R3, default ADC settings, sine wave

Arduino UNO R3, fastest ADC settings Arduino UNO R3, fastest ADC settings, 255us PWM pulse

Voltmeter mode is automatically switched on with a steady voltage signal (when it would be represented by a flat line).

Voltmeter mode

Requires: Arduino UNO R3 or Teensy USB board and Monochrome 0.96" 128x64 OLED graphic display (SSD1306 driver)


  • OLED VCC - 3.3V
  • OLED SCL - A5 or SCL (Teensy SCL0 pin 19)
  • OLED SDA - A4 or SDA (Teensy SDA0 pin 18)
  • PROBE WIRE - A1 (defined in tiny_scope.ino) (Teensy pin 15)
  • BUTTON - D7 button to GND


  • A1 to 5V should display 5.00 V
  • A1 to GND should display 0.00 V
  • A1 to D9 (Teensy pin 9) should display a square wave (PWM) with >2ms period and >0.5ms pulse
  • A1 to D5 should display a square wave (PWM) with >1ms period and >0.2ms pulse
  • Momentary (<0.5s) push on D7 switch cycles through available sampling speeds
  • Long >0.5s push on D7 freezes display.

Entire project

UNO R3 and Teensy 3.1 (with upside-down display mode).

Tiny Scope running on UNO R3

Tiny Scope running on Teensy 3.1



Either use Sketch -> Import Library or make a libraries folder and drop them in there.