I/O Control Drivers
I/O control drivers extend the available pin count or interpret input signals — port expanders, shift registers, decade counters, and rotary encoders.
PCA9685

16-channel PWM / servo driver that talks to the SITCore over I²C. Useful when you need more PWM channels than the chip provides natively, or when driving banks of servos and RGB LEDs.
NuGet package: GHIElectronics.TinyCLR.Drivers.Nxp.PCA9685.
CD4017B

CMOS decade counter. Good for scanning a matrix of LEDs or buttons — one count input drives ten outputs in sequence.
NuGet package: GHIElectronics.TinyCLR.Drivers.TexasInstruments.CD4017B.
SNx4HC595

Shift register that takes serial data (from SPI or bit-banged GPIO) and produces 8 parallel outputs. Common pattern: drive 8 LEDs from a single SPI bus.
NuGet package: GHIElectronics.TinyCLR.Drivers.TexasInstruments.SNx4HC595.
Rotary encoder

Rotary encoder — an electro-mechanical device that turns angular shaft position into digital pulses. Reads from two GPIO pins.
NuGet package: GHIElectronics.TinyCLR.Drivers.Encoder.
var gpio = GpioController.GetDefault();
var pinA = gpio.OpenPin(SC20100.GpioPin.PC0);
var pinB = gpio.OpenPin(SC20100.GpioPin.PE5);
var encoder = new EncoderController(pinA, pinB);
encoder.OnCounterChangedEvent += counter => Debug.WriteLine("Counter = " + counter);
Thread.Sleep(Timeout.Infinite);