HAL for microcontrollers