A Keyboard Firmware for nRF52832 and nRF52840 Boards
BlueMicro_BLE is a keyboard firmware that builds on top the Adafruit nRF52 board support package (BSP) for their line of Adafruit nRF52 Feather Boards.
By starting with the simple hid_keyboard.ino example provided with the Arduino board support package, we expanded it to a full blown Keyboard firmware with lots of features.
Build Status
Branch | Github Actions - Docker | Github Actions - Ubuntu | Jenkins - Windows |
---|---|---|---|
Master | |||
Develop |
Documentation
See the pages Here
You can contribute to the documentation by editing the markdown files located in the docs folder of the repository.
Compatible Hardware
Top Row: 5x5Backpack, 4x4Backpack
Bottom Row: BlueMicro V2.0, BlueMicro V1.0, BlueNano V2.0, BlueNano V1.0, Pro Micro (For Reference)
Board Name | Description | Chip | Bootloader |
---|---|---|---|
Adafruit nRF52 Feather | The original from Adafruit! | nRF52832 | nrf52832 feather |
BlueMicro V1.0 | Serial TX/RX routed through D2 and D3; Designed for the ErgoTravel; Tested and Gerber available | nRF52832 | nrf52832 feather |
BlueMicro V1.1 | Compatible with more Keyboards - Serial TX/RX are routed separately; Tested and Gerber available | nRF52832 | nrf52832 feather |
BlueMicro V2.0b | Compatible with more Keyboards - Serial TX/RX are routed separately, LiPo Charger on board; Tested and Gerber available | nRF52832 | nrf52832 feather |
BlueMicro V2.0c | Serial TX/RX routed through D2 and D3; Designed for the ErgoTravel. LiPo Charger on Board with battery connection connected to RAW pin. Tested and Gerber available. | nRF52832 | nrf52832 feather |
4x4 Backpack | For use with 40percent.club 4x4 Boards. Uses a CR2032 Battery. | nRF52832 | nrf52832 feather |
4x4 Platform | For use with 40percent.club 4x4 Boards. Uses a rechargeable Battery, has a single RGB on board and has a few status LEDs and PWM driven LEDs. Has serial on board too! | nRF52832 | nrf52832 feather |
4x4 Backpack840 | For use with 40percent.club 4x4 Boards. Uses a rechargeable Battery, has a single RGB on board and has a few status LEDs and PWM driven LEDs. Most importantly, it uses a nrf52840 module instead of a nrf52832 module. | nRF52832 | nrf52832 feather |
5x5 Backpack | For use with 40percent.club 5x5 Boards. Uses a CR2032 Battery. | nRF52832 | nrf52832 feather |
BLE Phage | (Compatible with even more Keyboards due to its small size - Serial USB and PoLi Charger on board) | nRF52832 | nrf52832 feather |
BLE Phage Basic | (Compatible with even more Keyboards due to its small size - Serial TX/RX are routed separately) | nRF52832 | nrf52832 feather |
Adafruit nRF52840 Feather | The updated nrf52 feather from Adafruit! | nRF52840 | nrf52840 feather express |
BlueMicro840 | Bluemicro based on the design of the nrfmicro. Still being worked on... | nRF52840 | PCA10056 |
nice!nano | uses the nRF52840 chip. Same size as the Pro Micro. | nRF52840 | nice_nano |
We need your help in bringing improved support for the nrf52840. Contact us and let us know how you want to help!
Maintainer: /u/jpconstantineau
Contributing
We're very happy to have your contributions in BlueMicro_BLE Firmware
Contributing New Features: First, make sure you've run a full set of builds for all boards if adding new functionality (./build.ps1 all). This will ensure that the new functionality doesn't break the build of other keyboards. Then, make a pull request to this repo. Thanks!
Adding a new keyboard: First, add your new keyboard to the folder structure. You will need to create the apropriate folders and place the 4 necessary keyboard files. Then, make sure you've run a build for all keymaps applicable to your keyboard (./build.ps1 keyboardname). This will ensure that your keymap can support future hardware configurations. Then, make a pull request to this repo. Thanks!
Adding your keymaps: First, make sure you've run a build for all keymaps applicable to your keyboard (./build.ps1 keyboardname). This will ensure that your keymap can support other hardware configurations. Then, make a pull request to this repo. Thanks!
Looking for a feature: Lots of features are already available; however, not everything is documented yet. Join in on the Discord server and ask if it's already available, or if anyone is working on what you are looking for. If you are willing to help adding or testing a new feature, join the team!
Filing an issue: Submit issues to the GitHub Issues page.
Want to help: take one of issues in the list here where you think you could help. Comment on it as you start work and join in on the Discord server for a live discussion.
Credits
The firmware uses the same Arduino Board Support Package as the Adafruit nRF52 Feather Boards
BlueMicro_BLE uses the following projects, each are licensed separately.
Project | Details | Release |
---|---|---|
Arduino IDE | Development Platform | |
Arduino CLI | Alternate platform | |
Adafruit nRF52 Arduino | Board Support Package | |
Adafruit nRF52 Bootloader | Bootloader | |
Adafruit Neopixel | RGB LED Library | |
Adafruit TinyUSB Arduino | USB Library for nRF52840 | |
Hathach TinyUSB | USB Library for nRF52840 | |
Olikraus U8g2 | U8g2: Library for monochrome displays, version 2 |