• Stars
    star
    356
  • Rank 119,446 (Top 3 %)
  • Language
    C++
  • License
    BSD 3-Clause "New...
  • Created over 6 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

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

  • BLE profiles
  • USB/BLE switching on the nrf52840

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 (Adafruit BSP) Github Actions - Docker (Community BSP) Github Actions - Ubuntu Builder
Master Build on Docker - Adafruit Build on Docker - Community build firmware on Ubuntu
Develop Build on Docker - Adafruit Build 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:

Chip Default Board Selection
nRF52832 Adafruit Feather nRF52832
nRF52840 Nordic 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.

Project Details Release
Arduino IDE Development Platform Arduino IDE
Arduino CLI Alternate platform Arduino CLI
Community nRF52 Arduino Board Support Package Community nRF52 releases
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
Adafruit SSD1306 Monochrome OLEDs Library based on SSD1306 drivers Adafruit_SSD1306
Adafruit GFX Library core graphics library Adafruit-GFX-Library
Adafruit_BusIO helper libary to abstract away I2C & SPI transactions and registers Adafruit_BusIO
Olikraus U8g2 U8g2: Library for monochrome displays, version 2 u8g2

More Repositories

1

ErgoTravel

A Portable Ergonomic Split Keyboard inspired from the ErgoDox, Let's Split and Minidox
OpenSCAD
254
star
2

NRF52-Board

HTML
95
star
3

PyKey60

HTML
51
star
4

EncoderPad_RP2040

HTML
26
star
5

pykey

CircuitPython Keyboard Firmware
Python
22
star
6

BlueMicro_HID_Arduino_Library

Universal BLE/USB HID Library
C
20
star
7

Community_nRF52_Arduino

Community Add-on to the Adafruit_nRF52_Arduino Board Support Package
C
14
star
8

VColChoc44

10
star
9

BlueMicro_Builder

Initializes and Builds your own BlueMicro_BLE firmware
C++
10
star
10

NRF52-GDB-Debugger

Batchfile
6
star
11

pico-87-keyboard

Python
4
star
12

BlueMicro_HID_Common

Prototype for nRF52/RP2040 common firmware
C++
3
star
13

PI-OpenOCD

Automation to configure a Raspberry Pi Zero as an OpenOCD Programmer
3
star
14

BlueMicro_nRF52_Arduino_Library

nR52-specific functions to be used by the BlueMicro Keyboard Firmware
C++
3
star
15

60PercentKeyboard

Designing a Custom 60% Keyboard
3
star
16

BlueMicro833_hardware

3
star
17

Arduino_TemperatureController

Master-Slave PID Cascade Temperature Controller
Arduino
2
star
18

WiiNunchuck_Mouse

C++
2
star
19

CNC_encoder_pad

Wireless Video Editing Macropad and Jog Wheel
2
star
20

KMK_Builder

Python
1
star
21

BlueMicro_LargeMatrix

C++
1
star
22

BlueMicro_Engine_Arduino_Library

C++
1
star
23

rpi-gitops

1
star
24

BlueMicro_SAMD_Arduino_Library

C++
1
star
25

bluemicro-4x4-macropad

C++
1
star
26

BlueMicro_Examples_Arduino_Library

C
1
star
27

BlueMicro-CNCEncoderPad

C++
1
star
28

BlueMicro_RP2040_Arduino_Library

C++
1
star
29

Docker-Sonarqube-cxx

1
star
30

Docker_Bluefruit_nRF52

Docker image for compiling nRF52 BlueFruit code using the Arduino cli
Dockerfile
1
star
31

GridMX47

1
star
32

Docker_uf2conv

UF2conv tool to convert nrf42840 firmware into one that can be copied to the device
Dockerfile
1
star
33

Pi_Pico_Keyboard_40_Platform

1
star
34

BlueHand-Keyboard-Addons

Design files for the BlueHand keyboard
1
star
35

VColMX44

1
star
36

BlueMicro_Dev_Tests

C
1
star
37

kube-led-indicator

JavaScript
1
star
38

OffsetMX43

1
star
39

Bluemicro840-tester

C++
1
star
40

Docker_Community_nRF52

Dockerfile
1
star
41

Ubuntu-Nas-Server-Setup

Documentation and Scripts to setup Ubuntu 16.04 Server as a ZFS-Based NAS
Shell
1
star