#embedded-hal #io #expander #i2c #driver

no-std stmpe1600

Platform-agnostic Rust driver for the STMPE1600 I/O expander

7 releases (stable)

2.0.0 Apr 2, 2021
1.1.2 May 18, 2020
1.1.1 Apr 22, 2020
0.2.0 Apr 15, 2020
0.1.0 Apr 15, 2020

#85 in No standard library

50 downloads per month


361 lines

STMPE1600 I/O Expander Rust Driver

Crate Docs

This is a platform-agnostic Rust driver for the STMPE1600 I/O expander.

This driver can:

  • Setup the pins as input, output or interrupt pins.
  • Read/write to a specific pin.
  • Set the polarity inversion of a specific pin.
  • Enable interrupt capability.
  • Set the interrupt output polarity.


The STMPE1600 handles interrupts by triggering an interrupt output pin when it detects an interrupt on any of its configured interrupt pins. The polarity of the interrupt output pin can be configured to be HIGH or LOW, and when the interrupt is triggered, the microcontroller can get any pending interrupts by calling get_interrupts, which will also clear the pending interrupts on the STMPE1600 itself.


See docs.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you shall be dual licensed as above, without any additional terms or conditions.