Code Monkey home page Code Monkey logo

zephyr-ble-hid-usb-translator's Introduction

Zephyr ble hid usb translator

This is a project intended to use a bluetooth keyboard as a dongle. This allows you to use the keyboard in BIOS and can offer more stability than standard bluetooth connection.

Installing in a board

Similar to ZMK, download the latest build of the supported board in github actions. For boards that don't use uf2 bootloader, check Flash with nrfutil.

How to pair

Once you plug the dongle, it will wait for a keyboard that wants to connect to bluetooth. You should put your keyboard in bluetooth pairing mode. On a ZMK board, you can do that by selecting the profile you want to use for the dongle and pressing the key assigned to &bt BT_CLR.

How to unpair

If you are using a board that supports reset button, simply plug the dongle leaving the button pressed. The board will blink 3 times indicating it is has reseted all the pairing keys it had. You can pair with any keyboard again.

Boards that don't support the reset button should be flashed with the shield settings_reset and then flashed again with the dongle shield.

Supported boards

Currently the projectg is auto building for using uf2 for:

Shields

Boards that offer a programable button, such as nordic nrf52840 dongle, can be built using reset_dongle shield. The ones don't support that can use the normal dongle shield.

  • dongle: The simple dongle implementation.
  • settings_reset: Clears the dongle pairing keys if you need to pair to another.
  • reset_button: Is the dongle implementation with support to unpair without flashing, by pressing a button while plugging in.

Build locally

Requirements:

  • west

Init the repo with west:

west init -l .
west update

Building a board

You can build any of the supported boards by zephyr or the ones offered in this repo

west build -p -s ./app -b nrf52840_mdk_dongle  -- -DSHIELD=dongle

Copy the build/zephyr/zephyr.uf2 file to the board.

If you need to reset the dongle you can build the settings_reset shield


west build -p -s ./app -b nrf52840_mdk_dongle  -- -DSHIELD=settings_reset

Flashing with nrfutil

Boards such as nrf52840dongle_nrf52840 require you to flash using nrfutil tool. Download the hex file from github actions.

Using the hex file, use the nrfutil to flash it. Once it is in the step to flash, you should press the reset button on the board.

nrfutil pkg generate --hw-version 52 --sd-req=0x00 \
        --application build/zephyr/zephyr.hex \
        --application-version 1 dongle.zip && \
nrfutil dfu usb-serial -pkg dongle.zip -p /dev/ttyACM0

zephyr-ble-hid-usb-translator's People

Contributors

gmarull avatar charlesmst avatar carlescufi avatar bobobo1618 avatar cfriedt avatar fabiobaltieri avatar mbolivar-nordic avatar galak avatar peknis avatar tejlmand avatar invis-z avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.