keyplus
keyplus copied to clipboard
efm8 support
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:
- 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
Hi,
SILabs EOL'd one of these parts today: https://www.silabs.com/mcu/8-bit-microcontrollers/efm8-universal-bee/device.efm8ub31f40g-qfn24
Also, the UB2 is a C8051F38x part, with different printing on the outside.