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(), andgetBytesToSend()methods have been deprecated in favor of buffer-safe access through new methods.- Use of
IRAM_ATTRdirectly 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.