PackageTrack
Sign in Get early access

dart_periphery

dart_periphery is a Dart port of the native c-periphery library for Linux Peripheral I/O (GPIO, LED, PWM, SPI, I2C, MMIO, ADC and Serial peripheral I/O).

0.9.20 19K downloads/mo #2260 most downloaded on pub.dev pezi/dart_periphery

What this package is like to depend on

Last release 8 months ago

16 Dec 2025

Ships unpredictably

gaps range from 9 days to 1.2 years

Nearly every release is documented

notes for 24 of 24 stable releases

Nothing withdrawn

no release was ever pulled

6 years old

51 releases · first in 2021

2 releases in the last 12 months

see the full history below

Release timeline

51 releases · Feb 2021 to Dec 2025
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 51
  1. 0.9.20 16 Dec 2025
    Release notes
    • Fix problems found with the help of ChatGPT and Kiro
    • Update c-periphery to 2.5.0
    • Update Dart Version to 3.10.4
    Open source →
  2. 0.9.19 28 Sep 2025
    Release notes
    • Add GPS Air530
    • Update Dart Version to 3.9.3
    Open source →
  3. 0.9.18 09 Mar 2025
    Release notes
    • Add AHT20 temperature and humidity sensor
    • Add I2C AT24C128 256 KB EEPROM
    • Make I2C enum RegisterWidth (8/16 bits) public, needed for AT24C128 EEPROM 16 bit addresses
    • Add SSD1306 128x64 pixel OLED
    • Add Java bridge for SSD1306 128x64 pixel OLED to simplify image generation.
    • Update c-periphery to v2.4.3
    Open source →
  4. 0.9.17 23 Feb 2025
    Release notes
    • Add SHT4x temperature and humidity sensor
    • Rework VL53L0X Time-of-Flight code
    Open source →
  5. 0.9.16 22 Feb 2025
    Release notes
    • Add VL53L0X Time-of-Flight sensor
    • Update to Dart 3.7.0
    • Add platform package switch linux only
    • Enable project WIKI
    • Test dart_periphery on a real RISC-V Board
    Open source →
  6. 0.9.15 08 Feb 2025
    Release notes
    • Add DS1307/DS3231 real time clock support
    • Set Linux system time - bool setLinuxLocalTime(DateTime dt)
    • PCF8591 8-bit A/D and D/A converter tested
    • Update to Dart 3.6.2
    Open source →
  7. 0.9.14 29 Jan 2025
    Release notes

    See for CHANGELOG.md details!

    Open source →
    Release notes
    • Fix missing TSL2591 initialisation settings
    • Add PCF8591 8-bit A/D and D/A converter (NOT TESTED)
    • I2C: Change internal data buffers from Pointer<Int8> to Pointer<Uint8>
    • SPI: Fix List<int> transfer(List<int> data, bool reuseBuffer)
    • BME280 SPI - fix byte order problem: BitOrder.msbLast
    • Update to Dart 3.6.1
    Open source →
  8. 0.9.13 22 Dec 2024
    Release notes

    Fix CHANGELOG - wrong URLs

    Open source →
    Release notes
    • Fix I2C int readByteReg(int address, int register, [BitOrder order = BitOrder.msbLast, RegisterWidth width = RegisterWidth.bits8]) method - wrong data buffer handling
    • Extend extension hat examples to GPIO only.
    • Add extended button demo.
    • Update Dart version reference inside the README to 3.6.0.
    • Add Adafruit TSL2591 light sensor.
    Open source →
  9. 0.9.12 29 Nov 2024
    Release notes
    Open source →
  10. 0.9.11 25 Nov 2024
    Release notes
    Open source →
  11. 0.9.10 21 Nov 2024
    Release notes
    • Add SI1145 sunlight sensor
    • Rework README
    Open source →
  12. 0.9.9 18 Nov 2024
    Release notes
    • Add SCD30 - CO2, temperature amd humidity sensor
    • internal pre-build c-periphery libraries are compressed using the xz format
    Open source →
  13. 0.9.8 11 Nov 2024
    Release notes
    • Fix README
    Open source →
  14. 0.9.7 11 Nov 2024
    Release notes
    • library loader: use dart:ffi Abi instead of uname() for architecture detection
    • Fix issue https://github.com/pezi/flutter-pi-sensor-tester/issues/1
    • Remove deprecated method: useSharedLibray (typo) -> useSharedLibrary
    • Update Dart version reference inside the README to 3.5.4
    • CPU detection - switched from uname() to Dart’s built-in Abi class
    • I2C: Fix broken int readWordReg(int address, int register,[BitOrder order = BitOrder.msbLast,RegisterWidth width = RegisterWidth.bits8]) method
    • I2C: Add optional RegisterWidth.bits8 and RegisterWidth.bits16 parameter to enable 16-bit I2C register - e.g. I2C EEPROM
    • Add MCP9808 - high accuracy temperature sensor
    • Add MLX90615 - a non-contact temperature sensor
    • add RISC-V support
    Open source →
  15. 0.9.6 27 Jul 2024
    Release notes

    See for CHANGELOG.md details!

    Open source →
    Release notes
    Open source →
  16. 0.9.5 17 May 2023
    Release notes
    • fix some problems of the library loading API
    • test program to the test library loading API
    • rework readme
    • fix typos
    Open source →
    Release notes
    • Rework library loading API and fix some problems.
    Open source →
  17. 0.9.4 14 May 2023
    Release notes
    • pull request
    • Update Dart version reference inside the readme to 3.0.0.
    • Fix typos in README.md
    • issue
    Open source →
  18. 0.9.3 16 Aug 2022
    Release notes
    Open source →
  19. 0.9.2 15 Aug 2022
    Release notes
    • Update the FFI package, see issue and the Dart version reference inside the readme.
    Open source →
  20. 0.9.1 17 Apr 2022
    Release notes
    • Various small fixes: documentation, source code format, etc
    Open source →
  21. 0.9.0 14 Apr 2022
    Release notes
    • v0.9.0 is an API change release which fixes all the camel case warnings of the source code. When starting this project enums and variables from existing C und Java code were not converted to the camel case.
    • pn532-example provided by UliPranz, a NFC Reader Module, Thanks to UliPrantz!
    Open source →
  22. 0.8.29 20 Mar 2022
    Release notes
    • Fix documentation
    Open source →
  23. 0.8.28 20 Mar 2022
    Release notes
    • Merge contributions provided by UliPranz, a NFC Reader Module, Thanks to UliPrantz!
    Open source →
  24. 0.8.26 13 Mar 2022
    Release notes
    • replace system_info package by native uname() call to detect the cpu architecture.
    • add uname() support- see example.
    Open source →
  25. 0.8.25-RC 25 Apr 2021 pre-release
    Release notes
    • Add isolate support for SPI, I2C and Serial.
    Open source →
  26. 0.8.24-beta 23 Apr 2021 pre-release
    Release notes
    • Port test scripts for GPIO and GPIO (sysfs) - fix errors
    • Add isolate support for GPIO
    Open source →
  27. 0.8.23-beta 18 Apr 2021 pre-release
    Release notes
    • Fix SPI.transfer() crash - double call of native free
    Open source →
  28. 0.8.22-beta 17 Apr 2021 pre-release
    Release notes
    • Switch to Dart 2.12.4
    • Remove any glue C library - access the c-periphery library only with FFI.
    • Extended flutter-pi support.
    • Port test scripts for PWM, Serial, I2C, SPI and Led - fix errors
    Open source →
  29. 0.8.21-beta 28 Mar 2021 pre-release
    Release notes
    • Fix MPU6050 sensor - second fix
    • Add JSON support for BME680, BME280, SGP30 and SHT31
    Open source →
  30. 0.8.20-beta 25 Mar 2021 pre-release
    Release notes
    Open source →
  31. 0.8.19-beta 19 Mar 2021 pre-release
    Release notes
    • Rework Dart documentation/API-documentation
    • Switch to Dart 2.12.2
    Open source →
  32. 0.8.18-beta 18 Mar 2021 pre-release
    Release notes
    • Rework Dart documentation/API-documentation
    Open source →
  33. 0.8.17-beta 17 Mar 2021 pre-release
    Release notes
    • Improve BME280 sensor class, make some methods public.
    • Rework BME680, SGP30 sensor
    Open source →
  34. 0.8.16-beta 14 Mar 2021 pre-release
    Release notes
    • Fix PWM setter/getter for PWM properties
    Open source →
  35. 0.8.15-beta 13 Mar 2021 pre-release
    Release notes Open source →
  36. 0.8.14-beta 11 Mar 2021 pre-release
    Release notes
    • MPU6050 support - Six-Axis (Gyro + Accelerometer) sensor
    • Update README.md
    Open source →
  37. 0.8.12-beta 09 Mar 2021 pre-release
    Release notes
    Open source →
  38. 0.8.11-beta 05 Mar 2021 pre-release
    Release notes
    • Update FFI code - simplify code
    • Fix PWM.disable()
    • Fix GPIO.pollMultiple()
    Open source →
  39. 0.8.10-beta 04 Mar 2021 pre-release
    Release notes
    • Switch to Dart 2.12.0 and ffi: ^1.0.0
    • Update dart_periphery to null safety
    • Fix example.dart problem
    • Fix GPIO.sysfs
    Open source →
  40. 0.8.9-beta 02 Mar 2021 pre-release
    Release notes
    • Fix SPI.openAdvanced2()
    • Fix I2C.readBytes()
    • Add first version of MPU6050 support
    • Extend ByteBuffer class
    • Improve BME280 class
    Open source →
  41. 0.8.8-beta 28 Feb 2021 pre-release
    Release notes
    • Add correct exception for loading native libraries inside flutter-pi
    • Update README.md for flutter-pi
    Open source →
  42. 0.8.7-beta 26 Feb 2021 pre-release
    Release notes Open source →
  43. 0.8.6-beta 24 Feb 2021 pre-release
    Release notes
    • Improve documentation
    Open source →
  44. 0.8.5-beta 23 Feb 2021 pre-release
    Release notes
    Open source →
  45. 0.8.4-beta 20 Feb 2021 pre-release
    Release notes
    • Add expansion hat support for BakeBit (Friendly Arm), Grove Base Hat and Grove Pi Plus.
    Open source →
  46. 0.8.3-beta 19 Feb 2021 pre-release
    Release notes
    • Add SHT31 sensor support - temperature and humidity.
    • Fix BME280 problem - wrong values for pressure and humidity due the last error.
    • Fix i2c writeXXXReg implementation.
    Open source →
  47. 0.8.0-beta 14 Feb 2021 pre-release
    Release notes
    • Release SPI support.
    • BME280/BMP280 sensor support - temperature, pressure and humidity (BME280 only).
    Open source →
  48. 0.7.6-beta 09 Feb 2021 pre-release
    Release notes
    • Fix C linker problem with periphery_version_info().
    Open source →
  49. 0.7.5-beta 09 Feb 2021 pre-release
    Release notes
    • Update pupspec.yaml, solve linter error and warnings.
    • Release PWM support.
    Open source →
  50. 0.7.1-beta 07 Feb 2021 pre-release
    Release notes
    • Update pupspec.yaml, solve linter error and warnings.
    • Add method getCperipheryVersion().
    Open source →
  51. 0.7.0-beta 07 Feb 2021 pre-release
    Release notes
    • Initial development release.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive