# Home


# FAQ

#### After inserting the key switch into a hotswap socket, some of the key switches do not trigger a key press.

Here're some possible causes:

* the leg (prong) of the key switch is bent
* a cold joint at the hotswap socket, or a lifted pad
* a cold joint at the diode

#### **Can I use nice!nano in the keyboard?**

For keyboards that come with a pro micro footprint, nice!nano can be used. Ferris Sweep supports a power switch and a battery solder pad, but other keyboards do not. You should also visit the following links if you go wireless.

* <https://github.com/zmkfirmware/zmk/issues/1110>
* <https://zmk.dev/docs/troubleshooting#split-keyboard-halves-unable-to-pair>
* <https://github.com/zmkfirmware/zmk/issues/278>

#### **What is the best keymap for 40% keyboard?**

To customize your keymap, one way is to learn from the existing keymaps.

Here are some useful links

* <https://github.com/manna-harbour/miryoku>
* <https://precondition.github.io/home-row-mods>
* <https://github.com/qmk/qmk_firmware/tree/master/keyboards/ferris/keymaps>


# Layout Testers

It's recommended to use <https://jhelvy.shinyapps.io/splitkbcompare/>

You can view this at 100% on a computer screen, or a tablet. You can also print this on a paper.

### Piantor Pro / Piantor v1 / Cantor Classic 42-Keys Keyboard

{% file src="/files/2RGBvOudUWIsXvByBxB7" %}

### Chocofi

{% file src="/files/Y9hZHlMMFn9eXX9nW5BO" %}

### Hillside52 / HSHS52

{% file src="/files/OAFcXxQlhQxpbgJBcJsi" %}

### Hillside46 / HSHS46

{% file src="/files/Ggmb9cc3xWCJHhploHG5" %}

### Corne (crkbd)

{% file src="/files/UZ8QeqZeDDnyM4TEzmPU" %}

### Dao Choc BLE&#x20;

{% file src="/files/mTzWazz0ANWFCoc3KvTq" %}

### Sweep v2.2 (choc spacing)

{% file src="/files/SqekFMUUOq7ulXFG0b8g" %}

### Cantor Keyboard vs Corne

{% file src="/files/eiENNj3DnaZ34LYtqP9x" %}

### Cantor Keyboard vs Sweep v2.2

{% file src="/files/O0nuv6Njqwvis9dVZpU9" %}

### Sofle RGB MX v2.1

{% file src="/files/ad6S9SwGoE9h21uzb5AU" %}

### Sofle v2

{% file src="/files/RH9zdugDELGdr6anPhoO" %}

### Totem

{% file src="/files/etecsD8tPHPTI8a3PRsT" %}

### DASBOB

{% file src="/files/Mubviu5xGtC61ymuoZLO" %}


# Keyboards with Cirque Trackpad

### VIA Firmware for Corne Keyboard with Cirque Trackpad

Build log at : <https://beekeeb.com/cirque-trackpad-i2c-on-corne-keyboard/>

* Master Right

{% file src="/files/Pw1fIDYVvcDaFH3IPHrG" %}

### VIA Firmware for Sofle Keyboard with Cirque Trackpad

* Master Right
* Some RGB effects are not included

{% file src="/files/RgKzOoTLR46Tl2KmNdni" %}

### VIA Firmware for Lily58 Keyboard with Cirque Trackpad

* Master Right

{% file src="/files/1tkIjUXbL1YzMk8kX8BK" %}


# Allium58 Keyboard

Repo: <https://github.com/beekeeb/Allium58>

DIY / Pre-soldered Kit: <https://shop.beekeeb.com/product/allium58-glp-wired-kit/>

{% embed url="<https://github.com/beekeeb/Allium58>" %}

### Allium58 PCB Introduction

<figure><img src="/files/50ar1s9Dt1wHVU889wRb" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/zvzxlS3i3SlS6nP4KyS4" alt=""><figcaption></figcaption></figure>

### Firmware

Allium58 VIAL firmware for wired build

{% file src="/files/NovDdPXjKoSy0olhmnxA" %}

{% file src="/files/RMv6cuak0poLaulkhteH" %}

Alternatively, Allium58 is also compatible with Lily58 firmware.


# Photo logs of installing Allium58 GLP 3D printed keyboard case

### **Getting the Hardware**

In this page, I’m using the wired Allium58 GLP keyboard kit. You can get the hardware from one of the following links.

{% embed url="<https://shop.beekeeb.com/product/allium58-glp-wired-kit/>" %}

<figure><img src="/files/WRvPI7hcJ2CwBrEW466s" alt=""><figcaption></figcaption></figure>

### **Installation Guide**

This guide assumes you have the basic equipments (a screwdriver) , a soldered Allium58 GLP keyboard, compatible key switches (Gateron Low Profile) and the case kit.

#### Step 1: Secure the spacers to the PCB for attaching the acrylic OLED Display cover

<figure><img src="/files/sWCQRDeVpNzYAHd9hRlw" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/5QzqhWARvU0Lbs3SQgNv" alt="" width="563"><figcaption></figcaption></figure>

#### Optional Step: If you want a sturdier build, add the silicone feet to the inside corners at the back of the PCB.

<figure><img src="/files/DcrG8eXEGPCcURjZ8h1F" alt="" width="563"><figcaption></figcaption></figure>

#### Step 2: Install the key switches to the top plate

Make sure the pins/ legs of the key switches are not bent before inserting to the top plate.

<figure><img src="/files/G0X9sWwAMBq7eRGzIerE" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/ndGxGmg4EdQAa6UxHGih" alt="" width="563"><figcaption></figcaption></figure>

#### Step 3: Attach the top plate to the PCB

Hold the hotswap sockets and gently insert the key switches.

<figure><img src="/files/avAzQh4YZLcAHPLCCEeB" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/MSJRDg8HGCqeZirMDv4H" alt="" width="563"><figcaption></figcaption></figure>

#### Step 4: Test the key presses

* For the wired RP2040 Allium58 GLP keyboard, connect both halves using the TRRS cable. Next, use a USB-C cable to plug the keyboard into your computer. Open VIAL (get.vial.today) and test all the keys.

  <mark style="color:red;">**Important:**</mark> <mark style="color:red;"></mark><mark style="color:red;">Never disconnect the TRRS cable while the keyboard is still connected to your computer. Doing so can cause a short circuit and permanently damage the controller. Always unplug the USB-C cable from your computer before removing the TRRS cable.</mark>
* For the wireless Allium58 GLP keyboard, please follow the guide in <https://docs.beekeeb.com/other-guides/how-to-install-display-battery-and-test-the-wireless-corne-keyboard> for testing the displays and inserting the batteries.

<figure><img src="/files/RxtQKtwAXxfrknAv8Kkz" alt="" width="563"><figcaption></figcaption></figure>

#### Step 5: Prepare the 3D printed bottom case

<figure><img src="/files/JZk7SDdFuwDIfyZqVLvd" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/Gltd1EvEfKwz12wERJp3" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/0MNRoX6P8E11MMxwthjS" alt="" width="563"><figcaption></figcaption></figure>

#### Step 6: Secure the PCB to the 3D printed bottom case

<figure><img src="/files/2kbHhSNDsQoeYl7uNRec" alt="" width="563"><figcaption></figcaption></figure>

<figure><img src="/files/KmOPhvue4Rm3Gc0wJiGG" alt="" width="563"><figcaption></figcaption></figure>

#### Step 7: Add the acrylic cover to the PCB

Please remove the protective film on the acrylic cover first.

<figure><img src="/files/Gfdfhmn0j1llmFYiAma2" alt="" width="563"><figcaption></figcaption></figure>

#### Complete!

It's time to add keycaps to the keyboard 👏

<figure><img src="/files/ZQBc2blPM9MVpdh6TNEo" alt=""><figcaption></figcaption></figure>

The Allium58 keyboard series includes GLP (Gateron Low Profile), Choc, and MX versions. If you’re interested in other switch types, you can select them on this page.

{% embed url="<https://shop.beekeeb.com/?s=allium58&post_type=product&dgwt_wcas=1>" %}


# Cantor Keyboard

GitHub Repo: <https://github.com/diepala/cantor>

## Where to buy

