#embedded-hal-driver #touchscreen #cst816s #pine-time

no-std cst816s

CST816S touchscreen driver for embedded hal / no_std

5 releases

0.1.4 Apr 13, 2020
0.1.3 Apr 10, 2020
0.1.2 Apr 10, 2020
0.1.1 Apr 8, 2020
0.1.0 Apr 8, 2020

#6 in #touchscreen


181 lines


A rust no_std driver for the Hynan / Hynitron CST816S touchpad device. This driver was originally developed for the PineTime smart watch.


This is work-in-progress

  • Blocking mode read of available touch events
  • Reading slides and long press gestures
  • Reading click and double-click gestures
  • Interrupt handling of touch events
  • Debug build
  • Release build
  • Debug build of touchpad example runs on PineTime
  • Release build of touchpad example runs on PineTime
  • CI
  • Documentation


The following example was developed for and tested on the PineTime nrf52-based smart watch.

Note that you will need to clear the nrf52 flash protection before you will be able to program the PineTime.

For installation and debugging you can connect with the PineTime on its SWD debug port using, for example:

When you're ready to install on the PineTime, you can run the example with:

cargo run --example touchpad



BSD-3-Clause, see LICENSE file.


~12K SLoC