FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

laurb9/tiny_scope: Tiny Scope for Arduino · GitHub

Repository files navigation

Tiny Scope for Arduino

Features

  • 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).

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

Requires one of the boards below and a Monochrome 0.96" 128x64 OLED graphic display (SSD1306 driver, I2C).

Supported boards

All boards build from this branch (master); the old teensy and feather_m0 branches are historical and no longer needed.

Board Build target Notes
Arduino UNO R3 / ATmega328 arduino:avr:uno / uno tuned ADC driver, 10-300KHz sampling
Teensy 3.1/3.2 teensy:avr:teensy31 / teensy31 tuned ADC driver (pedvide ADC), fastest
Teensy LC teensy:avr:teensyLC / teensylc tuned ADC driver (pedvide ADC)
Adafruit Feather M0 adafruit:samd:adafruit_feather_m0 portable ADC, no EEPROM (mode not saved), button on D6
ESP32 esp32dev (PlatformIO) experimental: compiles, untested on hardware, portable ADC

Connections

  • OLED VCC - 3.3V
  • OLED GND - GND
  • 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 (D6 on Feather M0)

Testing

  • 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.

Without hardware, make sim-test boots the UNO firmware on an emulated ATmega328P (simavr) and checks the boot/capture pipeline against a baseline.

Entire project

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

Parts

Building

With arduino-cli (downloaded automatically into .arduino/):

make setup                # one-time: arduino-cli, board indexes, libraries
make all                  # default TARGET=arduino:avr:uno
make all TARGET=teensy:avr:teensy31
make all TARGET=adafruit:samd:adafruit_feather_m0

With PlatformIO:

pio run                   # all boards: uno, teensy31, teensylc, adafruit_feather_m0, esp32dev
pio run -e uno            # just one

Or use the Arduino IDE with the Library Manager (below), or open the repo in VS Code and "Reopen in Container" for a ready-made build environment.

Libraries

Installed automatically by make setup and PlatformIO; in the Arduino IDE use Library Manager:

  • Adafruit SSD1306 (with its Adafruit GFX / BusIO dependencies)
  • Teensy boards: the ADC library ships with Teensyduino

About

Tiny Scope for Arduino

Topics

Resources

Stars

41 stars

Watchers

9 watching

Forks

Releases

Packages

Contributors

Languages


Back | FazBrowse Home | New Git URL