* [Buy pre-soldered Cantor Keyboard](https://shop.beekeeb.com/product/pre-soldered-cantor-keyboard/)
* [Buy Cantor PCB Kit](https://shop.beekeeb.com/product/cantor-v1-pcb-kit/)

### Compiled Vial Firmware

{% file src="/files/ArlDpRsdEGAvCWotMk7U" %}
Updated on: Oct 25, 2023
{% endfile %}

### Compiled VIA Firmware

{% file src="/files/SwTzpLP6wJ1WiutZowkq" %}
cantor
{% endfile %}

{% file src="/files/aEjk6HF80Mrhh4OrcsD9" %}
cantor remix
{% endfile %}

### Additional Files for VIA

Please download the following file.

{% file src="/files/kEiAJTpoMKPPoE9meUk1" %}
cantor
{% endfile %}

{% file src="/files/QdIhktfssz4vLDdb9Rwo" %}
cantor remix
{% endfile %}

In VIA, in the "Settings" tab, enable "Show Design Tab".

Switch to the "Design" tab, select "Load Draft Definition" and use the above info.json file.

### Testing Key Switches and NKRO Steno Cording in VIA

![](/files/kaP931Rxv9eNB5CvycQW)


# Chocofi Keyboard

### Layout Tester

{% file src="/files/iLVEGsXacgEjz5W0Jja6" %}

### RP2040-based boards

The command to build a chocofi Vial firmware with ProMicro-shaped RP2040 microcontroller boards such as the Sea Picro.

```
qmk compile -kb crkbd/rev1 -km vial -e CONVERT_TO=promicro_rp2040
```

It's recommended to build your own firmware. Here's a precompiled chocofi firmware based on crkbd.

{% file src="/files/boUhrdc6r8H5q4Mumn3x" %}

### Firmware for nice!nano wireless boards

The pre-soldered wireless Chocofi keyboard with nice!view are pre-flashed miryoku ZMK firmware.

The pre-flashed firmware:

{% file src="/files/zAFTl6ecz9964yndf7H3" %}
Left Board
{% endfile %}

{% file src="/files/uauvkTnb6bk6jWqD3Cl2" %}
Right Board
{% endfile %}

If you would like to customize your own keymap, please refer to the [ZMK documentation](https://zmk.dev/docs/user-setup). You can find an example of the firmware at the following link: [ZMK Config Corne Chocofi with Niceview](https://github.com/beekeeb/zmk-config-corne-chocofi-with-niceview/tree/main).

#### Troubleshooting 1: My nice!view doesn't display any graphics after flashing a custom firmware.&#x20;

To resolve the issue of the nice!view not displaying graphics after flashing a custom firmware, you will need to enable the `nice_view` and `nice_view_adapter` features in your custom ZMK firmware.

Example: <https://github.com/beekeeb/zmk-config-corne-chocofi-with-niceview/blob/main/build.yaml>

```yaml
include:
  - board: nice_nano_v2
    shield: corne_left nice_view_adapter nice_view
  - board: nice_nano_v2
    shield: corne_right nice_view_adapter nice_view
```


# Soldering a battery on a Chocofi Wireless

Disclaimer: This guide is for educational purpose. This site is not responsible for damage or losses that may occur from use of this material. This guide might contain outdated or incorrect information.

You should consult a local electrician, technical, or a drone repair shop to install the battery for you if you are not experienced in soldering.

Incorrectly connecting a battery might cause fire or explosion. Double check with the polarity. Please also read the nice!nano documentation at <https://nicekeyboards.com/docs> before starting this guide.

> In the most recent version (August 2023) of the [pre-soldered Chocofi Wireless keyboard](https://shop.beekeeb.com/product/presoldered-chocofi-split-keyboard/), we've added a JST battery socket into the board, eliminating the need for soldering tools.&#x20;
>
> For the recommended battery type and installation instructions for nice!view displays, please refer to the guide available at [https://docs.beekeeb.com/other-guides/how-to-install-nice-view-battery-and-test-the-wireless-corne-keyboard](/other-guides/how-to-install-display-battery-and-test-the-wireless-corne-keyboard).

### Testing the Keyboard with a USB Connection

If you have a nice!view version, you can check if the screen works, before soldering the battery wires.

![](/files/MpAuoMJsrfH3esRIV9O6)

![](/files/ZVQotnbrSvayTdl58Yrs)

The screen should turn on when there is a USB connection. But the slave side might not trigger key presses.

### Install the Battery on the Bottom Side

If you want to quickly test the keyboard, you can solder the battery wires onto the bottom side. But this is not compatible with a tight 3D printed case. You will need a thicker case or a sandwich case.

![](/files/iDMZEboGh55gp36QyuSS)

It's recommended to turn off the keyboard first.&#x20;

![](/files/sEuc0eeBAzQzYaqeRagH)r.&#x20;

Solder the battery wires one by one according to the polarity. Never short the battery wires.

### Alternative - Install the Battery on the Top Side

![](/files/iDMZEboGh55gp36QyuSS)

It's recommended to turn off the keyboard first.&#x20;

A 301230 battery can be installed on the top side, under the microcontroller. The sockets for nice!view and microcontrollers are very delicate. Gently remove the nice!view with the nice!nano controller at the same time, because there is a wire connecting them together.

![](/files/oLEzJZvaAQUiv9pURO2v)

![](/files/i6FQW2OBvz0CZ3K2Sy7T)

Solder the battery wires one by one according to the polarity. Never short the battery wires.


# Dao Choc BLE Keyboard

GitHub Repo: <https://github.com/yumagulovrn/dao-choc-ble>

Shop: <https://shop.beekeeb.com/product/pre-soldered-wireless-dao-choc-ble-keyboard/>

## Battery

3.7V LiPo battery  with a protection circuit, and a charge current >=300mA is required. The connector is Molex PicoBlade 51021-0200, commonly know as "MX 1.25mm".&#x20;

Important note: Please make sure the polarity is correct. The red wire should be aligned at the BAT+ silk screen.

![](/files/VKIqpWLgO91D86Zsf6RF)

### 502035

502035 (usually rated at 300mAh) is recommended.

![](/files/3euxfGMm44OfyM58f88D)

### 402535

402535 (usually rated at 400mAh) can also be used, but the tolerance is very tight.&#x20;

![](/files/5GIPcKXgl3fO38nyJn1U)

### More Photos of the Battery Connector

![](/files/9ipmprmLNnU1Olx1QhrQ)

![](/files/evRwnYdj0ML4gzcmgZRT)

![](/files/HC2C4b734lx7eJslvXaL)


# DASBOB Keyboard

Github Repo: <https://github.com/GroooveBob/DASBOB>

## Layout Tester

You can view this at 100% on a computer screen, or a tablet. You can also print this on a paper.

{% file src="/files/58MVpJq3zhkTFqLqwIxc" %}

## Compiled Vial Firmware (RP2040)

{% file src="/files/v2uPl590l7RW4acsMGBO" %}

## DIY Kit / Pre-built Dasbob

<https://shop.beekeeb.com/product/dasbob-split-keyboard-pcb-kit/>

{% embed url="<https://shop.beekeeb.com/product/dasbob-split-keyboard-pcb-kit/>" %}

## Photo Build Logs

### Step 1: Flash and test the controllers

1. Connect the Sea Picro to the computer using a USB data cable.&#x20;
2. Use tweezers to briefly connect the GND and RST pins for 2 seconds. <mark style="color:red;">Avoid shorting the 5V and GND pins to prevent controller damage.</mark>&#x20;
3. Drag the .uf2 file of the [DASBOB firmware ](#compiled-vial-firmware-rp2040)onto the RPI-RP2 drive to flash the controller.&#x20;
4. Open VIAL and check if the "DASBOB" keyboard is detected after flashing the controller.
5. If VIAL successfully recognizes the keyboard, then you are ready to proceed to the next step.

<figure><img src="/files/rOzurHXgNNI0VMYILAzr" alt=""><figcaption></figcaption></figure>

### Step 2: Solder the components on the board

Here is the photo of the Right board of DASBOB

<div><figure><img src="/files/j1hRd6Uf6pZ5pUaZAzsp" alt=""><figcaption><p>Front side of the Left board</p></figcaption></figure> <figure><img src="/files/HYo1MWPDIMmRLxd5BFhe" alt=""><figcaption><p>Back side of the Left board (with the hotswap socket footprints)</p></figcaption></figure></div>

To connect the controller, you will need to use the 12p and 5p pins. Insert these pins into the front side of the board, ensuring that the controller components are facing down towards the PCB.

<div><figure><img src="/files/Xzzwei6WLWvGb1oIkz2k" alt=""><figcaption></figcaption></figure> <figure><img src="/files/BzcctOdZUfC9JuC6gohG" alt=""><figcaption></figcaption></figure></div>

Solder the pins (I normally solder the pins on the back side first)

<figure><img src="/files/nJ0XJt79bKzXMvHBJTbD" alt=""><figcaption></figcaption></figure>

Solder the other components (reset buttons, TRRS jacks and hotswap sockets) to the board

<div><figure><img src="/files/txvAWGFktTjjaYk55ljQ" alt=""><figcaption></figcaption></figure> <figure><img src="/files/6zZFWuUcLyaFqD5GPWh3" alt=""><figcaption></figcaption></figure></div>

### Last Step: Jumpers for Wired Builds

For wired builds, you'll need to close two solder bridge jumpers as shown below.

![](/files/tkuqS6Kzg6S5IEuKkYJi)

<figure><img src="/files/RayroJp1BMlH8iXJMCJ3" alt=""><figcaption></figcaption></figure>

### Done :)

After cleaning the board, you can insert the key switches to the hotswap sockets and connect the 2 halves of the board using the TRRS cable.&#x20;

<mark style="color:red;">Important: Please fully connect the TRRS cable, then connect the USB data cable. Do not plug/unplug the TRRS cable when the keyboard is powered.</mark>

<figure><img src="/files/RFzJfbFDbtJYDIIBrOVW" alt=""><figcaption></figcaption></figure>

##


# FelixKeeb

## Precompiled Firmware


# Ferris Sweep Keyboard

### Controller - RP2040 Sea Picro

Vial Firmware with MASTER\_LEFT for RP2040 boards with NKRO

{% file src="/files/7BSPOzsxYjBNA7Mzzcye" %}

Vial Firmware with MASTER\_LEFT for RP2040 boards

{% file src="/files/mZ6bw2xhm8Q9G92sXHND" %}

### Controller - Atmega32u4 Pro Micro

VIA Firmware with MASTER\_LEFT for Atmega32u4 boards

{% file src="/files/qwIfg7FkdEyOyQOeN4W6" %}

### Controller - nice!nano v2

Pre-compiled ZMK firmware (or choosing `Cradio/Sweep` in ZMK keyboard selection <https://zmk.dev/docs/user-setup#keyboard-selection> )

{% file src="/files/dywkVbUQexIB6V4ZC8PC" %}

{% file src="/files/Jed4xknR2rFZvkiZgqLz" %}


# Hillside Keyboard

### Hillside52 / HSHS52 Layout Testing

{% file src="/files/fL07ReCC9QbFLh33CeP5" %}

### Hillside46 / HSHS46 Layout Testing

{% file src="/files/Lssbpz3qPt2Z88RtciGC" %}

### Pre-compiled firmware

{% file src="/files/E9Xq5eGbMEKkPuCYf1KH" %}

### Firmware for RP2040 boards

{% file src="/files/yVWL8Whp7BCbufFM6GCW" %}


# Hotreus62 Keyboard


# keezyboost40

Github Repo: <https://github.com/ChrisChrisLoLo/keezyboost40>

### Compiled Vial Firmware (RP2040)

<figure><img src="/files/oBVwTY81lo1fHDrUcESQ" alt=""><figcaption></figcaption></figure>

{% file src="/files/djOpC37WiOQKS0gD3qmg" %}


# Piantor Keyboard

<figure><img src="/files/krAe3CCa8N3CD8oq8ONV" alt=""><figcaption></figcaption></figure>

The Piantor Keyboard is a 42-key or 36-key wired, diodeless, non-flippable, low profile choc v1 (hybrid hotswap and non-hotswap/soldered-in), aggressive column staggered, programmable ergonomic mechanical split keyboard powered by  Pi Pico or other compatible RP2040 boards. It is based on the [Cantor Keyboard](https://github.com/diepala/cantor). The name "Piantor" is the portmanteau of "Pico" and "Cantor".

The development of this project is sponsored by [PCBWay](https://pcbway.com/g/beekeeb) (affiliate link).

## Quick Links

* GitHub Repo: <https://github.com/beekeeb/piantor>
* PCBWay Project [Left Side](https://www.pcbway.com/project/shareproject/Piantor_Keyboard_Left_side_24a2937f.html), [Right Side](https://www.pcbway.com/project/shareproject/Piantor_Keyboard_Right_side_7c5b31eb.html)
* [beekeeb showcase](https://showcase.beekeeb.com/piantor-keyboard/)
* Vial Firmware Github Repo <https://github.com/beekeeb/vial-qmk-piantor>
* [Quick Start Guide (Raspberry Pi Pico)](/piantor-keyboard/quick-start-guide-to-build-a-piantor-raspberry-pi-pico)
* [Quick Start Guide (WeAct RP2040)](/piantor-keyboard/quick-start-guide-to-build-a-piantor-weact-rp2040)

## Precompiled Firmware

{% file src="/files/UwRKh5QtpOm2knqka8tB" %}
Vial firmware for the Piantor Keyboard with Raspberry Pi Pico (VBUS\_SENSE at GP24)
{% endfile %}

{% file src="/files/OAixf7RIR7UQn7tfdKnn" %}
Vial firmware for the Piantor Keyboard with WeAct RP2040 (using an external circuit for VBUS\_SENSE connected to GP29)
{% endfile %}

{% file src="/files/sz1QgwSB0EeI6PwGilWX" %}
Vial firmware for the Piantor Keyboard (SPLIT\_USB\_DETECT, no VBUS\_SENSE circuit is required)
{% endfile %}

The Vial software can be downloaded at <https://get.vial.today/>

### Firmware for clearing the flash

You probably do not need this. But here's the uf2 file for clearing the flash for Raspberry Pi Pico.

{% file src="/files/VAuD3h9C2kd3nxNEzKxc" %}

## Features

### RP2040 MCU

A low-cost, easy-to-source, powerful microcontroller with dual Arm Cortex-M0+ @ 133MHz, 264kB on-chip SRAM and 2MB (up to 16MB, depending on the breakout board) off-chip external flash memory. You can enable a lot of features and layers. Never worry about the firmware size limit.

Tested boards include Raspberry Pi Pico and WeAct RP2040. Other boards such as [WaveShare RP2040-Plus](https://www.waveshare.com/rp2040-plus.htm), [EnvOpenPico](https://github.com/Envious-Data/EnvOpenPico),  [Pimoroni Pico LiPo](https://shop.pimoroni.com/products/pimoroni-pico-lipo), should work, but they are not yet tested. YD-RP2040 is not recommended because it isn't possible to add an external VBUS\_SENSE circuit easily.

Although the WeAct RP2040 (as of Nov 3, 2022) is not pin-to-pin compatible with the original Raspberry Pi Pico, the pins used by Piantor are chosen carefully. So, both breakout boards can be used.

<figure><img src="/files/z32xAKIuZLUm7C6wnIdR" alt=""><figcaption></figcaption></figure>

For Raspberry Pi Pico, you can solder it using castellated holes with minimal height. But it uses a micro USB connector.

For WeAct RP2040, you need to use pin headers or sockets, with an increased height. It uses a USB Type-C connector.

<figure><img src="/files/zz4VervK0Mj0NsfEpeRQ" alt=""><figcaption></figcaption></figure>

### VBUS Sensing and QMK

For Raspberry Pi Pico, there is a VBUS\_SENSE circuit connected to GP24.

For WeAct RP2040, there isn't a built in VBUS\_SENSE circuit.

There is an optional VBUS\_SENSE circuilt on Piantor, connecting to the WeAct RP2040 GP29. GP24 isn't used because the GP24 is located at the 3V3(OUT) of the Raspberry Pi Pico.

When USB\_VBUS\_PIN is not defined, SPLIT\_USB\_DETECT is the default for ChibiOS-based boards. (Thanks to @sigprof on Discord for clarifying this).

Both Raspberry Pi Pico and WeAct RP2040 can be used with the default mode with SPLIT\_USB\_DETECT. But, there are downsides when using SPLIT\_USB\_DETECT.

To disable SPLIT\_USB\_DETECT, for Raspberry Pi Pico we can use the built in circuit by adding \`#define USB\_VBUS\_PIN GP24\` at the QMK config.h. The resistors on Piantor are not required to be soldered.&#x20;

For WeAct RP2040, we can use the external circuit by adding the two resistors, and add \`#define USB\_VBUS\_PIN GP29\` at the QMK config.h.

### Layout

The layout is based on the Cantor Keyboard. It features ergonomic strong column staggering for short pinkies.

### Non-flippable PCBs

For reversible/flippable, it costs lower to order a pair of PCBs. But, it's easy to use the incorrect orientation or holes. On the other hand, Piantor uses the standard way. There are fewer ways to make mistakes in the non-flippable design. The solder pads for choc hotswap sockets are also bigger than that in the flippable boards. Thus, it's more suitable for beginners or first time keyboard builders.

<figure><img src="/files/pGSKm4PrOYFT3zDMin32" alt=""><figcaption><p>Bottom side of the PCB</p></figcaption></figure>

### Diodeless

Diodes are one of the common challenges for beginners, because they are small and directional. Piantor uses direct pins, and does not require diodes. When there are no diodes, the keyboard is easier to build and is less likely to break.

### Hybrid hotswap and non-hotswap/soldered-in low profile choc switches

When you are unsure which switches to use, hotswap sockets are great. On the other hand, soldered-in switches are less wobbly. You can build the hotswap version, and change it to a soldered-in version. The board supports both hotswap sockets, and soldered-in switches.

### Breakable pinky column

Piantor supports both 42-key to 36-key layout. You can easily convert the PCB from a 42-key to 36-key layout. The pinky column can be removed without specialized tools. You will need a new case though.

<figure><img src="/files/nBI3Ptwa8619RFgVso39" alt=""><figcaption></figcaption></figure>

## Build Guide

Don’t connect or disconnect the TRRS cable when the keyboard is powered. Always disconnect the USB cable first.

### Flash the firmware

#### Enter the USB mass storage device mode (bootloader mode)

When you connect the controller to the computer,  a USB mass storage drive should appear. It is in the UF2 mode for flashing. If you do not see a mass storage device, or if it is not an empty board, make sure the Raspberry Pi Pico is not connected to the computer. Press and hold the BOOTSEL button, while you connect it to the computer using a micro USB cable.

You can drag and drop to copy the firmware file to the drive.

Optionally, you can test the board by shorting some of the GPIOs to trigger key presses.

#### Build your own firmware (Advanced)

If you prefer building your own firmware and flash it with command line, you can use one of the following commands to build and flash the Vial firmware.

Clone and setup the Vial repo from <http://github.com/beekeeb/vial-qmk-piantor>

For Rasyberry Pi Pico,

```bash
make beekeeb/piantor:vial:flash
```

For WeAct RP2040 with an a VBUS\_SENSE circuit (R1, R2),

```bash
make beekeeb/piantor/weact:vial:flash
```

For WeAct RP2040 without an a VBUS\_SENSE circuit (R1, R2),&#x20;

```bash
make beekeeb/piantor/no_vbus_sense:vial:flash
```

### Solder the Microcontroller Boards and TRRS Jacks

Disconnect the Pico from the computer.

Unlike other keyboards, the components of the breakout board should be facing up.

<figure><img src="/files/WTRQuzexVxlhOQA7Q6oo" alt=""><figcaption><p>With castellated holes</p></figcaption></figure>

<figure><img src="/files/8XiL3MhuwqLB6KtEPw8u" alt=""><figcaption><p>Without castellated holes</p></figcaption></figure>

<figure><img src="/files/d3pepFciupTt27KVYbbC" alt=""><figcaption><p>Without castellated holes</p></figcaption></figure>

Solder the castellated holes, or use pin headers if the board does not have castellated holes.

### Solder the Resistors (WeAct RP2040)

The resistors are required for the breakout boards without a built in VBUS\_SENSE circuit.

<figure><img src="/files/1dtNMJmfTrTriTYVRSMh" alt=""><figcaption></figcaption></figure>

For Raspberry Pi Pico, R1 and R2 are not required.

For WeAct RP2040, it's recommended to solder the R1 and R2 on both sides. Use 5.6kΩ for R1, and 10kΩ for R2 respectively.

### Testing the Key Presses

After soldering the microcontroller, TRRS jack and resistors (if required), even without hotswap sockets or key switches, you can connect both halves with a TRRS cable, and connect the left side to the computer. To trigger key presses, you can short the holes that will be used for the key switches. The matrix tester in Vial is a helpful tool.

### Solder the Hotswap Sockets or Key Switches

After you have tested the key presses, you can either solder the hot swap sockets (as a hotwap version), or the key switches (as a soldered-in, non-hotswap version).

### Final Product

This shows a Piantor with hotswap sockets, WeAct RP2040, with a VBUS\_SENSE circuit.

<figure><img src="/files/WEGyzuniJxcxhQqb5LsI" alt=""><figcaption></figcaption></figure>

<div align="center"><figure><img src="/files/9tX6JEoolwHwxjlHxpXU" alt=""><figcaption></figcaption></figure></div>

<figure><img src="/files/QyKvskdTrA9gsegSjGGg" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/uzTqAAbESusBCWDHVCCE" alt=""><figcaption></figcaption></figure>

### The Next Step

The default keymap is very basic. You should learn how to configure a keymap to fully utilize this programmable keyboard.&#x20;


# Quick Start Guide to Build a Piantor (Raspberry Pi Pico)

**Don’t connect or disconnect the TRRS cable when the keyboard is powered. Always disconnect the USB cable first.**

Flash the Vial firmware on both Raspberry Pi Picos by copying the uf2 firmware to the USB mass storage device. If you do not see a mass storage device, you will need to enter the bootloader mode by holding down the BOOTSEL button while reconnecting the board into USB port.

{% file src="/files/UwRKh5QtpOm2knqka8tB" %}

### Solder the Raspberry Pi Pico and the TRRS Jacks

<figure><img src="/files/OnEXTOWP03cXdJ7wF64o" alt=""><figcaption></figcaption></figure>

The Raspberry Pi Pico can be soldered on both left and right halves using the castellated holes on the top side.

### Test the key presses

Connect both halves using TRRS cable. Run Vial on the computer and switch it to the Matrix Tester tab. You can trigger key presses by shorting the hotswap socket pads or switch holes.

### Solder the hotswap sockets or the key switches

You can solder hotswap sockets (as a hotswap version), or low profile choc v1 key switches directly (as a non-hotswap/soldered-in version).

### Final Product

<figure><img src="/files/yLTHDKklZ7t4cdJWST12" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/McbNZWEYyL7WJDv4NUfe" alt=""><figcaption></figcaption></figure>


# Quick Start Guide to Build a Piantor (WeAct RP2040)

**Don’t connect or disconnect the TRRS cable when the keyboard is powered. Always disconnect the USB cable first.**

Flash the Vial firmware on both WeAct RP2040 by copying the uf2 firmware to the USB mass storage device. If you do not see a mass storage device, you will need to enter the bootloader mode by holding down the BOOTSEL button while reconnecting the board into USB port. Alternatively, you can hold the BOOTSEL button and press the NRST button.

{% file src="/files/OAixf7RIR7UQn7tfdKnn" %}

### Solder the WeAct RP2040 and the TRRS Jacks

Use the shorter, low-profile, black pin headers provided in the keyboard kit. If you use the original yellow pin headers, you might need to trim the pins.

Align the "0" of the WeAct RP2040 to the "GP0" of the keyboard PCB.&#x20;

### Solder the Resistors

<figure><img src="/files/CH9TvLfyP52fW24b65sw" alt=""><figcaption></figcaption></figure>

Use 5.6kΩ for R1, and 10kΩ for R2 respectively.

### Test the key presses

Connect both halves using TRRS cable. Run Vial on the computer and switch it to the Matrix Tester tab. You can trigger key presses by shorting the hotswap socket pads or switch holes.

### Solder the hotswap sockets or the key switches

You can solder hotswap sockets (as a hotswap version), or low profile choc v1 key switches directly (as a non-hotswap/soldered-in version).

### Final Product

<figure><img src="/files/aqBo0fifZBCFXoVhIUxY" alt=""><figcaption><p>Top</p></figcaption></figure>

<figure><img src="/files/aGZmX11Lt1BhuO4gkQM1" alt=""><figcaption><p>Bottom</p></figcaption></figure>


# Extra Firmwares

WeAct with MASTER\_RIGHT

{% file src="/files/VA7NkC3PZQr6m83ntEcb" %}

Experimental Pico firmware with extra tap dance and combos, and MASTER\_RIGHT

{% file src="/files/CeXyHJ6tEQHyL4UiFkV6" %}


# Pierce Keyboard

Vial Firmware

{% file src="/files/Tp76q8J3jUvMHFs48kRi" %}

vial.json

{% file src="/files/KsyMFeRBp1ie9rNaOb8l" %}


# Stress Fight Pad

Stress by GroooveBob/Stress

Repo: <https://github.com/GroooveBob/Stress>

DIY Kit / Pre-soldered: <https://shop.beekeeb.com/product/stress-fightpad/>

## Entering Bootloader Mode

There are 2 methods to enter bootloader mode.

Method 1: Press and hold "BOOT" button on the RP2040-Zero controller then connect the Stress Fight Pad to your computer

Method 2: After connecting the Stress Fight Pad to you computer, press and hold the "BOOT" button, then press "RESET" button on the RP2040-Zero controller.

## Entering GP2040 Web UI

<figure><img src="/files/pjTqHzbtM35CZ6bTQsTD" alt=""><figcaption></figcaption></figure>

1. Press and hold "START" button on the Stress Fight Pad
2. Connect the Stress Fight Pad to your computer
3. The Web UI can be accessed at <http://192.168.7.1/>


# Swoop Keyboard

Vial Firmware

Example GitHub Repo: <https://github.com/beekeeb/vial-qmk-swoop>

### Compiled Vial Firmware

{% file src="/files/4X2KTBHFtyYIxDSVhRoj" %}

### Compiled Vial Firmware for RP2040-based boards

{% file src="/files/YayBd9YWJOAEifyRxdWs" %}

## Quick Build Guide (Wired with Basic Components)

### Diodes

The diodes are directional. Extra flux will be helpful.

<figure><img src="/files/aZHtusvt5OecznQOrQ0R" alt=""><figcaption><p>Bottom of the Left Hand Side</p></figcaption></figure>

### Jumpers

Bridge the jumpers for the microcontroller breakout board. Make sure the correct side is used.

<figure><img src="/files/56xyOJf1MUC3NjDbMcTm" alt=""><figcaption><p>Top of the Left Hand Side</p></figcaption></figure>

### The Microcontroller, TRRS Jack and Reset button

Solder the microcontroller with the pin headers or sockets. Make sure it's the correct side and align the pins correctly. For Sea-Picro, do not solder the D+ and D- pin.

<figure><img src="/files/cejhNDwWzygw6lvBrln9" alt=""><figcaption><p>Top of the Left Hand Side</p></figcaption></figure>

## Test the Key Presses

When you connect the left side to the computer, short the hotswap socket pads to trigger key presses with a wire or a pair of tweezers.

### Solder the Right Side

Repeat the above steps for the right hand side. Test the keyboard by connecting the TRRS cable, and the left hand side to the computer. As a reminder, do not plug/unplug the TRRS cable when the keyboard is powered.

### Hotswap Sockets

After testing both sides, solder the hotswap sockets.

<figure><img src="/files/jzH14tFjp1uzAju0Zga0" alt=""><figcaption><p>Bottom of the Left Hand Side</p></figcaption></figure>

### Final Photos

Although Sea Picro provides 3.3V, the RGB LEDs might still work. It's not guaranteed that the RGB LEDs will always work with 3.3V.  It's recommended to power the RGB LEDs with 3.7V-5V with Sea Micro.&#x20;

<figure><img src="/files/FeC1LZqAkTS7edFdCU6y" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/vacHeEZc5gAWv4l32rK6" alt=""><figcaption></figcaption></figure>


# Thorium Keyboard

The Thorium keyboard is a 34-key ortholinear wireless split keyboard with a dongle receiver, designed by u/note96e.

A detailed build guide and firmwares are also available in<https://github.com/note96e/thorium/blob/main/doc/buildguide.md>&#x20;

<figure><img src="/files/VdQAk47SdCpgD1KrbYYS" alt=""><figcaption></figcaption></figure>

### Photo logs of assembling the case

<figure><img src="/files/dMxIlBs6Q5m7PKmjQQVD" alt=""><figcaption><p>We're going to begin by putting together the right half of the split keyboard.</p></figcaption></figure>

<figure><img src="/files/mooRS7OTCaPEiMLy5FFa" alt=""><figcaption><p>Install the screws to the bottom case</p></figcaption></figure>

<figure><img src="/files/GRBB23KzDBEsiOJ15awx" alt=""><figcaption><p>Due to the design, please refrain from installing any screws into the bottom right opening.</p></figcaption></figure>

<figure><img src="/files/9c0a2yqzOsQLgk9qDiVz" alt=""><figcaption><p>Place the PCB on top of the bottom case.</p></figcaption></figure>

<figure><img src="/files/Ds3RDDV6xwElsq8XS7Ht" alt=""><figcaption><p>Secure the PCB in place by assembling the M2 nuts.</p></figcaption></figure>

<figure><img src="/files/dXJGSWxqXF55j1k4XlEd" alt=""><figcaption><p>Double check the polarity indicated on the PCB</p></figcaption></figure>

<figure><img src="/files/4wrd89kdvUlwJkCzNuAz" alt=""><figcaption><p>Install the battery to the keyboard</p></figcaption></figure>

<figure><img src="/files/i3usTVaWyu3PKpdlg1CV" alt=""><figcaption><p>Place the battery next to the controller</p></figcaption></figure>

<figure><img src="/files/B6Mz91ljgUNwaG1wFvkB" alt=""><figcaption><p>Then we will start to insert the key switches and keycaps to the top plate.</p></figcaption></figure>

<figure><img src="/files/zx8mINBFPHrKiE5yrwPf" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yPNWcRiIo0gBr6pa2tWo" alt=""><figcaption><p>Press the key switches to the PCB</p></figcaption></figure>

<figure><img src="/files/Lw3Ntm5orJ2No4FWj3ow" alt=""><figcaption><p>Place the top case to the keyboard</p></figcaption></figure>

<figure><img src="/files/qZaewFsKFt3YeTZTMTwO" alt=""><figcaption><p>Secure the top case to the keyboard by installing the screws into the bottom case.</p></figcaption></figure>

<figure><img src="/files/oXzOnTO7S6ddujACpg9v" alt=""><figcaption><p>The right side of the keyboard is ready :)</p></figcaption></figure>

### How to enter bootloader mode

In the dongle receiver, please press the RST button twice. A XIAO-SENSE drive will appear.

<figure><img src="/files/uUUAhlWCUIV6TpZluomz" alt=""><figcaption></figcaption></figure>

In the keyboard, you can enter the bootloader mode by pressing the keys (Ref: <https://github.com/note96e/thorium/blob/main/doc/buildguide.md#default-keymap>) or press the RST button twice.

<figure><img src="/files/mOZZGysEwXD1TystqT0k" alt=""><figcaption></figcaption></figure>

####

Source & License: <https://github.com/note96e/thorium>


# Toucan Keyboard

The Toucan (Touch Cantor) shares the same layout as the popular Piantor and Cantor keyboard, but adds wireless connectivity along with a memory-in-pixel display and built-in trackpad.

{% embed url="<https://shop.beekeeb.com/products/toucan-wireless-piantor-wireless-split-keyboard-with-touchpad>" %}

### Quick Start

{% content-ref url="/pages/RnNE0qSzsjjCEfmyXsCx" %}
[Quick Start, Keymap & Firmware](/toucan-keyboard/quick-start-keymap-and-firmware)
{% endcontent-ref %}

### DIY Soldering Photo Guide

{% content-ref url="/pages/FbZKMNSbc9v4FV9OFOXQ" %}
[DIY Soldering Guide](/toucan-keyboard/diy-soldering-guide)
{% endcontent-ref %}

### Case Assembly Photo Guide

{% content-ref url="/pages/5ITLnAsp6QvpVi0GOAW2" %}
[Case Assembly Part 1](/toucan-keyboard/case-assembly-part-1)
{% endcontent-ref %}

{% content-ref url="/pages/mPCOpBQVzDVihEUnrklX" %}
[Case Assembly Part 2](/toucan-keyboard/case-assembly-part-2)
{% endcontent-ref %}

### Battery Specs

{% content-ref url="/spaces/-MipCDWiRJbsrF2klOWK/pages/cnWF1SoV0ypcirPoStHy" %}
[Battery Specs](/toucan-keyboard/battery-specs)
{% endcontent-ref %}

### Upgrades and Maintenance

{% content-ref url="/pages/qxbIjk3oSRtqD9u7NAar" %}
[Upgrades and Maintenance](/toucan-keyboard/upgrades-and-maintenance)
{% endcontent-ref %}

### FAQ

{% content-ref url="/pages/F4nFYXkqzU3ppnqjWFlg" %}
[FAQ](/toucan-keyboard/faq)
{% endcontent-ref %}


# Quick Start, Keymap & Firmware

After assembling the keyboard, or receiving a pre-soldered keyboard, it is possible to start using it without the 3.7V lithium batteries.

{% hint style="info" %}
This keyboard is designed to be as flat as possible. When the USB-C connector is used, because of the cable, it is expected that the keyboard does not sit perfectly flat on the table.&#x20;

Most users use this as a wireless keyboard without an always-connected USB-C cable, so this is not an issue. If you prefer the keyboard to stay flat while USB-C cable is connected, attach taller rubber feet to the bottom case or use a magnetic tenting stand.
{% endhint %}

Connect the left side to the computer with a USB data cable, but not a charging-only cable.

Connect the right side to the computer with a USB data or charging-only cable.

{% hint style="info" %}
For charging, it is recommended to connect the keyboard to the computer. Do not use a power bank to charge the keyboard.
{% endhint %}

The right side connects to the left side via Bluetooth.

You should be able to type now.

## Default Keymap

If you have a pre-soldered Toucan or download the firmware from the Toucan Repo (<https://github.com/beekeeb/zmk-keyboard-toucan>), here is the default keymap

<figure><img src="/files/Dgevh7mnSkyR3A3PLRgZ" alt=""><figcaption></figcaption></figure>

## ZMK Studio

To modify the keymap, [ZMK studio](https://zmk.studio/) can be used. It supports real-time updates, allowing you to apply changes instantly without the need to recompile or flash firmware to the device.

If you require more advanced features, compiling your own ZMK firmware is recommended.

To unlock the keyboard, press the middle key of the thumb cluster, followed by the key in the Z position.

<figure><img src="/files/xtp1jwxdSEWjVYEd4dKw" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/UygQjwOtPjlm7Q0pAo09" alt=""><figcaption></figcaption></figure>

## Keymap Editor by Nick Coutsos

The latest version of Toucan firmware in (<https://github.com/beekeeb/zmk-keyboard-toucan>) also supports using the popular tool [ZMK Keyap Editor](https://nickcoutsos.github.io/keymap-editor/).&#x20;

<figure><img src="/files/SjyMMh7sFqbDAA8kS1Sk" alt=""><figcaption></figcaption></figure>

## ZMK Firmware

It is recommended to compile your own firmware. For your safety, always review, verify and understand the source code before compiling and flashing it.

#### Toucan Repo in GitHub

For your convenient, pre-compiled firmwares can be download from GitHub at <https://github.com/beekeeb/zmk-keyboard-toucan/actions>

Alternatively, a pre-compiled firmware can be downloaded here.

{% file src="/files/DDOLWyq7E3eUw6lrSD9h" %}

{% hint style="info" %}
SHA256 of version f4269af: 976cdb523e7d3bf05e5f68911e76c7b185254c7c32b4f9a2ac347cfc55db0a49
{% endhint %}

#### Toucan with Prospector&#x20;

The [Prospector](https://shop.beekeeb.com/products/pre-soldered-prospector-zmk-dongle) can be used as a ZMK bluetooth dongle (firmware created by Carrefinho <https://github.com/carrefinho/prospector>) or a scanner (firmware created by Ogura san in <https://github.com/t-ogura/zmk-config-prospector>)

<table><thead><tr><th width="126.26171875">Feature</th><th width="305.06640625">Prospector as a ZMK Dongle</th><th>Prospector as a ZMK Scanner</th></tr></thead><tbody><tr><td><strong>Photo</strong></td><td><div><figure><img src="/files/OP8DOdBMnPPdZFvd8Xvs" alt=""><figcaption></figcaption></figure></div></td><td><div><figure><img src="/files/ydXbQ9RAzRprJmZnxpQH" alt=""><figcaption></figcaption></figure></div><p></p></td></tr><tr><td><strong>Connection</strong></td><td><p>The Prospector sits between the computer device and Toucan keyboard. </p><p>The Toucan keyboard connects to the Prospector Dongle via Bluetooth. </p><p>The dongle connects to your computer device via USB-C cable.</p></td><td><p>The Prospector working as a scanner. It doesn't require to connect to your computer device. </p><p>It listens to the "status updates" of your Toucan keyboard and display them in the screen.</p></td></tr><tr><td><strong>Benefit</strong></td><td>Your computer device doesn't require to have bluetooth feature (or sometimes, bluetooth connection is not allowed in the computer for security reasons) to use the wireless Toucan keyboard. </td><td>It acts as an additional display to your Toucan keyboard. Your Toucan keyboard still works if you forget to bring the Prospector with you. </td></tr><tr><td><strong>Firmware</strong></td><td><code>prospector-dongle</code> branch: <a href="https://github.com/beekeeb/zmk-keyboard-toucan/tree/prospector-dongle">https://github.com/beekeeb/zmk-keyboard-toucan/tree/prospector-dongle</a></td><td><code>prospector-scanner</code> branch: <a href="https://github.com/beekeeb/zmk-keyboard-toucan/tree/prospector-scanner">https://github.com/beekeeb/zmk-keyboard-toucan/tree/prospector-scanner</a></td></tr></tbody></table>

## Firmware Flashing

#### 1. Flash the Left Side

Begin by flashing the left-side firmware to one of the Seeed Studio XIAO nRF52840 Plus modules.

* Connect the XIAO nRF52840 Plus to your computer using a data-capable USB cable.
* Double-tap the RST button to enter UF2 bootloader mode.

{% hint style="info" %}
*Note:* The RST button is located on the XIAO module. If the keyboard case is already assembled, gently support the acrylic plate while double-pressing the button located near the USB-C connector.
{% endhint %}

<div><figure><img src="/files/LOw1X3oSUgcBlv2EBPei" alt=""><figcaption></figcaption></figure> <figure><img src="/files/SAJPiFPyjsOARf9UIhHs" alt=""><figcaption></figcaption></figure> <figure><img src="/files/65orkseLqmTPSrD65OUu" alt=""><figcaption></figcaption></figure></div>

* Confirm the Drive: Depending on your operating system, a drive named starting with "XIAO" will mount automatically.
* Copy the UF2 File: Drag and drop (or copy) the left-hand UF2 file into the mounted drive.

{% hint style="info" %}
Troubleshooting the Connection: If the drive does not appear, ensure you are using a data-transfer cable rather than a charge-only cable. If you purchased or received the "beekeeb" branded 2-in-1 USB cable (C-C and A-C), it is recommended for this process. Additionally, check your system settings, as user permission may be required to mount external drives.
{% endhint %}

#### 2. Verification

* The flashing process takes approximately 5–10 seconds.
* <mark style="background-color:$success;">You may see a warning regarding "Disk Not Ejected Properly"; you can safely ignore this.</mark>
* The copied UF2 file will not be visible within the drive after the transfer—this is normal behavior.
* Disconnect the XIAO module and reconnect it. Confirm that the LED flashes twice rather than cycling through a blue-red-green loop.

#### 3. Flash the Right Side

Repeat the steps above for the second XIAO module using the right-hand firmware. After reconnecting the module to your computer, verify that the LED also flashes twice to confirm a successful installation.

## Next Steps

You might want to [install batteries](https://docs.beekeeb.com/toucan-keyboard/case-assembly-part-2), and start making your own keymap.


# DIY Soldering Guide

## Precautions

* This guide serves as a reference for soldering custom keyboards. Before using this guide, users must have proper soldering training and a basic understanding of electronic safety procedures, including the correct handling of lithium batteries. Improper soldering or handling can result in device damage, personal injury, or fire hazards.
* Before beginning any soldering work, carefully read through this entire guide from start to finish. If any section is unclear,  seek advice from us or other experienced builders before proceeding.
* Always verify the battery polarity before making any connection. Connecting a battery with reversed polarity can cause damages to the electronic components, or pose a fire hazard.
* Before any soldering and retouches, disconnect the keyboard from the computer, batteries, or any power supply.
* After any soldering and retouches, wait for the Toucan keyboard PCB to cool down before connecting it to the computer.&#x20;
* Incorrect soldering may cause damage to components or the beekeeb Toucan keyboard PCB.&#x20;
* Ensure soldering temperature and duration are appropriate, and avoid applying excessive heat or pressure to pads and parts.
* Some components, including hotswap sockets and through‑hole parts, may have sharp edges or exposed pins.
* Before connecting the parts to the computer, check for any short circuits. Inspect solder joints and connections carefully to ensure there are no shorts that could cause damage.
* It is recommended to use temperature-controlled soldering iron.
* Wear safety glasses to protect your eyes from splashes and solder spatter.
* Ensure good ventilation or use a fume extractor to reduce inhalation of solder and flux fumes.​
* Keep the workspace clear of flammable materials and solder only on a stable, nonflammable surface.
* Wash hands thoroughly after soldering.

## Firmware Flashing

Flash the left side firmware onto one of the Seeed Studio XIAO nRF52840 Plus.

Connect the Seeed Studio XIAO nRF52840 Plus to the computer using a data cable.

Double press the RST button to put it in the bootloader mode for UF2 flashing.

Depending on your operating system a drive is auto-mounted, or a drive can be mounted. The drive name starts with XIAO.

Copy the uf2 file to the USB mass storage device.

{% hint style="info" %}
If the drive is not shown, check if the USB cable is a data cable, but not a charging-only cable. You can also use the USB 2-in-1 C-C and A-C cable with a beekeeb logo if you have purchased it, or if you have received it.

You might also need to check with user privilege to mount the drive.
{% endhint %}

After about 5-10 seconds, the flashing is completed.

A warning about unsafe drive ejection may be shown, and it can safety be ignored.

It is expected that the copied uf2 file will not be shown in the USB mass storage device.

Disconnecting the Seeed Studio XIAO nRF52840 Plus from the computer, and reconnect it. The LED should blink twice only, instead of looping blue-red-green.

Repeat the above steps for the right side. Flash the right side firmware onto another Seeed Studio XIAO nRF52840 Plus. Disconnecting the Seeed Studio XIAO nRF52840 Plus from the computer, and reconnect it. Again, the LED should blink twice only, instead of looping blue-red-green.

## Controller Soldering

Solder the left controller to the left side PCB (the side with beekeeb logo).

<div><figure><img src="/files/genpZFKi276TEMetL901" alt=""><figcaption></figcaption></figure> <figure><img src="/files/PO8OJQTCuYpjjkTQlx33" alt=""><figcaption></figcaption></figure> <figure><img src="/files/kh8nheGR1pMYLkmk2rwh" alt=""><figcaption></figcaption></figure> <figure><img src="/files/yk80XoPjnjc4bWFR1HT0" alt=""><figcaption></figcaption></figure></div>

Check if there are any cold joints, and shorts.

{% hint style="info" %}
Soldering iron tips such as B, C, BC, K around 2mm can be used.&#x20;
{% endhint %}

{% hint style="info" %}
Even if you use the common rosin core solder wire, you might need to add extra flux. Extra flux help fixing short, or cold joints.
{% endhint %}

{% hint style="info" %}
Use solder wick to remove extra solder if needed.
{% endhint %}

Solder the right controller to the right side PCB (the side without beekeeb logo).

<div><figure><img src="/files/1sXZCBtrE1h8gwRmfhpY" alt=""><figcaption></figcaption></figure> <figure><img src="/files/k23yQVIHDYq8UtTGU3L3" alt=""><figcaption></figcaption></figure></div>

## Diode Soldering

The diodes are directional. Orient the diode according to the photo below. Use a pair of tweezers to pick up the diode and position it for soldering.

<div><figure><img src="/files/Y9EsHGkfSnthooZQaooQ" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Xfs90MdcEvvEVPvuAUxE" alt=""><figcaption></figcaption></figure> <figure><img src="/files/IEsdjDqkni1sPIWvfow6" alt=""><figcaption></figcaption></figure></div>

Solder all diodes (21 diodes) on each side.

{% hint style="info" %}
We’ve made the pads bigger than usual. Bigger pads make hand‑soldering easier and more fun!
{% endhint %}

{% hint style="info" %}
Diodes are small. So, there are spare parts in the kit.&#x20;
{% endhint %}

{% hint style="info" %}
Tinning one of the pads can make soldering easier. Do not tin both pads before placing the diode, because it will be hard to heat both pads with a basic soldering iron.
{% endhint %}

{% hint style="info" %}
If it is hard to see the line on the diode, use a flashlight and try with different angle.
{% endhint %}

## Hotswap Socket Soldering

On the left side PCB (with beekeeb logo), solder 1 hotswap socket near the controller (SW18). The order of soldering does not matter but that key is easy to be tested.

The hotswap socket can be soldered in either direction.&#x20;

The shape is not 100% symmetrical. Optionally, if you prefer a more consistent look, you can orient it according to the silkscreen.

<div><figure><img src="/files/HgmDYKapr3dskfeTGRuF" alt=""><figcaption></figcaption></figure> <figure><img src="/files/NCnNtLydqO03Q5WVDdEx" alt=""><figcaption></figcaption></figure> <figure><img src="/files/eHOwBgcv8F9FG3EYJQXa" alt=""><figcaption></figcaption></figure></div>

Heat the pad and the hotswap socket at the bottom of the hotswap socket, insert solder wire at the bottom. If it is possible, avoid touching the top metal part.&#x20;

{% hint style="info" %}
Soldering iron tips K around 2mm is used in the above photo. Some examples are C245-789, K200, KU, or SK.
{% endhint %}

After soldering, wait for the PCB to cool down.

Check if there are unnecessary shorts.

Connect it to the computer with a USB data cable, but not a charging-only cable.

Trigger a key press by inserting a choc v1 or choc v2 key switches into the hotswap socket. You should be able to see one or more "t" during key presses.

{% hint style="info" %}
Do not install all key switches. Switch plate and foam will be installed between the PCB and key switch.
{% endhint %}

Solder the rest of the hotswap sockets.

For the right side key press testing, the left side is required to be connected to the computer.  The left side acts as the main side, and the right side acts as the peripheral side.

## PCB Nut Soldering

Solder 9 PCB nuts on each side.

<figure><img src="/files/LdoSzYGUXMaGmIQMTgiT" alt=""><figcaption></figcaption></figure>

Use the suitable amount of solder so that the nut is close to the PCB.

{% hint style="info" %}
These M2 PCB nuts are similar to the M2 brass spacers commonly found in other keyboard kits. For people with soldering irons, these PCB nuts are easier to work with because they won't loosen when installing or removing screws.
{% endhint %}

<div><figure><img src="/files/9L0WT7fyIpEaW3OSmcyt" alt=""><figcaption></figcaption></figure> <figure><img src="/files/IdszBRQogPwrcuRue6ZT" alt=""><figcaption></figcaption></figure></div>

Remove the orange-brown films.

{% hint style="info" %}
Use a small hex driver to push the film through the hole if needed.
{% endhint %}

## Display Breakout Board (Left Side) Soldering

Depending on the batch, you may receive either black cables or rainbow cables.

Connect the cable to the Display Breakout Board.&#x20;

Solder the 7P cable onto the keyboard PCB.

### Black Cable

If you have received black cables, follow the photos below.

<figure><img src="/files/iVhtuqWcz6NCojXXSPe7" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/KQ7pEsMwud9yJ0cuV4Y5" alt=""><figcaption></figcaption></figure>

### Rainbow Cable

If you have received rainbow cables, follow the photos below.

<div><figure><img src="/files/X90DTmVUivMGZZbHMfdi" alt=""><figcaption></figcaption></figure> <figure><img src="/files/1v8wY6UcbmvnEdMSaWDU" alt=""><figcaption></figcaption></figure></div>

## Trackpad Breakout Board (Right Side) Soldering

Depending on the batch, you may receive either black cables or rainbow cables.

Connect the 7P cable to the Trackpad Breakout Board.

Solder the 7P cable to the keyboard PCB, matching the connections indicated on the silkscreen.

### Black Cable

If you have received black cables, follow the photos below.

{% hint style="info" %}
It might be easier to solder by rotating the board 180 degrees if you are holding the soldering iron with your right hand.
{% endhint %}

<div><figure><img src="/files/aGiQOrG0tnG7QwhMs76x" alt=""><figcaption></figcaption></figure> <figure><img src="/files/AajLgzq1oq5gmV7zrhSA" alt=""><figcaption></figcaption></figure></div>

### Rainbow Cable

If you have received rainbow cables, follow the photos below.

The actual color of the cable can be different. Please refer to the silk screen on both PCBs.

<div><figure><img src="/files/8XAJza10WKtjsRnYRoRM" alt=""><figcaption></figcaption></figure> <figure><img src="/files/a7ssAGqs29nyJuTuZPoW" alt=""><figcaption></figcaption></figure></div>

## Connect the Trackpad

Connect the trackpad breakout board to the trackpad using the FPC cable.

Make sure the blue side of the cable faces the correct direction on both ends.

<div><figure><img src="/files/PHDjZy7YZx4gmV45PKXp" alt=""><figcaption></figcaption></figure> <figure><img src="/files/xgzL2mKtqfl9VgdiLjSy" alt=""><figcaption></figcaption></figure></div>

## Testing

Connect both sides to the computer using USB data cable. At this point, you are able to use the both sides of the keyboard, with a display and a trackpad.

To make it portable, we will make it compatible with battery-powered.

## Battery Socket and Power Switch Soldering

### Controller BAT+ pin

Solder the Bat+ pin on both left and right sides.

<div><figure><img src="/files/jVm1ZrPS1ZLIX0D9h66H" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Ksp0AvEgVBDo4sMDYI8u" alt=""><figcaption></figcaption></figure></div>

{% hint style="info" %}
You might need to use more flux than you thought.
{% endhint %}

### Battery socket

For the default configuration, the display is on the left side, and the trackpad is on the right side. Do not solder the battery connectors onto the position marked as "ALT".

{% hint style="info" %}
For advanced hobbyists, soldering the battery connector at the "ALT" positions allows installing the trackpad on the left side and the display on the right side.&#x20;

Note that the default 3D-printed case only supports the display on the left side and the trackpad on the right side.

Also, a custom firmware is required.
{% endhint %}

Solder the battery socket according to the silk screen.

<figure><img src="/files/Ykl0wmbssfAAfKBpXs6k" alt=""><figcaption></figcaption></figure>

Carefully check if there are any shorts.

{% hint style="info" %}
Flux and solder wick can be helpful when there are shorts.
{% endhint %}

### Power switch

{% hint style="info" %}
Instead of the commonly used SMD power switches PCM12SMTR/MSK12C01/MSK12C02, a more robust switch and easy-to-solder through hole power switch is chosen.
{% endhint %}

Solder the power switch with the slider pointing outwards.

<div><figure><img src="/files/TK0MU4u2rMxMjt2oXeWh" alt=""><figcaption></figcaption></figure> <figure><img src="/files/O8ybtBlzyGDdsMJfZnRW" alt=""><figcaption></figcaption></figure></div>

Slide the power switch to the OFF side, before connecting/disconnect batteries.

Carefully check if there are any shorts.

## Final

### Left top

<figure><img src="/files/J95h53xXzN9vttRPG8pO" alt=""><figcaption></figcaption></figure>

### Left bottom

<figure><img src="/files/AA1FW4xc3cVvB3RqJS9J" alt=""><figcaption></figcaption></figure>

### Right Top

<figure><img src="/files/Kjlw8mkcATBeRTIPXACl" alt=""><figcaption></figcaption></figure>

### Right Bottom

<figure><img src="/files/ypjjadkdBMdOjMWWs7qi" alt=""><figcaption></figcaption></figure>


# Case Assembly Part 1

If you have a pre-soldered variant, you can skip to Part 2.

## Cable Routing

On both sides, use the small black tape to secure the 7P cable and keep the wires from sticking out.

<figure><img src="/files/YCurkkVvJtInD3lJHivm" alt=""><figcaption></figcaption></figure>

## Bottom Case

Remove all orange-brown films on PCB nuts.

Make sure the 4 holes per side in the 3D-printed case are hollow.

<figure><img src="/files/7jjbd4rW3Gi3EY0rqyxc" alt=""><figcaption></figcaption></figure>

### Install the Power Switch Caps

Fully insert the power switch caps. Make sure it sits above the PCB.

<figure><img src="/files/ec8Tt7D3AQF7cKTgtI1E" alt=""><figcaption></figcaption></figure>

### Slide in the PCBs

<figure><img src="/files/KSFPo9Q4TnXAVQTruvIG" alt=""><figcaption></figcaption></figure>

Be careful with the power switch on the top.

Repeat the steps for the right hand side.

### Fasten the screws

Use short screws M2 x 4mm to secure the PCB and the bottom case. Fasten the screws in a diagonal order.

{% hint style="info" %}
Do not over-tighten the screws.
{% endhint %}

<figure><img src="/files/YLWeH8gaRrkXNNG7JhL1" alt=""><figcaption></figcaption></figure>

## Switch Plate, Foam

Add Switch Plate and Foam.

<figure><img src="/files/DgSOY6sXnufOSCZfBQJa" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Handle the display and 7P cable with care.
{% endhint %}

## Key Switches

Install key switches at the corners, and then the rest.

Some hotswap sockets are rotated by design. Make sure to confirm their orientation before inserting switches. Also, check if the pins of key switches are straight before inserting.

{% hint style="info" %}
Incorrect insertion might damage the hotswap sockets or PCB.
{% endhint %}

If it is hard to install, it is recommended to slide it in from one side at an angle, and gently press the housing near the 2 mounting parts.

<figure><img src="/files/sGGaY3JYWo9x00IDhwnN" alt=""><figcaption></figcaption></figure>

## Pinky Blocker Plates

Remove the protective films of the acrylic plates.

Use long screws M2 x 8mm to secure the plates. Do not over-tighten the screws.

<div><figure><img src="/files/8UvsginlMHuQ8PuGNW8v" alt=""><figcaption></figcaption></figure> <figure><img src="/files/iZEsm8UOkF4hSpXNnzUV" alt=""><figcaption></figcaption></figure> <figure><img src="/files/EyD4hvze404cgA4L7t9X" alt=""><figcaption></figcaption></figure> <figure><img src="/files/m7PIRY9XcWlsxfxhftkJ" alt=""><figcaption></figcaption></figure></div>


# Case Assembly Part 2

Before using this guide, users must have a basic understanding of electronic safety procedures, including the correct handling of lithium batteries. Improper handling can result in device damage, personal injury, or fire hazards.

## Battery Installation

To avoid hazards, use tape to keep the battery from sliding during transport.

If you haven’t picked up a battery yet, take a look at the Battery Specs doc here: <https://docs.beekeeb.com/toucan-keyboard/battery-specs>

{% hint style="info" %}
Only use tapes that are specifically designed for battery securing purposes.
{% endhint %}

Decide the orientation of the battery based on the battery cable length and connector position.

Cut the battery tape according to the battery size.

<figure><img src="/files/yPBP5CTHzzuYPVtDF2uq" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
The darker blue non-adhesive part functions as a pull tab for safely and cleanly removing the adhesive tape in the future.
{% endhint %}

<figure><img src="/files/11yrlUyzgx44EQ28Mobd" alt=""><figcaption></figcaption></figure>

Ensure the tape is attached in a way that leaves the pull tab accessible.

<figure><img src="/files/S0FRlnEYYF5C1rrdpkEJ" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/g85pX1PnYw5KWisvaLdj" alt=""><figcaption></figcaption></figure>

## Left side with Trackpad

Position the battery away from any sharp components or protrusions to prevent punctures.

<figure><img src="/files/fDwKQx9eiqJT5kujRpGE" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jv9rxO1sFahXqBWlWyr1" alt=""><figcaption></figcaption></figure>

Make sure the power switch is in the OFF position.

Connect the battery to the battery socket.

<figure><img src="/files/JcSy06ZyOtWNm4NsEXNx" alt=""><figcaption></figcaption></figure>

Install the display mount. Verify that no objects are pressing against the battery.

<figure><img src="/files/5vC6Pa7hpAnda60s663k" alt=""><figcaption></figcaption></figure>

Install the covers.&#x20;

<figure><img src="/files/VkGpyjewRTbPI2sdm8di" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/yWSwqjPZuu0HMLBwkeo8" alt=""><figcaption></figcaption></figure>

Remove the protective films.

Use 3 long screws (M2 x 8mm) to fasten the display mount. Do not over tighten the screws.

## Right side with Trackpad

Place the battery securely, ensuring there is enough clearance for the trackpad FPC connector and keeping it away from sharp edges or protruding components to avoid punctures.

If you solder it by yourself with a trackpad breakout board, it's recommended to place and secure the little board on the left side.

Make sure the power switch is in the OFF position.

Connect the battery to the battery socket.

<figure><img src="/files/pTYZLJOdhvWQFjyXZHWd" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/SeZEAEGpUkjCYkohccpT" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/KlznyW7l6kR9170AHp9P" alt=""><figcaption></figcaption></figure>

Place the trackpad on top of the 3D printed mount.&#x20;

<figure><img src="/files/lS8ZM4rV0avo3gqGE4W6" alt=""><figcaption></figcaption></figure>

Install the acrylic cover on top of the trackpad.

<figure><img src="/files/LQVQIz5eaKn4P1IDI473" alt=""><figcaption></figcaption></figure>

Slide it under the left edge of the case.

<figure><img src="/files/eEPTFeE5SKBqybnpNmfm" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
Touch and feel the edge of the case.
{% endhint %}

<figure><img src="/files/wy5wkaVQsxljDZAROO7o" alt=""><figcaption></figcaption></figure>

Insert 3 m2x8mm screws. Align the plates and insert the screws fully into place before tightening them with a screwdriver.

Again, do not overtighten the screws.

<figure><img src="/files/BFYL2AhbOyklEgrC0leG" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/0EKGeS1X0djxPS9irgkv" alt=""><figcaption></figcaption></figure>

Confirm if the trackpad mount is at the correct position.

## Bottom Metal Ring

Remove the protective film on the metal rings.

<figure><img src="/files/f5dc4TMCL5UVitSHPr5g" alt=""><figcaption></figcaption></figure>

## Rubber Feet

Attach rubber feet at the corners.

<figure><img src="/files/tV0LrnHeFFF0OgWzSlux" alt=""><figcaption></figcaption></figure>


# Battery Specs

Toucan Keyboard Battery Specs

Let’s begin this guide with something very important. Before purchasing, upon arrival, and before connecting the battery, always confirm the red and black wire polarity. Incorrect polarity may damage your keyboard.

<figure><img src="/files/NL82l6X567ugXYIwDvt3" alt=""><figcaption></figcaption></figure>

Use a lithium polymer battery (3.7 V / 100–400 mAh) with a built-in protection circuit (PCM) and dimensions within 4.3 mm (thickness) × 36 mm (height) × 21 mm (width) (e.g., model numbers 401730, 402030, etc.), equipped with a Molex 51021-0200 (1.25 mm pitch) connector.

Model numbers indicate only the battery’s size. **Connector type** and **polarity** are not included in the model number, so make sure to confirm these separately before purchase. For example, some DTP 402030 batteries are compatible, but HXJNLDC 402030 are not, due to different polarity.

Before purchasing, always check:\
**① Size ② Connector ③ Polarity**

\
If you have any questions about battery compatibility, please send us a link or photo of the battery at <support@beekeeb.com>.

### Specifications

For using Toucan split keyboard in wireless mode, please prepare 2 batteries.

<table><thead><tr><th width="168.0625">Item</th><th>Details</th></tr></thead><tbody><tr><td>General</td><td>Lithium-polymer battery with a built-in protection circuit (PCM)</td></tr><tr><td>Voltage</td><td>3.7 V</td></tr><tr><td>Capacity</td><td>100–400 mAh</td></tr><tr><td>Connector</td><td><mark style="color:red;">Molex PicoBlade 51021-0200 (1.25 mm pitch)</mark> </td></tr><tr><td>Recommend Dimension</td><td><p>Within 21 mm (Width)  × 36 mm (Length) x 4.3 mm (Thickness)</p><p>for example, models 401730 or 402030</p></td></tr></tbody></table>

### Battery Testing Results

**⚠️ Keep sharp objects away from the battery.**\
Placing any sharp objects on top of the battery can puncture it, leading to damage or leaks. In the worst case, this sparks a fire hazard from chemical reactions inside.

#### ⭐️ Recommended Battery

* **401730**
  * Capacity: around 150mAh
  * Max Dimension: 17.5mm (Width) x 32mm (Length) x 4.3mm (Thickness)

<div align="left"><figure><img src="/files/5NTedvaCmyMBv5xQtY8j" alt=""><figcaption><p>Pre-soldered</p></figcaption></figure> <figure><img src="/files/FXf65OTT6AWKHcwRUOEg" alt=""><figcaption><p>DIY</p></figcaption></figure></div>

* **402030**
  * Capacity: around 200mAh
  * Max Dimension: 20.5mm (Width) x 32mm (Length) x 4.2mm (Thickness)

<figure><img src="/files/IlXo4cgLZbAyt3nDZ8Aq" alt=""><figcaption></figcaption></figure>

#### \[Not Recommended] Battery with a Larger Capacity

Larger capacity batteries with the Molex PicoBlade 51021-0200 (1.25 mm pitch) connector are available on the market. However, they require high level of skill to route the wires and position the battery correctly and safely. For this reason, we <mark style="color:red;">do not recommend using them</mark>.

* **402535**

  There is a FPC connector in the trackpad. After installing the battery, please gently push it aside to create space for properly storing the FPC connector.

  * Capacity: around 320mAh
  * Max Dimension: 25.5mm (Width) x 37mm (Length) x 4.3mm (Thickness)

<div><figure><img src="/files/YSCzw0oTgKtgL3Atehbt" alt=""><figcaption></figcaption></figure> <figure><img src="/files/e9Gsdu3brojtz3EVdyGE" alt=""><figcaption></figcaption></figure></div>

* **502035**

  While the keyboard case can accommodate a battery with 5.2mm thickness, the battery may swell over time due to normal aging and cycling. This expansion could press against keyboard components, potentially causing damage or safety hazards. Therefore, we <mark style="color:red;">do not recommend using it</mark>.

  * Capacity: around 300mAh
  * Max Dimension: 20.5mm (Width) x 37mm (Length) x <mark style="color:red;">5.2mm</mark> (Thickness)

<figure><img src="/files/McFoCKt7C51KGF6L8cug" alt=""><figcaption></figcaption></figure>

### Shops / Brands of the Battery

<mark style="color:red;">Disclaimer</mark>: We are not affiliated with any of the shops or brands mentioned below. These batteries were selected based solely on the specifications provided above. We have not tested these batteries ourselves. Customers are responsible for verifying compatibility, polarity, and safety before use to prevent injuries or damages.

If you are not sure if the battery is compatible with the Toucan keyboard, please send the link or photo of the battery to <support@beekeeb.com>. We can do an initial check.&#x20;

<table><thead><tr><th width="142.9921875">Country</th><th width="193.0078125">Model</th><th>Link</th></tr></thead><tbody><tr><td>Canada</td><td>EEMB Lithium Polymer Battery 3.7V 150mAh 401730</td><td><a href="https://www.amazon.ca/-/dp/B08215WQMQ/">https://www.amazon.ca/-/dp/B08215WQMQ/</a></td></tr><tr><td>Germany</td><td><del>3.7 V Lithium Polymer Battery 150 mAh 401730</del></td><td><a href="http://amazon.de/-/-/dp/B0F8LS846W/"><del>http://amazon.de/-/-/dp/B0F8LS846W/</del></a><br>Updated on January 10, 2026: The battery listed on the product page has been changed by the seller and is no longer compatible with the Toucan.</td></tr><tr><td>Germany</td><td>EEMB Lithium Polymer Battery 3.7V 150mAh 401730 Rechargeable Lipo Battery with Molex Connector</td><td><a href="https://www.amazon.de/-/en/Lithium-Polymer-Battery-Rechargeable-Connector/dp/B08HH2VLZ7">https://www.amazon.de/-/en/Lithium-Polymer-Battery-Rechargeable-Connector/dp/B08HH2VLZ7</a></td></tr><tr><td>Japan</td><td>EEMBリチウムポリマー電池3.7 V 150mAh 401730</td><td><a href="https://www.amazon.co.jp/-/-/dp/B08215WQMQ">https://www.amazon.co.jp/-/-/dp/B08215WQMQ</a></td></tr><tr><td>United Kingdom</td><td>EEMB Lithium Polymer battery 3.7V 150mAh 401730</td><td><a href="https://www.amazon.co.uk/-/dp/B08215WQMQ/">https://www.amazon.co.uk/-/dp/B08215WQMQ/</a></td></tr><tr><td>United Kingdom</td><td>3.7V 150mAh 401730 Lipo Lithium Polymer Battery with Molex Connector</td><td><a href="https://www.amazon.co.uk/-/dp/B0CF5BGVP6/">https://www.amazon.co.uk/-/dp/B0CF5BGVP6/</a></td></tr><tr><td>United States</td><td>EEMB Lithium Polymer Battery 3.7V 150mAh 401730</td><td><a href="https://www.amazon.com/-/dp/B08215WQMQ/">https://www.amazon.com/-/dp/B08215WQMQ/</a></td></tr><tr><td>United States</td><td><del>EEMB 3.7V Lithium ion Battery 150mAh 401730 Rechargeable 3.7 Volt Lipo Battery</del></td><td><a href="https://www.amazon.com/-/dp/B0C9QFHPL7"><del>https://www.amazon.com/-/dp/B0C9QFHPL7</del></a><br>Updated on January 26, 2026: The battery listed on the product page has been changed by the seller and is no longer compatible with the Toucan.</td></tr></tbody></table>

*Updated: January 26, 2026*

### Using Toucan Without Batteries

If you do not have a battery yet, you can still use the keyboard by connecting both halves with two USB-C cables to USB power sources.

### \[Not Recommended] Changing the Polarity

If you cannot obtain a battery with the correct size and polarity, but have one with the right size and wrong polarity, you may carefully swap the wires by unlocking the Molex connector using tweezers. Disconnect the wires, swap their positions, and reattach them securely.&#x20;

**⚠️**  However, we strongly do not recommend this, as improper handling can damage the battery, cause overheating, or even lead to fire.

<div><figure><img src="/files/ce8vr7rEHiTHYxvTkVNL" alt=""><figcaption></figcaption></figure> <figure><img src="/files/zN4rj4ykp2SsMQ971dVX" alt=""><figcaption></figcaption></figure></div>


# Upgrades and Maintenance

## Battery Replacement

Detach the battery connector with a connector extractor such as Engineer SS-10. Do not pull the battery wires.

<figure><img src="/files/kZcUa6S5wBJq0sal9AAv" alt=""><figcaption></figcaption></figure>

Gently pull the pull tab of the adhesive tape to release the tape.&#x20;

Never pull the battery out directly, as this may damage the battery wrap.

Do not reuse the adhesive tape.

## Cleaning

## Metal Ring

The metal ring measures approximately 55 mm in diameter.

<figure><img src="/files/u8taqil5AHXla0AJmF2P" alt=""><figcaption></figcaption></figure>

Tenting stand magnetic accessories can be used.

<figure><img src="/files/Wdhc3NGjYWEAJddGZnJw" alt=""><figcaption></figcaption></figure>

<div><figure><img src="/files/40rFtii4brvnpWiKhr68" alt=""><figcaption></figcaption></figure> <figure><img src="/files/QJklRJBeMryCPaip54VL" alt=""><figcaption></figcaption></figure></div>

## Case Design

The PCB outline and screw nut positions can be found below.

{% file src="/files/rCUusQuRSkcQWgPxH5zf" %}


# FAQ

#### Some keys are not responding after inserting the switches into the hotswap sockets.&#x20;

Possible causes include:

* Bent key switch pins: The metal pins on the bottom of the switch may have bent during insertion.
* Poor solder joints or lifted pads: The hotswap socket may have a cold solder joint, or the PCB pad may have detached.
* Defective diode soldering: There may be an issue with the soldering of the diode associated with that specific key.

#### What is the best keymap for a 40% keyboard, like Toucan?

When customizing your keymap, a good way to start is by referencing existing layouts. These can provide a solid foundation for your own personal keymap.

The following links are excellent resources for inspiration:

* [Miryoku](https://github.com/manna-harbour/miryoku): A popular, ergonomic, and minimalistic layout designed to be used across various hardware.
* [Home Row Mods (QMK Guide)](https://precondition.github.io/home-row-mods): A comprehensive guide on using modifiers (Shift, Ctrl, Alt, Gui) on your home row to minimize finger movement.
* [KeymapDB](https://keymapdb.com/): A searchable database of user-submitted keymaps for various keyboard layouts.

#### How do I charge the battery?

You can charge it by connecting the keyboard to your computer. There is no need to remove the battery from the case.&#x20;

{% hint style="info" %}
Toggling the keyboard switches to "on" is required for charging.
{% endhint %}

#### What is the size and weight of Toucan Keyboard?

The weight is around 132g on the left half and 137g on the right half.

<figure><img src="/files/61G713jA1TZsoubVolmA" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/Nfgz8ZAAVw6Hh4ORJ5S6" alt=""><figcaption></figcaption></figure>


# Yampad Keyboard

Vial Firmware

{% file src="/files/BM5IcWT8DI2XsdJTI4TD" %}


# Zerosprey42 Keyboard

<figure><img src="/files/bRQMvPr38nxxJEMrCZTk" alt=""><figcaption></figcaption></figure>

The Zerosprey42 Keyboard is a 42-key, wired, beginner friendly, choc v1 hotswap, MonoBlockSplit (Unibody), column-staggered, DIY low-profile mechanical keyboard. It balances between portability and ergonomics with a sleek case. This is a remix of ebastler‘s [osprey](https://github.com/ebastler/osprey) with a low cost RP2040-Zero.

The development of this project is sponsored by [PCBWay](https://pcbway.com/g/beekeeb) (affiliate link).

## Quick Links

* GitHub Repo: <https://github.com/beekeeb/zerosprey42>
* PCBWay Project <https://www.pcbway.com/project/shareproject/Zerosprey42_Keyboard_23ae2219.html>
* Vial Firmware Github Repo <https://github.com/beekeeb/vial-qmk-zerosprey42>
* ZMK config by tubbytwins <https://github.com/tubbytwins/zmk-config-zerosprey42>

## Build Guide

### Flash the firmware

The precompiled Vial firmware can be found here. It's recommended to compile the firmware by yourself.

{% file src="/files/l5GveN1vf433kQF5anG5" %}

<figure><img src="/files/zyTJIHzLGscKmazYKeAQ" alt=""><figcaption></figcaption></figure>

![](/files/ZGEBVYgqnFLZIXG5YucW)

Connect the RP2040-Zero to the computer. Copy the .uf2 firmware to the RPI-RP2 mass storage device.

After the copy is completed, the drive should unmount itself.

### Solder the MCU and Didoes

<figure><img src="/files/D7GBRk60R5QyLN3R4HCW" alt=""><figcaption></figcaption></figure>

Components are soldered on the bottom side.

Solder the castellated holes of the RP2040-Zero. The left top pin shown in the above photo is not required.

<figure><img src="/files/1Ljr0HwaXBWkmCNFCOLt" alt=""><figcaption></figcaption></figure>

Diodes are directional. Align the bar to the south.

### Test key presses

In Vial, use the Matrix Tester. Short each pad to trigger a key press.

<figure><img src="/files/hpcrrMR45JGcriCaauHU" alt=""><figcaption></figcaption></figure>

### Solder the hotswap sockets

After testing, solder the hotswap sockets.


# Raspberry Pi Pico and Other RP2040 Boards

## Boards with 40P

### Raspberry Pi Pico

![Source: https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html
](/files/z0XfiByMXlnc9cp3yCXx)

* OP Controls the on-board SMPS Power Save pin: GP23
* IP VBUS sense - high if VBUS is present, else low: GP24
* LED: GP25
* 26 GPIO pins: GP0 - GP22 (Digital), GP 26 - 28 (Analog)

### WeAct Studio RP2040 Pico

![Source: https://github.com/WeActTC/WeActStudio.RP2040CoreBoard](/files/Aks9typUL4nnmrTqBcvl)

* Same GPIO: GP0 - GP22
* Extra exposed pin: GP24, GP29
* User Key: GP23
* LED: GP25

### VCC-GND Studio YD-RP2040

![Source: https://vcc-gnd.com/](/files/EaxWtUKIH12BBQYWHLNH)

* Same GPIO: GP0 - GP22, GP26 - GP28
* Extra exposed pin: GP23 (Used in RGB LED), GP29
* WS2812 RGB LED: GP23
* USER KEY: GP24
* LED: GP25

### WaveShare RP2040-Plus

![Source: https://www.waveshare.com/rp2040-plus.htm](/files/17Er6JVDq7anc8a157MA)

* With a battery connector

## Pro Micro Compatible

* Adafruit KB2040
* SparkFun Pro Micro - RP2040 - DEV-18288
* <https://github.com/joshajohnson/sea-picro>
* <https://github.com/plut0nium/0xB2>

Other boards can be found at <https://forums.raspberrypi.com/viewforum.php?f=147&sid=08057f6df74961143c3af132f24eafc3>


# Avalanche v4.2 Photo Build Log

The Avalanche Keyboard is an open source keyboard designed by [vitvlkv](https://github.com/vlkv).

GitHub repo: <https://github.com/vlkv/avalanche>

### Getting the Hardware

You can get the hardware from one of the following links.

* My Etsy Store: <https://www.etsy.com/listing/1231647300/avalanche-v4-v42-40-or-60-split>
* My Shop: <https://shop.beekeeb.com/product/avalanche-v4-keyboard-kit/>
* Gerber Files (if you order the PCBs by yourself): <https://github.com/vlkv/avalanche#gerber-files>

### Flash the Firmware

Flash the following firmware on the both controller breakout boards by QMK Toolbox.

#### VIA Firmware

{% file src="/files/4pmGXJ6bplnDfCFz5PHS" %}

#### Vial Firmware

{% file src="/files/8SUV6oJEHmmFGNru8umb" %}

![](/files/zILS1nbQMTRdWe6Ugf6n)

### Bridge Jumper Pads for OLED Displays and Serial

W1 is for serial. Bridge W1 on the left and right hand side.

For OLED displays, bridge the 4 jumper pads on the top side. Do not bridge them on the bottom side.

![Top of Left and Right Hand Side](/files/LWr6C3aSHq9ysVYjFbjn)

![Top of the Left Hand Side](/files/kEbPcPL4L3XMrrOikdeb)

![Top of the Right Hand Side](/files/vOFk5EGo7SSwo8IqN5ZS)

![Bottom of the Right Hand Side](/files/CyrsanwzIdqd1BU9ofq0)

### Diodes and Controller Board

![Bottom of the Left Hand Side](/files/jnjBdpzRcUMJOTDTfN3x)

![Bottom of the Right Hand Side](/files/zZeTbUjKFwiR1rA9tG8N)

Diodes are directional. Pay attention to the bottom row and the diodes placed horizontally.

![Short pin headers vs standard pin headers ](/files/7ZzLHqqiLnlj0imMsfNK)

Short pin headers or sockets are recommended.

![Top of the Left Hand Side](/files/hy7hyXK8a4odxaXYE6bP)

![Top of the Right Hand Side](/files/krGXSczR6jBsUY8na5sf)

![Top of the Left and Right Hand Sides](/files/5OdPkvNA0FtN8kQaodQ7)

![Bottom of the Left Hand Side](/files/pWDguTIE9g1UPlrXhPox)

![Bottom of the Right Hand Side](/files/ZZ5AZNUnXo4OeO7RpMAh)

Insert the pin headers and controller boards according to the silk screen.

You can test the single side with VIA or a web-based keyboard tester by shorting the hotswap socket solder pads. It's recommended to test all key presses before moving to the next step.

### Reset Buttons and TRRS Jacks

![Top of the Left Hand Side](/files/t5v9uaNQDaWCWCPBB18k)

![Bottom of the Left Hand Side](/files/N4Zzb1fWfYMSDgAuayTO)

![Top of the Right Hand Side](/files/1cE4Oox9YLWPhiAsKx08)

![Bottom of the Right Hand Side](/files/CQpKwg2RSQrlfSwrL7Od)

Now, you can connect the both halves and test if they are sending the right key presses.

### OLED Displays

![Top of the Left Hand Side](/files/SN6kNMQzXnf8EOL4Oeo1)

![Bottom of the Left Hand Side](/files/PDMzBl57GusjcE4rNYmx)

![Bottom of the Right Hand Side](/files/5BbasHLNg5f8sb90FbrD)

The switch is to to enable/disable the power supply for the OLED display and RGB LEDs.&#x20;

Set it to the "on" state, and plug it into the computer. The OLED screen should display some text. If it doesn't work, toggle the switch and reconnect it to the computer. The on state for the left side is the opposite of that of the right side.&#x20;

### Hot Swap Sockets for Key Switches and Encoders

![Bottom of the Left Hand Side](/files/ocG9lYkwJZAfJDHsqsan)

![Bottom of the Right Hand Side](/files/Osu4h016cW661oAQNNRZ)

The switch sockets are directional. Leave the switch slot empty if you decide to use an encoder. Encoders are optional, and you can use at most one encoder on a single side.

![Top of the Left and Right Hand Sides](/files/aELORMA4KqgZHrJWsY0F)

### RGB LEDs

RGB LEDs are optional. Before soldering the RGB LEDs, make sure you have a fully working keyboard.

![RGB LEDs are Directional.](/files/1w3wEkaRME0koYgmgMaI)

RGB LEDs are directional. Align the corner to the silk screen mark.

![Bottom of the Left Hand Side](/files/eTB9ZsTSWuYl95QfiQpo)

Solder the first RGB LED (L7). It should light it when you connect it to the computer.

![Bottom of the Left Hand Si](/files/nzWKikid0QiwpAwIocPE)

Disconnect the keyboard from the computer. Repeat the above step for L8, L9, L10, ..., L38.

An RGB LED is also required when the slot is used for an encoder. Alternatively you can bridge the DIN/DOUT pins.

![Bottom of the Left Hand Side](/files/weelekPlR2mGzn4jrldi)

It's recommended to solder them in order, with 3-5 LEDs each time and test.


# elephant42 Keyboard Photo Build Log

The elephant42 (🐘42) keyboard is a 42-key ergonomic split mechanical keyboard designed by [illness072](https://github.com/illness072). It supports 4 thumb keys, with an aggressively staggered pinky column.

All the RGB LEDs are SK6812mini-e, which are easier to solder.

The keyboard is non-reversible, so it's less likely to make mistakes in soldering.

The official repo and build guide is at <https://github.com/illness072/elephant42>

More information about the firmware can be found at <https://docs.beekeeb.com/elephant42-keyboard-photo-build-log/elephant42-qmk-firmware-with-via>

Here are some photos of my build.

![](/files/feed11QMgjenrKIVUYhH)

### elephant42 Front Side with Per-key RGB LEDs

![Left side (front)](/files/xeWZm40xu9vSZ9L6AT6T)

![Right side (front)](/files/l0Z6AGEutnvi0m8rQvKU)

### elephant42 Back Side with 6 Underglow RGB LEDs on Each Side

![Left side (back)](/files/ejmkSR4lXLcg9eSTnOeQ)

![Right side (back)](/files/awjY0LhMgW4FaOA8G6tj)

### RGB LEDs orientations

The sk6812mini-e corner should be aligned with G (GND).

All the per-key RGB LEDs should face the key switches (front) side, and the underglow RGB LEDs should face the back/bottom side.

![](/files/amDXvdDfNFEYBFSGDJlf)


# elephant42 QMK Firmware with VIA

## Firmware Download

The firmware can be downloaded at <https://github.com/illness072/elephant42-firmware/releases>

or from the following links.

## elephant42 default QMK Firmware

{% file src="/files/6HvwcIUZfbauJ7MngyGU" %}

Flash the `elephant42_default.hex` file with QMK Toolbox. The firmware includes OLED display support by default. The default RGB LEDs are red in color.

## elephant42 QMK Firmware with VIA

{% file src="/files/3L5BTZ4vKZNjkIKQPZxa" %}

{% file src="/files/FwH4n1gWCYzK0EW0yGlN" %}
Recompiled with the latest updates on 2022-07-18
{% endfile %}

{% file src="/files/JhsuwxD1fQNRCht8t2kQ" %}

Flash the `elephant42_via.hex` file with QMK Toolbox. The firmware does not include OLED display support because the firmware size with elephant animation is too big.

### Configure the VIA Software on the Host Computer

The elephant42 is not included in the official VIA repo. So, after connecting the keyboard to the computer, it still shows "Searching for devices...".

![Searching for devices in VIA](/files/Q9HY7WX1EIfCCyKBd5fQ)

To fix this, switch to the Settings tab and enable \`Show Design Tab\`.

![](/files/La3gEz6Dl7pjSxwGUwSm)

In the "Design" tab, select "Load", and choose `via.json` downloaded from <https://github.com/illness072/elephant42-firmware>

![](/files/NPmmiFhlByWTn22Qe7GT)

After that, the keyboard can be configured with VIA.

![](/files/RWBmK9Nzp0DOeGElqRTP)


# Acrylic Case with Fabric Middle Plates for Split Keyboard Installation

## Getting the Hardware

In this page, I’m using the acrylic case kits for Elephant42. You can get the hardware from one of the following links.

* My Etsy Store: <https://www.etsy.com/listing/973943560/elephant42-v10-hotswap-pcb-kit-diy>
* My Shop: <https://shop.beekeeb.com/product-tag/elephant42/>

![](/files/-MjNfAcWrCyEej3op6sB)

* The Acrylic Case Kit for Crkbd v3 (Corne) is available in <https://www.etsy.com/listing/1002900189>

## Installation Guide

This guide assumes you have the basic equipments (a screwdriver) , a soldered Elephant42 split keyboard and the acrylic case kit.&#x20;

### Attach the acrylic cover for OLED display to the PCB

![](/files/-MjNYPjKlOyofzsgaXXb)

![Remove the protected film on the OLED display](/files/-MjNY8y0CvtKdOi8Nosj)

![](/files/-MjNZ5fM307ddw16qyKn)

![](/files/-MjNYmcJ-0E4WAUDE2eT)

![](/files/-MjNZPtAW2nzINSQHhdH)

![](/files/-MjNZSsLhzWgvyWAlf8z)

![](/files/-MjN_ONHI4R6pleAfbUL)

### Prepare the top acrylic plate

![](/files/-MjNcFEZU0I2W9ZiKVFG)

![](/files/-MjNcJz67Z0ZUgtpd-t8)

![](/files/-MjNcQ409NAWgLzMOVRj)

### Add the fabric middle plates on top of the PCB

![The fabric / foam is placed between the top acrylic plate and PCB. ](/files/-MjNcVOtq7E_AmE5sa6F)

![](/files/-MjN_g5lMqUeW1Tdn9sW)

![](/files/-MjNccoSmBfVInMJXAU6)

### Attach the bottom acrylic plate to the board

![](/files/-MjNcxaB9XiWTbl_5o4u)

![](/files/-MjNd0mbNJwlo340pY0L)

![](/files/-MjNd56d_4ZAKJC8N5hY)

### Add the rubber feet to the bottom plate

![](/files/-MjNdJQb-IUaQsqJNuPh)

![](/files/-MjSdjEtJV8HAgEdBXba)

## Best Practice

### TRRS Cable

If it is a split keyboard, please connect both sides using the TRRS cable before giving power to the keyboard to prevent short circuit.

![](/files/-MjNe-OqMjsLv0R15wxJ)

![](/files/-MjNexjFHS48iQX7sOSH)


# Redox v1 (rev 1.0) Build Log

GitHub Repo: <https://github.com/mattdibi/redox-keyboard/tree/master/redox>

### Flashing a Firmware

VIA with MASTER\_LEFT (USB cable is connected to the left hand side)

{% file src="/files/uJW2EBGJDif9JsgyQVUs" %}

VIA with MASTER\_RIGHT (USB cable is connected to the right hand side)

{% file src="/files/jRNaBRi0hBb71gcdueB6" %}

### Soldering the Left Hand Side

### Soldering the Right Hand Side

### Keyboard Testing

If you use VIA, the VIA software includes a KEY TESTER tab.

### Optional RGB LEDs

If you use RGB LED, you will need to keep the current serial connection instead of i2c.

#### MASTER\_LEFT

If you use MASTER\_LEFT, you will need to connect the left hand side to the computer.

#### MASTER\_RIGHT

If you use MASTER\_RIGHT, you will need to connect the right hand side to the computer.

### Optional: Use I2C instead of Serial

If you do not use RGB, you can use i2c. On either left hand side or right hand side, solder the two 4.7k ohm resistors. You will need to use a firmware that is configured to use i2c instead of serial.&#x20;


# Sofle RGB v2.1 SofleKeyboard Photo Build Log

## Project Files

* KiCAD: <https://github.com/josefadamcik/SofleKeyboard>
* QMK: <https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle>
* Official Build Guide: <https://josefadamcik.github.io/SofleKeyboard/build_guide_rgb.html>

## Getting the Hardware

You can get the hardware from one of the following links.

* My Etsy Store: <https://www.etsy.com/listing/1026250275/sofle-rgb-v21>
* My Shop: <https://shop.beekeeb.com/product/sofle-rgb-v2-1-pcb-kit/>
* Gerber Files (if you order the PCBs by yourself): <https://github.com/josefadamcik/SofleKeyboard/tree/master/Gerbers/RGB>

## Firmware

### VIA Firmware with 72 RGB LEDs Enabled

{% file src="/files/-MiqFzsWb5ZTsG3rGipn" %}
VIA Firmware
{% endfile %}

This is a firmware modified from the v1 VIA firmware with the following lines added to the `config.h`

```
#define RGBLED_NUM 72
#define RGBLED_SPLIT {36,36}
```

### VIA Firmware with 72 RGB LEDs Enabled (with SPLIT\_USB\_DETECT)

SPLIT\_USB\_DETECT is required for some of the pro micro boards.

{% file src="/files/KBdmNJQHfvWoSmKFtH56" %}

### Official QMK Firmware with 70 RGB LEDs

Also, check out another example with RGB Matrix at <https://github.com/qmk/qmk_firmware/tree/master/keyboards/sofle/keymaps/rgb_default>

## Build Guide

This guide assumes you have some keyboard soldering experience. There are multiple ways to build the Sofle RGB Keyboard v2.1. Here is a build with 72 RGB LEDs, two rotary encoders, and two OLED display modules.

### Flash the Firmware

Flash the two Pro Micro Controllers or USB Type-C Controllers with [QMK ToolBox](https://github.com/qmk/qmk_toolbox).

### Flippable Board

The Front side is for the pro micro controller boards, OLED display modules, TRRS jacks, reset buttons, rotary encoders.&#x20;

The Back side is for the diodes and Kailh MX switch hotswap sockets.

There are RGB LEDs on both sides.

### Bridge the Solder Pads for OLED Display Modules

![](/files/-MitpQqsSjDP_kE3KGYs)

![](/files/-MitpoZQANMYqBLgyVDx)

On the Front Side, bridge the 4 solder pads on left hand PCB and right hand PCB.&#x20;

### Solder the Diodes

Flip to the Back side, solder all the diodes on both sides. Diodes are directional.

![](/files/-Mitr1f1vmAFmT1TIIYH)

A common mistake is, we miss the diode near the rotary encoder.

![do not bridge the solder pads on the back](/files/-MitrDKonreAT9wB47Jb)

&#x20;The OLED solder pads should NOT be bridged on the Back side.

![](/files/-MitrLLcHpYGyk-72yJh)

All the diodes are soldered.

### &#x20;Microcontroller Breakout Board

#### USB Type-C (ShiroC)

![](/files/-MitrRAmrEEVrb7UMyH5)

![](/files/-MitrXYHZysrTD7GQ6oS)

Align the two controllers according to the silkscreen outline. The boards should be mounted with the components facing down.

#### Pro Micro

![](/files/-MitrcvCeBqXhAg_35iQ)

The same applies to a generic pro micro controller board.

#### For Either Controller Boards

![Back Side](/files/-Mitrgk136Kblnos0WBq)

The back side should look like this.

### Testing the Keyboard

You now have a minimally working, single-sided keyboard.&#x20;

![](/files/-MitrvG36ZBtQypDwbxD)

If you connect the left side, or the right side to the computer, and short the hotswap solder pads (front or back), you should be able to enter some keys.

### Kailh Hotswap Sockets

![](/files/-Mits1T27EFyluiD0IMw)

Solder the hotswap socket according to the silkscreen. A common mistake is to mount it 180 degree rotated.

![](/files/-Mits6drW877tSmati0a)

Make sure the sockets stay flat.

![](/files/-MitsFGnLPNA00GXfzB5)

Solder the rest of the sockets.

### TRRS Jack and Reset Button

![](/files/-MitsK9RFW9C44D7c1lV)

### OLED Display

![](/files/-MitsNYLjwYWDFRH01iD)

### Rotary Encoder

If you plan to add the RGB LEDs, you should skip this step and move this to the last.

![](/files/-MitsTIiHT6C-dvmlV_F)

### RGB LEDs for the Right Hand

![](/files/-Mitsdo5keMaMJcWDPfT)

Bridge "IND", "UND\&BL", and "ENA" on the back side.

![](/files/-MittkDP1SGPfPM3xKEj)

![](/files/-MitslWzBhqDpnTywX5f)

Set the soldering iron to a low temperature (around 280°C or 530°F). Extra flux is helpful. Start with the indicator LED. See [RGB LED Orientation](/build-guide/sofle-rgb-v2.1-soflekeyboard-build-log-guide-with-photos/extra-photos-for-soldering-the-rgb-leds) and the ordering at the [Official Build Guide](https://josefadamcik.github.io/SofleKeyboard/build_guide_rgb.html).

![Droplight](/files/-Mittrf47hJT1NGMyXpV)

Flip to the Back side and solder the second RGB LED.

![](/files/-Mitu2hvYVrqWNguKGFr)

![](/files/-Mitu5TyGTV8IgILQYQW)

![](/files/-Mitu8LnH8V6LK4OUTLT)

![](/files/-MituAsPofl-argz-1Wn)

![](/files/-MituDJF5Ys6TCxsVY2q)

Complete the 6 droplight RGB LED. And start with the per key lighting.

![First per key lighting](/files/-MitujZ_cGq4EVpGDs3Y)

![Testing the first per key lighting](/files/-MituQ0ZdXtQyO0EKq4i)

![](/files/-MituXVR-skyfIv8tWSm)

![](/files/-MituzugDte3Hduh_ips)

![](/files/-MitvyGTZqV2xFL3ghVB)

![](/files/-MitwM2LXVx0OcO8Qlv9)

### RGB LEDs for the Left Hand

![](/files/-MitxKPJTyIj8G0o_NWi)

Bridge "IND", "UND\&BL", and "ENA" on the back side.

![](/files/-MiqET8o-KjOpleRjWmQ)

![](/files/-MiqEXIBM4NVVLzuDQ-q)

See more photos for the [RGB LED Orientation](/build-guide/sofle-rgb-v2.1-soflekeyboard-build-log-guide-with-photos/extra-photos-for-soldering-the-rgb-leds).

## Fully Soldered

![](/files/-Miu--7gYx1z9TYnhvbq)

![](/files/-Miu-6Ug-FLaJrB1sK8e)

####


# Extra Photos for Soldering the RGB LEDs

There are two circles at the light emitting side. The smaller circle should be aligned with the silkscreen marking on the soldering side.

## Left Hand PCB

### Indicator

The small circle faces South.

![Front](/files/-Mit2dQRCiyXfsB6bB-o)

### Droplight (Underglow)

There are 6 LEDs. They do not have the same orientation.

Top Row: South - North - South

Bottom Row: North - North - North<br>

![Back](/files/-Mit3LJ2tgYpS-3J7bJh)

### Per-key

The small circle faces North.

![Front](/files/-Mit3YxD0wd4W4dYf5ye)

## Right Hand PCB

### Indicator

The small circle faces North.

![Front](/files/-Mit3bDUzfntQHXZnveh)

### Droplight (Underglow)

There are 6 LEDs. They do not have the same orientation.

Top Row: North - South - North

Bottom Row: South - South - South

![Back](/files/-Mit3eYuowrKKDBu_PXf)

### Per-key

The small circle faces South.

![Front](/files/-Mit3isTzwvYcDKc9Uvo)


# REVIUNG41 Case Installation

Photo logs of installing REVIUNG41 keyboard case

## Getting the Hardware

In this page, I’m using the FR-4 plate and acrylic bottom plate case kit for REVIUNG41. You can get the hardware from one of the following links.

* DIY REVIUNG41 Kit: <https://shop.beekeeb.com/product/reviung41-hotswap-diy-mechanical-keyboard-pcb-set-kit/>
* Pre-soldered REVIUNG41 Keyboard: <https://shop.beekeeb.com/product/pre-soldered-reviung41/>

<figure><img src="/files/cPUOGKyGKJNJBxFaYTu1" alt=""><figcaption></figcaption></figure>

## Installation Guide

This guide assumes you have the basic equipments (a screwdriver) , a soldered REVIUNG41 keyboard and the case kit.&#x20;

### Secure the spacers to the PCB for adding MCU cover

![](/files/X3wCgMrXqCrNT9iWnyAp)![](/files/ZDjXo361ewBEIXCaggeQ)

### Install the key switches to the top plate

Make sure the pins/ legs of the key switches are not bent before inserting to the top plate.

<figure><img src="/files/ffX6oETznhch5hlynVZL" alt=""><figcaption></figcaption></figure>

### Attach the top plate to the PCB

Hold the hotswap sockets and gently insert the key switches.

<figure><img src="/files/qLL9CakltXlDaRIxcdCt" alt=""><figcaption></figcaption></figure>

![](/files/TRRG2Z1ltyH8fyE1hSno)![](/files/u1paqpUVkiXhl37AAsBK)

Before moving to the next step, please test each key press in VIAL to ensure all of the key switches are installed successfully.

### Install the MCU cover

<figure><img src="/files/uFiZ9NxxQPdhSzwzm7q9" alt=""><figcaption></figcaption></figure>

### Prepare the bottom acrylic plate

<figure><img src="/files/c08CtY6chwGYBdGMxQP1" alt=""><figcaption></figcaption></figure>

### Attach the bottom plate to the keyboard

![](/files/sb3jJRKlLcL0mXb2kdlz)![](/files/W42Kke95Nuz5WtyR29ii)

### Add Donut Silicone Rubbers to the bottom plate

<figure><img src="/files/0DhukllUlUjp8hAVZr0U" alt=""><figcaption></figcaption></figure>

### Complete!

It's time to add keycaps to the keyboard :clap:

<figure><img src="/files/2o1mJMZN3QMFsbjp7tW5" alt=""><figcaption></figcaption></figure>


# TOTEM Case Installation

The [pre-soldered wireless TOTEM](https://shop.beekeeb.com/product/pre-soldered-wireless-totem/) is pre-flashed with ZMK firmware with the [default keymap](https://github.com/GEIGEIGEIST/zmk-config-totem).

Recommended battery with JST connector: <https://www.adafruit.com/product/1570>

<mark style="background-color:red;">**Warning: After attaching the key switches to the PCB using the top case, it will no longer be possible to insert the battery into the keyboard without removing the case. Therefore, please remember to insert the battery first.**</mark>

### 1. Insert the battery into the JST socket

Prior to installation, ensure that the polarity is correct. <mark style="background-color:red;">Align the red wire with the Red+ silk screen</mark> for proper orientation.

<figure><img src="/files/BGru90wuS1hb6q4ii6x7" alt=""><figcaption></figcaption></figure>

### 2. Test the Bluetooth connection

Turn on both sides of the keyboard and connect them to your device via Bluetooth. Verify if your computer can successfully register at least one key press from each side of the keyboard.

<figure><img src="/files/9vOSBfbpMe4qDxEThUPn" alt=""><figcaption></figcaption></figure>

### (Added on Sep 23, 2024) Make sure you put the cap on the power switch before attaching the top case to the PCB

After the case is installed, the power switch may become difficult to reach due to its short length. The cap extends its length, making it easier to access with your finger. Additionally, the cap helps prevent the power switch from breaking.

<figure><img src="/files/DTpo0t7VJp5oro4fNWQ6" alt=""><figcaption></figcaption></figure>

### 3. Attach the key switches to the PCB using the top case

<figure><img src="/files/oJhEYTqQeP1JE8k7IyPJ" alt=""><figcaption></figcaption></figure>

Ensure that the legs of the key switch are inserted into the hotswap sockets instead of the "gold rings".

<figure><img src="/files/hpX3PeV58E8Hty8cj6WG" alt=""><figcaption></figcaption></figure>

### 4. Test the key presses for each key

It can be tested in <https://www.keyboardtester.com/tester.html>

### 5. Secure the top case and bottom plate by screwing them together.

### 6. The default keymap of TOTEM

ZMK Firmware: <https://github.com/GEIGEIGEIST/zmk-config-totem/tree/master>

<figure><img src="/files/PhlpyuWIR1JGEoZyFyEl" alt=""><figcaption><p>Generated by keymap-drawer created by Cem Aksoylar</p></figcaption></figure>


# Prospector ZMK Dongle Photo Build Log & Firmware

Prospector is a desktop ZMK dongle with full color LCD screen designed by [carrefinho](https://github.com/carrefinho/prospector). In this photo build log, I have included 2 different ways to build the Prospector.

The Prospector DIY kit is available in <https://shop.beekeeb.com/products/zmk-wireless-dongle-prospector-diy-kit>&#x20;

{% embed url="<https://shop.beekeeb.com/products/zmk-wireless-dongle-prospector-diy-kit>" %}

<figure><img src="/files/RyBtkRx1rtXkbjoTBZIy" alt=""><figcaption></figcaption></figure>

## The Handwired Way (Original)

The creator of Prospector has also created a beautiful and detail assembly manual in <https://github.com/carrefinho/prospector/blob/main/docs/prospector_assembly_manual.jpg>&#x20;

The original way uses the cable provided in the Waveshare LCD Module.

<figure><img src="/files/GDZtA66aeFBUSajNHHFu" alt=""><figcaption></figcaption></figure>

### Step 1: Use a micro nipper to remove the DuPont connectors. &#x20;

<figure><img src="/files/f5nFWFHLvHywY21zy9v0" alt=""><figcaption></figcaption></figure>

### Step 2: Solder the cables to the XIAO nRF52840 controller

<figure><img src="/files/fcrSUeWvXBhkriHWD3dt" alt=""><figcaption></figcaption></figure>

### Step 3: Insert the connector to the LCD screen

<figure><img src="/files/RSZMR8hOiJdpMjmqWlR2" alt=""><figcaption></figcaption></figure>

### The Issues that I Ran Into

Directly soldering wires to a circuit board results in weak and unreliable connection.\
Although there is no pull stress, movement of wires can break the solder joints.

<div align="center"><figure><img src="/files/WUjDQxiSqAQoQBIHJahG" alt=""><figcaption></figcaption></figure></div>

In my first build, I have been using the prospector ZMK dongle for a few days. Here is my first prospector build. One of the wires is slightly melt. One day, the dongle no longer works. One of the solder joints is broken inside the dongle. :cry:

<figure><img src="/files/VbjAFWbg25eZ8Is4uzVv" alt=""><figcaption></figcaption></figure>

## The Connector Board Way

After that, I put together a connector board using JST GH connectors. This small additional PCB should allow you to easily connect the 1.69-inch LCD display to the XIAO controller with appropriate connectors. Since I am not using the ambient sensor, I did not include the connection for the Adafruit APDS9960. Soldering the XIAO onto this PCB is generally simpler than soldering each wire individually. Below are some photos from the assembly process.

<figure><img src="/files/Hxr4PyxX4qDFKUZGrGsz" alt=""><figcaption></figcaption></figure>

### The Materials

All of them (excluding the screwdriver and tweezer) are included in the DIY kit. The connector board and a ribbon cable are added to the DIY kit.

<figure><img src="/files/hwEVGiJKVYA0Ye5PBIzJ" alt=""><figcaption></figcaption></figure>

### Step 1: Soldering the controller to the connector board

Check if the orientation is correct before soldering.

<div><figure><img src="/files/7bv0kIzD7sIM0ciA068J" alt=""><figcaption></figcaption></figure> <figure><img src="/files/LTm2ehqgCT76Aa3NTqpa" alt=""><figcaption></figcaption></figure></div>

### Step 2: Prepare the top case

Assemble the screws to attach the 2 part of the case.

<div><figure><img src="/files/45H6xffAuWsjrK0rh8Fi" alt=""><figcaption></figcaption></figure> <figure><img src="/files/giBswNPU2yocWu9xpFT4" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Tf4RhRK7MebQHb30W1Lt" alt=""><figcaption></figcaption></figure> <figure><img src="/files/wDe5m2kMJuW9vJwFHGpJ" alt=""><figcaption></figcaption></figure></div>

{% embed url="<https://youtu.be/RNhSZ6WTRDI>" %}

<figure><img src="/files/HqLlZIpduZoMrZVp26OX" alt=""><figcaption></figcaption></figure>

### Step 3: Insert the connector of the ribbon cable to the LCD monitor

<div><figure><img src="/files/Fv0efArMV64dm1z3f06i" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Fgj52ciZg13DhZr6BA1I" alt=""><figcaption></figcaption></figure></div>

### Step 4: Assemble the LCD monitor to the top case

Removing the protectors

<figure><img src="/files/3TzC9yufzjmtq8o3WplS" alt=""><figcaption></figcaption></figure>

The orientation

<div><figure><img src="/files/3aZnaWdAqHuXCfpssYaS" alt=""><figcaption></figcaption></figure> <figure><img src="/files/nDUhBjhb9a14JiID4HrZ" alt=""><figcaption></figcaption></figure> <figure><img src="/files/utTKbEJBnvWfLpdfFcdf" alt=""><figcaption></figcaption></figure></div>

{% embed url="<https://youtu.be/GzDBR3kpwkA>" %}

Tight the screws to secure the monitor to the case

<div><figure><img src="/files/TzacNcgTs6F85AdxKlnv" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Q7K1ow6KUL8bHnLTgulL" alt=""><figcaption></figcaption></figure></div>

### Step 5: Insert the connector of the ribbon cable to the controller

<div><figure><img src="/files/6CqJe5jLGGTode4rJp0q" alt=""><figcaption></figcaption></figure> <figure><img src="/files/LtBaDzurdZv24uL6giT1" alt=""><figcaption></figcaption></figure> <figure><img src="/files/rasE0tTB33OxTGrGEf5u" alt=""><figcaption></figcaption></figure></div>

### Step 6 (The last step) - Assemble the bottom case

Insert the controller to the bottom case.&#x20;

<div><figure><img src="/files/qbE07e1eDbvfkzZYHDLn" alt=""><figcaption></figcaption></figure> <figure><img src="/files/Lj1X13AauZdDMnakP2Fv" alt=""><figcaption></figcaption></figure></div>

Because the cable is a long, we need to rotate the ribbon cable in order to store it inside the case.

<div><figure><img src="/files/KNU4g8ekPkT8NYeZluq5" alt=""><figcaption></figcaption></figure> <figure><img src="/files/QSRXX6krqUCzb2vakum1" alt=""><figcaption></figcaption></figure></div>

Finally, insert the screws to secure the bottom case to the top case.

<figure><img src="/files/gCpV2EHAQLIsNVKo6J07" alt=""><figcaption></figcaption></figure>

### Done ☀️

<figure><img src="/files/FzM37EAA4GseNJr53nBI" alt=""><figcaption></figcaption></figure>

Power the dongle by connecting it to the computer

<div><figure><img src="/files/9j1vYDEUoYeeFh5syIM0" alt=""><figcaption></figcaption></figure> <figure><img src="/files/JUEi12KZVg8UvDI2NTJs" alt=""><figcaption></figcaption></figure></div>

The Prospector DIY kit can be found in <https://shop.beekeeb.com/products/zmk-wireless-dongle-prospector-diy-kit> . In case you don't have any soldering tools, the pre-soldered Prospector ZMK Dongle is also available in my store. Hope you like it :smile:

{% embed url="<https://shop.beekeeb.com/products/zmk-wireless-dongle-prospector-diy-kit>" %}

### Firmware

Please check the blog post below about How to add dongle and prospector support to ZMK keyboards

<figure><img src="/files/sWas4UAs7Ns1KyPbUKAe" alt="" width="375"><figcaption></figcaption></figure>

{% embed url="<https://beekeeb.com/how-to-add-dongle-and-prospector-support-to-hshs52-hshs46/>" %}


# How to Install display, battery and Test the Wireless Corne Keyboard

The installation and testing of the displays, along with the insertion of the batteries into the keyboard using the JST sockets, will be covered in the process.

This guide is applicable to the **Corne Wireless** keyboards (MX / Choc / KS-33), as well as the latest version of pre-soldered **Chocofi Wireless** keyboard.

* Pre-soldered Wireless Corne Keyboard: <https://s.beekeeb.com/wcrmx>
* Recommended battery with JST connector (401230):&#x20;
  * US: <https://www.adafruit.com/product/1570>
  * Australia: <https://ecocell.com.au/product/lipo-130-401230/>
  * Germany: <https://www.berrybase.de/lp-401230-lithium-polymer-lipo-akku-3-7v-100mah-mit-2-pin-jst-stecker>

**Full Video Guide**

{% embed url="<https://www.youtube.com/watch?v=odSRhfHSCSw>" %}

### **Step 1: Getting the displays**

Place the anti-static box on a flat surface with the black side facing down and the clear side facing up. Carefully open the box.

<figure><img src="/files/f47reJvclALhG02uHlJW" alt=""><figcaption></figcaption></figure>

### Step 2: Installing the displays to the PCB

Gently insert the display into the display sockets of the PCB.

<figure><img src="/files/pREtBe7uYsNd2IlPfmIQ" alt=""><figcaption></figcaption></figure>

### Step 3: Testing display

Test the display by connecting it (left and right separately) to the computer before inserting batteries.

<figure><img src="/files/xM7hYxtgEBh8zwXp7Qc1" alt=""><figcaption></figcaption></figure>

### Step 4: Inserting the battery to the JST socket

Place the battery underneath the controller and connect the battery connectors to the sockets, ensuring the correct polarity. **Align the red wire with the Red+ silk screen.**

<figure><img src="/files/XBmFFsSlBMcWoreZGwaf" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/HyEXvgRiNcZ0dRutqqZy" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/1Z9oOZ9Ds9JBj5KhvvXY" alt=""><figcaption></figcaption></figure>

### Troubleshooting 1: My nice!view doesn't display any graphics after flashing a custom firmware.&#x20;

To resolve the issue of the nice!view not displaying graphics after flashing a custom firmware, you will need to enable the `nice_view` and `nice_view_adapter` features in your custom ZMK firmware.

Example: <https://github.com/beekeeb/zmk-config-corne-chocofi-with-niceview/blob/main/build.yaml>

```yaml
include:
  - board: nice_nano_v2
    shield: corne_left nice_view_adapter nice_view
  - board: nice_nano_v2
    shield: corne_right nice_view_adapter nice_view 
```

### The firmware pre-flashed in the pre-soldered wireless keyboard

The pre-soldered wireless Chocofi or Corne 36-key keyboard with nice!view is pre-flashed with miryoku ZMK firmware. (Ref / Keymap: <https://github.com/manna-harbour/miryoku_zmk>)

The pre-compiled firmware:

{% file src="/files/WiWmKGlB5AQMaG7a3GF6" %}

{% file src="/files/q2P2K9OW4SkuvhyjtHPW" %}


# Installing a Battery to the Ferris Sweep v2

Disclaimer: This guide is for educational purpose. This site is not responsible for damage or losses that may occur from use of this material. This guide might contain outdated or incorrect information.

You should consult a local electrician, technical, or drone repair shop to install a battery for you if you are not experienced in soldering.

Incorrectly connecting a battery might cause fire or explosion. Double check with the polarity. Please also read the nice!nano documentation at <https://nicekeyboards.com/docs>, and the sweep keyboard documentation at <https://github.com/davidphilipbarr/Sweep> first.

### Board

Nice!nano v2 and sweep v2.2 are used in this guide. Other boards might not be the applicable.

### Left Hand

On the main PCB, according to the silk screen, the B- solder pad is near the key switches, and the B+ is away from the key switches. Check with the polarity carefully.

![Back side of the left hand](/files/xH2PaLHGcjKBVK7gznof)

It's recommended to set it as "off" at the power switch when you solder, as shown in the above photo.&#x20;

The battery cables can be installed on either front or back side. I've installed it on the back side. If you want to install it on the front, you might need to skip the TRRS jack.

![Storing a battery under the micro controller](/files/aaCK89EDwYelMZWi8xQ7)

When you install the micro controller breakout board nice!nano v2, make sure the socket pins won't damage the battery.

![](/files/aptegvWw86FkFWyOgzzc)

### Right Hand

On the main PCB, similar to the left hand, the B- solder pad on the main PCB is near the key switches, and the B+ is away from the key switches.&#x20;

![Back side of the right hand.](/files/m4sbDraiBRCbUauORzt5)

###


# Adding nice!view to a Keyboard with a 4-pin OLED Compatible Shield with a Hidden Wire

<figure><img src="/files/cRGZYWuMdFqDYKnFYcVC" alt=""><figcaption><p>nice!view on a chocofi</p></figcaption></figure>

## Steps

Connect a wire from the 006 pin (P0.06/006) of the nice!nano, to the CS pin of the nice!view.&#x20;

The other 4 pins of the nice!view are connected to the OLED pins on the main board.

<figure><img src="/files/dedqWSDEr29ZzNc6JNqy" alt=""><figcaption><p>006 pin of the nice!nano</p></figcaption></figure>

<figure><img src="/files/7edd8AmQJtBjr9nIoEYC" alt=""><figcaption><p>CS pin of the nice!view</p></figcaption></figure>

<figure><img src="/files/s1j3oMCQwBDhGAHKymqT" alt=""><figcaption></figcaption></figure>

Use a wire with suitable length. The wire can be hidden below the display.

### More Photos

![](/files/l7FF3T7rLlK1k2tYOq0K)

![](/files/kxyqDA0BSoPHTv48TvSU)

### Further Readings

* [The official nice!view documentation](https://nicekeyboards.com/docs/nice-view/getting-started)
* <https://shop.beekeeb.com/product/nice-view-with-sockets-power-saving-display-for-wireless-split-keyboard/>


# How to Flash a Firmware to USB-C Controller

## Getting the Hardware

![](/files/Am42N3WWEWDJpJaKLDRP)

* USB-C controller
* Wire or Tweezer
* USB-C cable for connecting to computer

## Steps

### Download and install QMK toolbox&#x20;

QMK ToolBox:  <https://github.com/qmk/qmk_toolbox>

### Enter DFU (Bootloader) Mode

Connect the USB-C controller to the computer&#x20;

Use the wire or tweezer to bridge the GND and RESET pin

![](/files/OzXn21zq3IoFEYJbvhIv)

After entering bootloader mode, the following message will be displayed in QMK Tool. You can start flashing the firmware to the controller.

![](/files/tUcdaIcwYqSChHErKL2k)


# How to Flash a Firmware with OpenOCD

This is a guide for flashing images for Redox Wireless rev2.0WHS. This should apply to other similar keyboards that uses nRF51.

Clone or download the precompiled images at <https://github.com/mattdibi/redox-w-firmware>

Connect a programmer to the board pin header with 3.3V, GND, CLK, IO.

Run&#x20;

```
openocd  -f interface/cmsis-dap.cfg  -f target/nrf51.cfg
```

Replace `interface/cmsis-dap.cfg` according to the programmer you use. For example, if you use an ST-LINK/V2, you should use `interface/stlink-v2.cfg`.

The terminal should show&#x20;

```
Open On-Chip Debugger 0.11.0
Licensed under GNU GPL v2
For bug reports, read
	http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "swd". To override use 'transport select <transport>'.
Info : Listening on port 6666 for tcl connections
Info : Listening on port 4444 for telnet connections
Info : CMSIS-DAP: SWD  Supported
Info : CMSIS-DAP: JTAG Supported
Info : CMSIS-DAP: FW Version = 2.0.0
Info : CMSIS-DAP: Interface Initialised (SWD)
Info : SWCLK/TCK = 1 SWDIO/TMS = 1 TDI = 1 TDO = 0 nTRST = 0 nRESET = 1
Info : CMSIS-DAP: Interface ready
Info : clock speed 1000 kHz
Info : SWD DPIDR 0x0bb11477
Info : nrf51.cpu: hardware has 4 breakpoints, 2 watchpoints
Info : starting gdb server for nrf51.cpu on 3333
Info : Listening on port 3333 for gdb connections
```

Open another terminal and run&#x20;

```
telnet localhost 4444
```

It shows

```
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Open On-Chip Debugger
```

So now, we can send commands

```
init
reset init
flash write_image precompiled/precompiled-basic-left.hex
flash verify_image precompiled/precompiled-basic-left.hex
reset run
```

The terminal should show

```
> init
> reset init
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0x00000bb4 msp: 0x20004000
> flash write_image precompiled/precompiled-basic-left.hex
nRF51822-QFAA(build code: H0) 256kB Flash, 16kB RAM
wrote 15276 bytes from file precompiled/precompiled-basic-left.hex in 1.088257s (13.708 KiB/s)

> flash verify_image precompiled/precompiled-basic-left.hex
verified 15276 bytes from file precompiled/precompiled-basic-left.hex in 0.185782s (80.298 KiB/s)

> reset run
```

Another way to flash the image is to run

```
program precompiled/precompiled-basic-left.hex verify reset
```

The terminal should show

```
> program precompiled/precompiled-basic-left.hex verify reset
target halted due to debug-request, current mode: Thread
xPSR: 0xc1000000 pc: 0x00000bb4 msp: 0x20004000
** Programming Started **
Adding extra erase range, 0x00003bac .. 0x00003bff
** Programming Finished **
** Verify Started **
** Verified OK **
** Resetting Target **
```

You should also flash the right side, and the receiver with the respective image file.

If you prefer to flash it without telnet, you can use the -c flag with openocd, so you can flash an image with a one-liner command.

## Links

* <https://openocd.org/doc/html/Flash-Programming.html>
* <https://github.com/mattdibi/redox-w-firmware>
* <https://devzone.nordicsemi.com/f/nordic-q-a/6918/programming-nrf51822-with-openocd-and-stlink-v2-issues>


