Software USB implementation on ARM Cortex M0+

Smaller ARM microcontrollers don’t have native USB interface. So you are left with couple choices – use dedicated level converter like FT232 or try to bit-bang software based protocol. Obviously, first choice was the easiest one, until now. Guys from have successfully implemented software based low speed USB peripheral which is lightweight (~4KB flash footprint) and includes HID stack. In order to run code out of box, they assembled Zero Gecko 110 breakout board with EFM32ZG110 mcu which is small size and has most periphery for building devices, debugging and programming. This achievement will allow building cheaper and smaller footprint devices using ARM cortex M0+ and probably other micros that don’t require fast speed USB. Continue reading