Image of Board

SAO Digital Multimeter by HXR.DK

This is a Digital Multimeter in the shape of an SAO (Shitty Add-On/Simple Add-on), designed specifically to assist in electronic badge and SAO development.

This follows the 1.69bis version of the SAO standard (Shitty Add-on standard, Simple Add-on standard)

It is based on the RP2040 chip, includes a small OLED display, a rotary encoder for the main knob, a function button for sub functionality selection and two 2mm banana terminals for connecting probes for resistance, LED and continuity testing.

A USB-C connector on the side allows easy modification of the firmware, and boot and reset buttons are also included for convenience, when updating or replacing CircuitPython.

CAUTION! THIS IS NOT A NORMAL MULTIMETER, AND DOES NOT INCLUDE THE PROTECTION FEATURES NORMALLY FOUND IN A DMM

If you would like to probe a live circuit, please check the schematic first, and proceed only if you understand the implications, as improper use might result in a short circuit and harm either the multimeter, the device under test, a connected computer or a combination of those.

VOLTAGE OR CURRENT SHOULD NEVER BE MEASURED WITH THE PROBES OR TERMINALS ON THE FRONT

Features

  • Resistance measurement (not the most precise, but should be OK in the range of 50-10K ohm)
  • LED Tester (this will lit up the LED if the polarity is correct and show the voltage across it on the screen, 100 ohm resistor in series to 3.3v)
  • Continuity tester with buzzer to indicate very low resistance
  • Measurement of input voltage on the SAO port
  • SAO Port GPIO monitoring (shown as either digital high/low or an analog voltage reading)
  • I2C monitor (monitor or scan the I2C bus on the SAO port)

Technical Details

  • Raspberry Pi RP2040 controller
  • 16MB SPI flash (W25Q128JVxQ)
  • SSD1306 128x64 pixel 0.96” OLED display (white on black)
  • Automatic power switching from SAO port to USB-C (both can be connected at the same time)
  • Voltage boost circuit for operation on lower than 3.3v on the SAO port
  • Maximum input voltage on the SAO port is 3.3v
  • UART RX + TX connected to SBU pins on USB-C connector

Contribute

Have some info to add for this board? Edit the source for this page here.

CircuitPython 9.2.7

This is the latest stable release of CircuitPython that will work with the SAO Digital Multimeter. Use this release if you are new to CircuitPython.

Release Notes for 9.2.7

Learn how to install CircuitPython on this board
Modules included in this download _asyncio _bleio _eve _pixelmap adafruit_bus_device adafruit_pixelbuf aesio alarm analogbufio analogio array atexit audiobusio audiocore audiomixer audiomp3 audiopwmio binascii bitbangio bitmapfilter bitmaptools bitops board builtins builtins.pow3 busdisplay busio busio.SPI busio.UART codeop collections countio digitalio displayio epaperdisplay errno floppyio fontio fourwire framebufferio getpass gifio hashlib i2cdisplaybus i2ctarget imagecapture io jpegio json keypad keypad.KeyMatrix keypad.Keys keypad.ShiftRegisterKeys keypad_demux keypad_demux.DemuxKeyMatrix locale math memorymap microcontroller msgpack neopixel_write nvm onewireio os os.getenv paralleldisplaybus picodvi pulseio pwmio qrio rainbowio random re rgbmatrix rotaryio rp2pio rtc sdcardio select sharpdisplay storage struct supervisor synthio sys terminalio tilepalettemapper time touchio traceback ulab usb usb_cdc usb_hid usb_host usb_midi usb_video vectorio warnings watchdog zlib

Included frozen(?) modules: adafruit_bitmap_font, adafruit_display_shapes, adafruit_display_text, adafruit_displayio_ssd1306, test

Features: Display, USB-C

CircuitPython 10.0.0-alpha.2

This is the latest development release of CircuitPython that will work with the SAO Digital Multimeter.

Alpha development releases are early releases. They are unfinished, are likely to have bugs, and the features they provide may change. Beta releases may have some bugs and unfinished features, but should be suitable for many uses. A Release Candidate (rc) release is considered done and will become the next stable release, assuming no further issues are found.

Please try alpha, beta, and rc releases if you are able. Your testing is invaluable: it helps us uncover and find issues quickly.

Release Notes for 10.0.0-alpha.2

Learn how to install CircuitPython on this board
Modules included in this download _asyncio _bleio _eve _pixelmap adafruit_bus_device adafruit_pixelbuf aesio alarm analogbufio analogio array atexit audiobusio audiocore audiomixer audiomp3 audiopwmio binascii bitbangio bitmapfilter bitmaptools bitops board builtins builtins.pow3 busdisplay busio busio.SPI busio.UART codeop collections countio digitalio displayio epaperdisplay errno floppyio fontio fourwire framebufferio getpass gifio hashlib i2cdisplaybus i2ctarget imagecapture io jpegio json keypad keypad.KeyMatrix keypad.Keys keypad.ShiftRegisterKeys keypad_demux keypad_demux.DemuxKeyMatrix locale lvfontio math memorymap microcontroller msgpack neopixel_write nvm onewireio os os.getenv paralleldisplaybus picodvi pulseio pwmio qrio rainbowio random re rgbmatrix rotaryio rp2pio rtc sdcardio select sharpdisplay storage struct supervisor synthio sys terminalio tilepalettemapper time touchio traceback ulab usb usb_cdc usb_hid usb_host usb_midi usb_video vectorio warnings watchdog zlib

Included frozen(?) modules: adafruit_bitmap_font, adafruit_display_shapes, adafruit_display_text, adafruit_displayio_ssd1306, test

Features: Display, USB-C

Absolute Newest

Every time we commit new code to CircuitPython we automatically build binaries for each board and language. The binaries are stored on Amazon S3, organized by board, and then by language. These releases are even newer than the development release listed above. Try them if you want the absolute latest and are feeling daring or want to see if a problem has been fixed.

Previous Versions of CircuitPython

All previous releases of CircuitPython are available for download from Amazon S3 through the button below. For very old releases, look in the OLD/ folder for each board. Release notes for each release are available at GitHub button below.

Older releases are useful for testing if you something appears to be broken in a newer release but used to work, or if you have older code that depends on features only available in an older release. Otherwise we recommend using the latest stable release.