By dave | December 4, 2020

Along with TaskManagerIO that tries to keep a consistent user level API regardless of the platform, IoAbstraction also has only very small differences across platforms. We support nearly all official (and many unofficial) Arduino devices, most ESP devices and many mbed boards too.

Known working devices

Processor Platform Tested? Analog Digital Example developer boards
AVR Arduino Fully ADC,PWM Pin, Int Uno, AT32x, MEGA 2560, MightyCore
SAMD Arduino Fully ADC,PWM,DAC Pin, Int MKR, Nano IoT and Zero
nrf52840 Arduino Fully ADC,PWM,DAC Pin, Int Nano 33 BLE devices
ESP8266 Arduino Fully ADC,PWM Pin, Int Huzzah, Node MCU
ESP32 Arduino Fully ADC,PWM,DAC Pin, Int Wifi32, Huzzah 32
STM32F* mbed Fully ADC,PWM,DAC Pin, Int Discovery, Nucleo etc
STM32 Arduino User Report Not tested Pin, Int Blue pill

Key:

  • Pin - We fully support working with digital pins
  • Int - We support attaching interrupts to a pin
  • ADC - Supports acquisition from the onboard ADC
  • PWM - Able to work with PWM on this device
  • DAC - Able to work with DAC on this device.

Notes:

General Arduino

  • On all devices we try to configure the device to the highest precision possible, and provide read and write methods based on float values between 0 and 1.

Notes for mbed

  • For mbed we support mbed V5 and V6 Bare-Metal and RTOS.
  • Pins are managed using the underlying gpio methods. Interrupts are managed using InterruptIn.
  • Analog input PWM output, and DAC output are all supported, DAC output is only enabled when the board has an onboard DAC. PWM and ADC are always enabled.

Extra notes for ESP32

  • On ESP32 ArduinoAnalogAbstraction uses native ESP functions for ADC, PWM and DAC. There are few Arduino library dependencies left.
  • You can also choose to use direct IDF digital IO functions instead of the Arduino provided, by enabling direct IDF digital support. To do so define flag IOA_USE_ESP32_EXTRAS in your tool settings.

Other pages within this category

comments powered by Disqus

This site uses cookies to analyse traffic, serve ads by Google AdSense (non-personalized in EEA/UK), and to record consent. We also embed Twitter, Youtube and Disqus content on some pages, these companies have their own privacy policies.

Our privacy policy applies to all pages on our site

Should you need further guidance on how to proceed: External link for information about cookie management.