Skip to content

Release v2.0.0 - AFE4950 Arduino

Latest

Choose a tag to compare

@jjlondonoc jjlondonoc released this 03 May 04:03

AFE4950 Library v2.0.0 – Major Update

This new release brings a significant redesign of the AFE4950 Arduino library for improved performance, portability, and usability across multiple microcontroller platforms.

What's New

  • Modular and efficient architecture: Core rewritten to separate data acquisition from processing using an internal circular buffer.
  • Internal ring buffer implemented to store up to 20 full data packets, allowing smooth and non-blocking data handling.
  • Improved portability: ISR compatibility with ESP32 and generic fallback for other Arduino boards.
  • Cleaner API: Simplified and intuitive method names: availableBytes(), readByte(), readBytes(), clear().
  • Robust interrupt-based data capture with enableCapture() / disableCapture() controls.
  • Detailed documentation using Doxygen and updated examples.

Deprecated

  • getData(), ready(), and getBytesToSend() methods have been deprecated in favor of buffer-safe access through new methods.
  • Use of IRAM_ATTR directly in code is now conditional to ensure broader compatibility.

Documentation

  • Full API: in docs path

  • Examples included:

    • Raw packet streaming via serial.
    • Sample decoding and signal separation (ECG / PPG).

Requirements

  • Compatible with ESP32, nRF52, and most Arduino-compatible MCUs.
  • Tested using PlatformIO and Arduino IDE 2.x.