PackageTrack
Sign in Get early access

linux-embedded-hal

Implementation of the `embedded-hal` traits for Linux devices

0.4.1 5.9M downloads/mo #4201 most downloaded on crates.io rust-embedded/linux-embedded-hal

What this package is like to depend on

Last release 9 months ago

10 Nov 2025

Release timing varies

gaps range from 8 days to 1.8 years

Nearly every release is documented

notes for 9 of 9 stable releases

1 version withdrawn

withdrawn after publishing

9 years old

15 releases · first in 2018

1 release in the last 12 months

see the full history below

Release timeline

15 releases · Jan 2018 to Nov 2025
2019 2020 2021 2022 2023 2024 2025 2026
Release Pre-release Withdrawn

Releases

latest 15
  1. 0.4.1 10 Nov 2025
    Release notes

    Fixed

    • Fix UB (and remove unsafe block) in handling of SpiOperation::TransferInPlace
    Open source →
    Release notes

    Fixed

    • Fix UB (and remove unsafe block) in handling of SpiOperation::TransferInPlace
    Open source →
  2. 0.4.0 12 Jan 2024
    Release notes

    Changes since 0.4.0-alpha.4

    Changed

    Changes since 0.3.2

    Changed

    • Updated to embedded-hal 1.0.0 release (API changes)
    • Updated to embedded-hal-nb 1.0.0 release (API changes)
    • [breaking-change] Replace serial-rs with the serialport-rs crate. Serial::open now needs a baud-rate argument as well.
    • [breaking-change] Split Spidev into SpidevDevice and SpidevBus, implementing the respective SpiDevice and SpiBus traits (#100)
    • Modified OutputPin behavior for active-low pins to match InputPin behavior.
    • Set default features to build both sysfs and cdev pin types.
    • Removed Pin export, use CdevPin or SysfsPin.
    • Updated to spidev 0.6.0 release(API changes)
    • Updated to i2cdev 0.6.0 release(API changes)
    • Updated to gpio_cdev 0.6.0 release(API changes)
    • sysfs_gpio to version 0.6.1
    • Updated to nix 0.27.1
    • Updated nb to version 1.
    • MSRV is now 1.65.0.

    Fixed

    • Fix using SPI transfer with unequal buffer sizes (#97, #98).

    Added

    • Added feature flag for spi and i2c
    • Mappings for embedded-hal error kinds
    • Implement embedded_hal::digital::blocking::IoPin for CdevPin and SysfsPin
    • CountDown implementation for SysTimer.
    • Default implementation for SysTimer.
    Open source →
    Release notes

    Changed

    Open source →
  3. 0.4.0-alpha.4 04 Jan 2024 pre-release
    Release notes

    Changed

    • [breaking-change] Replace serial-rs with the serialport-rs crate. Serial::open now needs a baud-rate argument as well.
    • [breaking-change] Split Spidev into SpidevDevice and SpidevBus, implementing the respective SpiDevice and SpiBus traits (#100)
    • Updated to embedded-hal 1.0.0-rc.3 release (API changes)
    • Updated to embedded-hal-nb 1.0.0-rc.3 release (API changes)
    • Updated to spidev 0.6.0 release(API changes)
    • Updated to i2cdev 0.6.0 release(API changes)
    • Updated to gpio_cdev 0.6.0 release(API changes)
    • Updated to nix 0.27.1
    • MSRV is now 1.65.0.

    Fixed

    • Fix using SPI transfer with unequal buffer sizes (#97, #98).
    Open source →
  4. 0.4.0-alpha.3 05 Aug 2022 pre-release
    Release notes

    Added

    • Added feature flag for spi and i2c

    Changed

    • Updated to embedded-hal 1.0.0-alpha.8 release (API changes)
    Open source →
    Release notes

    Added

    • Added feature flag for spi and i2c

    Changed

    • Updated to embedded-hal 1.0.0-alpha.8 release (API changes)
    Open source →
  5. 0.4.0-alpha.2 14 Feb 2022 pre-release
    Release notes

    Added

    • Mappings for embedded-hal error kinds

    Changed

    • Updated to embedded-hal 1.0.0-alpha.7 release (significant API changes)
    • Updated dependencies to force use of newer nix version
      • spidev to version 0.5.1
      • i2cdev to version 0.5.1
      • gpio-cdev to version 0.5.1
      • sysfs_gpio to version 0.6.1
    Open source →
    Release notes

    Added

    • Mappings for embedded-hal error kinds

    Changed

    • Updated to embedded-hal 1.0.0-alpha.7 release (significant API changes)
    • Updated dependencies to force use of newer nix version
      • spidev to version 0.5.1
      • i2cdev to version 0.5.1
      • gpio-cdev to version 0.5.1
      • sysfs_gpio to version 0.6.1
    Open source →
  6. 0.4.0-alpha.1 07 Oct 2021 pre-release
    Release notes

    Added

    • Implement embedded_hal::digital::blocking::IoPin for CdevPin and SysfsPin
    • CountDown implementation for SysTimer.
    • Default implementation for SysTimer.

    Changed

    • Modified OutputPin behavior for active-low pins to match InputPin behavior.
    • Set default features to build both sysfs and cdev pin types.
    • Removed Pin export, use CdevPin or SysfsPin.
    • Adapted to embedded-hal 1.0.0-alpha.5 release.
    • Increased the Minimum Supported Rust Version to 1.46.0 due to an update of bitflags.
    • Updated spidev to version 0.5.
    • Updated i2cdev to version 0.5.
    • Updated gpio-cdev to version 0.5.
    • Updated sysfs_gpio to version 0.6.
    • Updated nb to version 1.
    Open source →
  7. 0.4.0-alpha.0 29 Nov 2020 pre-release

    Nothing published for this version

  8. 0.3.2 25 Oct 2021
    Release notes

    Fixed

    • Readd Pin type export as an alias to SysfsPin for compatibility with the 0.3.0 version.
    Open source →
    Release notes

    Fixed

    • Readd Pin type export as an alias to SysfsPin for compatibility with the 0.3.0 version.
    Open source →
  9. 0.3.1 27 Sep 2021 withdrawn
    Release notes

    Added

    • Added implementation of transactional SPI and I2C traits.
    • CountDown implementation for SysTimer.
    • Default implementation for SysTimer.

    Changed

    • Set default features to build both sysfs and cdev pin types.
    • Removed Pin export, use CdevPin or SysfsPin.
    • Updated embedded-hal to version 0.2.6.
    • Updated nb to version 0.1.3.
    • Updated gpio-cdev to version 0.5.
    • Updated i2cdev to version 0.5.
    • Updated spidev to version 0.5.
    • Updated sysfs-gpio to version 0.6.
    • Updated cast to version 0.3.

    Fixed

    • Modified OutputPin behavior for active-low pins to match InputPin behavior.
    Open source →
    Release notes

    Added

    • Added implementation of transactional SPI and I2C traits.
    • CountDown implementation for SysTimer.
    • Default implementation for SysTimer.

    Changed

    • Set default features to build both sysfs and cdev pin types.
    • Removed Pin export, use CdevPin or SysfsPin.
    • Updated embedded-hal to version 0.2.6.
    • Updated nb to version 0.1.3.
    • Updated gpio-cdev to version 0.5.
    • Updated i2cdev to version 0.5.
    • Updated spidev to version 0.5.
    • Updated sysfs-gpio to version 0.6.
    • Updated cast to version 0.3.

    Fixed

    • Modified OutputPin behavior for active-low pins to match InputPin behavior.
    Open source →
  10. 0.3.0 03 Dec 2019
    Release notes

    Added

    • Added serial::Read/Write implementation.
    • Added feature flag for Chardev GPIO

    Fixed

    • Do write and read in one transaction in WriteRead implementation.
    • Removed #[deny(warnings)]

    Changed

    • Use embedded-hal::digital::v2 traits.
    • Updated to i2cdev 0.4.3 (necessary for trasactional write-read).
    • Updated to spidev 0.4
    • Added feature flag for Sysfs GPIO
    Open source →
  11. 0.2.2 21 Dec 2018
    Release notes

    Changed

    • updated to i2cdev 0.4.1 (removes superflous dependencies)
    Open source →
  12. 0.2.1 29 Oct 2018
    Release notes

    Added

    • implementation of the unproven embedded_hal::::digital::InputPin trait.
    Open source →
  13. 0.2.0 14 May 2018
    Release notes

    Changed

    • [breaking-change] moved to v0.2.x of embedded-hal.
    Open source →
  14. 0.1.1 13 Feb 2018
    Release notes

    Added

    • implementation of embedded_hal::blocking::Delay* traits in the form of the Delay zero sized type.

    • implementation of the embedded_hal::blocking::i2c traits in the form of the I2cdev newtype.

    Open source →
  15. 0.1.0 17 Jan 2018
    Release notes

    Initial release

    Open source →
    Release notes

    Initial 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