I wrote drivers for the following devices: === Power devices === * '''DC-motors''' - Both on/off cw/ccw and PWM drive. * '''Stepper motors''' - With real-time stepping control, dynamic acceleration ramps, homing state-machine, etc. * '''Peltier cells''' and '''PWM heaters''' === Sensors === * '''A/D converters''' - Interrupt-driven, high-speed sampling and data processing * '''D/A converters''' - Employing PWMs, multiplexing of multiple channels and other advanced techniques * '''GPIO lines''' - Direct or multiplexed, interrupt driven, polled, etc. * '''NTCs''', '''Thermo-couples''' - Temperature control * '''Photocells''' - Light intensity measurement === User interface === * '''7-segment BCD and british-flag alphanumerical displays''' * '''Alphanumerical LCD displays''' - Like the popular Hitachi HD44xxx controller. * '''B/W bitmap LCD displays''' - Using a homebrew library to draw text and graphics (see DevLib). * '''Thermal Printers''' - Both serial and full printing head control. * '''Keyboards''' - Simple and matrix scan, with debounce and complex input gestures. * '''RTC Clocks''' - Like the Dallas DS1302 and compatibles. === Communication and Networking === * '''Serial ports''' - RS232, RS485, SPI, I2C and many other custom serial lines, both interrupt-driven and software buffered. * '''Ethernet''' - CS8900A and RTL8019 (NE2000 compatible). * '''USB''' - With HCI drivers provided by manufacturer. === Storage === * '''NOR flash devices''' - Using several programming algorithms. * '''Serial EEPROMs''' - Like the I2C 24Cxxx chips. A few sample drivers for the most generic devices are available in DevLib.