Home

Awesome

BlueMicro Firmware Current Version Build on Docker

Currently Upgrading to support Adafruit nRF52 release 1.3.0!

Work is currently under way to update BlueMicro_BLE to be able to use the latest release of the Adafruit Board Support Package. This will enable the following

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

BranchGithub Actions - Docker (Adafruit BSP)Github Actions - Docker (Community BSP)Github Actions - Ubuntu Builder
MasterBuild on Docker - AdafruitBuild on Docker - Communitybuild firmware on Ubuntu
DevelopBuild on Docker - AdafruitBuild on Docker - Community

Documentation

See the pages Here

You can contribute to the documentation by editing the markdown files located in the docs folder of the repository.

Video Documentation - BlueMicro Youtube Channel

See a number of tutorials, builds and other keyboard related videos on the BlueMicro Youtube Channel.

Compatible Hardware

Any nRF52832 or nRF52840 boards that support either of the following 2 Arduino Board Support Packages:

If you use the Adafruit nRF52 Boards in the Arduino IDE, you should select either of the following:

ChipDefault Board Selection
nRF52832Adafruit Feather nRF52832
nRF52840Nordic nRF52840DK (PCA10056)

If your board needs a special bootloader or a configuration that's not compatible with the above boards, you should consider adding your board to the Community Add-on to the Adafruit_nRF52_Arduino Board Support Package. This will make it simpler for others to re-use your special configuration and flashing the bootloader.

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.

ProjectDetailsRelease
Arduino IDEDevelopment PlatformArduino IDE
Arduino CLIAlternate platformArduino CLI
Community nRF52 ArduinoBoard Support PackageCommunity nRF52 releases
Adafruit nRF52 ArduinoBoard Support PackageAdafruit Library for releases
Adafruit nRF52 BootloaderBootloaderAdafruit Bootloader for releases
Adafruit NeopixelRGB LED LibraryAdafruit_NeoPixel
Adafruit TinyUSB ArduinoUSB Library for nRF52840Adafruit_TinyUSB_Arduino
Hathach TinyUSBUSB Library for nRF52840Hathach TinyUSB
Adafruit SSD1306Monochrome OLEDs Library based on SSD1306 driversAdafruit_SSD1306
Adafruit GFX Librarycore graphics libraryAdafruit-GFX-Library
Adafruit_BusIOhelper libary to abstract away I2C & SPI transactions and registersAdafruit_BusIO
Olikraus U8g2U8g2: Library for monochrome displays, version 2u8g2