/wilskeeb

Primary LanguageRust

Wil's Keyboard

This project implements a split keyboard based on the Redox PCB but powered by a SparkFun Pro Micro - RP2040.

It features:

  • Automatic main-secondary detection (either side can be connected to usb)
  • Automatic chirality detection allowing the same binary to run on both sides.
  • A virtual serial port to a simple CLI to help with debugging & update.
  • 128x64 (SH1107 based) Oled display support

Extra optional features are also available:

  • RGB Led strip

The communication between main & secondary is done through an I²C interface.

Firmware deployment

On a fresh RP2040 enter into bootload by maintaining the boot button pressed while pressing reset. Then run cargo run --release to compile and flash the firmware.

Refer to defmt documentation for available logging parameters.

I used the following command to update the firmware after the case is assembled and the buttons are no-longer accessible.

DEFMT_BBQ_BUFFER_SIZE=4096 DEFMT_LOG=trace cargo build --release && echo -n u >> [your-uart] && sleep 5 && elf2uf2-rs -d target/thumbv6m-none-eabi/release/wilskeeb

Layout

Keyboard layout

Licenses

The hardware design files present in this repository under the pcb and case directories are distributed under the CERN OHL S v2 License.

Copyright Wilfried Chauveau 2022.

This source describes Open Hardware and is licensed under the CERN-OHL-S v2.
You may redistribute and modify this source and make products using it under
the terms of the CERN-OHL-S v2 (https://ohwr.org/cern_ohl_s_v2.txt).

This source is distributed WITHOUT ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING
OF MERCHANTABILITY, SATISFACTORY QUALITY AND FITNESS FOR A PARTICULAR PURPOSE.
Please see the CERN-OHL-S v2 for applicable conditions.

Source location: https://github.com/ithinuel/wilskeeb.git

As per CERN-OHL-S v2 section 4, should You produce hardware based on this source,
You must where practicable maintain the Source Location visible on the external
case of the Gizmo or other products you make using this source.

The sources available under the firmware directory are distributed under the Apache 2 license.

Copyright 2022 Wilfried Chauveau

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Extra resources