/BlueMicro_BLE

Keyboard Firmware for the Nordic nRF52 Series of Bluetooth SoC based on the Adafruit NRF52 Feather

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

BlueMicro Firmware Current Version Build on Docker

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.

GitHub forks GitHub stars GitHub contributors Discord GitHub pull requests GitHub issues

Build Status

Branch Github Actions - Docker Github Actions - Ubuntu Jenkins - Windows
Master Build on Docker Build on Ubuntu Build Status
Develop Build on Docker Build on Ubuntu Build Status

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

BlueMicro

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

GitHub license

BlueMicro_BLE uses the following projects, each are licensed separately.

Project Details Release
Arduino IDE Development Platform Arduino IDE
Arduino CLI Alternate platform Arduino CLI
Adafruit nRF52 Arduino Board Support Package Adafruit Library for releases
Adafruit nRF52 Bootloader Bootloader Adafruit Bootloader for releases
Adafruit Neopixel RGB LED Library Adafruit_NeoPixel
Adafruit TinyUSB Arduino USB Library for nRF52840 Adafruit_TinyUSB_Arduino
Hathach TinyUSB USB Library for nRF52840 Hathach TinyUSB
Olikraus U8g2 U8g2: Library for monochrome displays, version 2