The efm8 series of 8051 microprocessors by Silicon Labs are probably the cheapest, smallest and simplest FS USB capable micoprocessors on the market. Some highlights include:
Power directly from USB 5V with internal regulator.
The only external components necessary for FS USB support are 4 decoupling capacitors.
Preloaded USB HID bootloader
In volume they can be potentially be purchased for about 1USD.
Smallest package is a 3x3mm QFN20 with 13 GPIO
Also come in 24-QSOP, 32QFN, 32QFP, 48QFP
Flash sizes range from 8-64kB.
8051 based core runs at 48MHz.
UART, SPI, I2C
Feature support
The efm8 series would be best suited for USB only keyboards, but could also support I2C split and maybe nRF24 receiver mode. Battery mode would probably not be implemented for efm8.
According to Silcon Lab's documentation, their USB SDK can be compiled with SDCC. So it should be quite easy to add support.
Progress
[X] USB communication working
[X] Reading/Writing layouts
[X] EFM8 factory bootloader support in GUI
[x] Handle shared HID descriptors for media, nkro and mouse control.
[x] Matrix scanning
References
efm8ub1 (harder to support, since they only have max 16kB flash)
Why support them
The efm8 series of 8051 microprocessors by Silicon Labs are probably the cheapest, smallest and simplest FS USB capable micoprocessors on the market. Some highlights include:
Feature support
The efm8 series would be best suited for USB only keyboards, but could also support I2C split and maybe nRF24 receiver mode. Battery mode would probably not be implemented for efm8.
According to Silcon Lab's documentation, their USB SDK can be compiled with SDCC. So it should be quite easy to add support.
Progress
References