Description

I'm getting older... this summer I experienced an annoying and persistent tingling in one hand and arm. That was the initial motivation to get more interested in ergonomic work gadgets, and from that to split keyboards. And that was the entrance in a rabbit hole.

Which keyboard I like to create:

  • Split keyboard for ergonomic (I'm not primary interested in having it portable)
  • I have big hands: I like it to fit as much as possible my hands measures
  • Columnar stagger keys position
  • Not too few keys (at the moment I'm at 24 + 24)
  • One row thumb cluster
  • No wireless, not to have batteries and for security reason
  • CherryMX, or generally speaking no low profile/corne choc
  • Hot swap Socket switches

Goals

  • Create PCB design for a split keyboard
  • Get it produced
  • Mount it
  • Evaluate FWs

Resources

Progress

Day1

Get the existing Ergogen project working on my TW machine Get Kicad as flatpack Go back to the https://flatfootfox.com/ergogen-part3-pcbs/ Join the #ergogen Discord channel and ask for help about the nets

Day2

Redesign the keyboard matrix on Inkscape Implement it in the Ergogen YAML format Create a Kicad PCB file Start routing it Iterate over the matrix arrangement to try to implement it like 2 layer board and ideally with not vias Get some Kicad tutorials

Day3

Get my hand dirty building a 2x2 key matrix --> welcome to nne Look at ZKM and how to configure it --> https://github.com/michelepagot/zmk-config-nne Get the FW built by github, try to flash it: get matrix scan pulse but no keys to the PC Get in contact with ceoloide, an Ergogen maintainer, about net issue.

Day4

Fix net issue Try again routing with right nets and different rp2040 footprint Search for all mounting options of the rp2040 MCU I have

Day5

Try to complete a first routing round in KiCAD Few documentation Close tons of browser tabs Keep interacting with the amazing Discord Absolem Club community

For the next iteration

  • Ergogen yml file --> get all footprint: miss the board to board connector and a reversible rp2040 footprint. Add some via in the yaml
  • Explore some solution to automate some steps: KiCAD file generation from command line, manage external footprints, generate or lint stuff with github actions and ergogen in a container or at least from the command line, autorouting
  • KiCAD --> rules files, export gerber, upload to production.
  • FW --> rp2040 split keyboard support
  • Dev kiy HW --> create or improve a dev platform: has to have a small key matrix (2x2 or 3x3 or maybe 2x3 or 3x4), board to board connector, lcd, led, sensors (I'd like to play with 9DOF), rotary encoder.

Looking for hackers with the skills:

keyboards split mechanical kicad pcb hardware

This project is part of:

Hack Week 24

Activity

  • about 1 year ago: mpagot added keyword "hardware" to this project.
  • about 1 year ago: mpagot added keyword "kicad" to this project.
  • about 1 year ago: mpagot added keyword "kicad" to this project.
  • about 1 year ago: mpagot added keyword "pcb" to this project.
  • about 1 year ago: mpagot joined this project.
  • about 1 year ago: michals liked this project.
  • about 1 year ago: pfischbacher started this project.
  • about 1 year ago: ninopaparo liked this project.
  • about 1 year ago: mpagot added keyword "keyboards" to this project.
  • about 1 year ago: mpagot added keyword "split" to this project.
  • about 1 year ago: mpagot added keyword "mechanical" to this project.
  • about 1 year ago: mpagot originated this project.

  • Comments

    Be the first to comment!

    Similar Projects

    Adding individual key RGB to the keychron k17 pro by ldragon

    Description

    I recently acquired a k17 pro and was disheartened to learn instead of a way to set individual key RGB values we were given a set of preset "animations" and didn't have individual key RGB. The keychron k17 pro in hardware does support individual key RGB addressing as shown in many of the animations it ships with.

    However this functionality is not provided to the firmware/via to set individual key RGB back light. Other keychron keyboard with similar issues seem to have this resolved by following a method similar to the one described here this aim is to replicate this one the k17 and attempt to over come the shortcomings of the original(save+load does not work).

    Goals

    1. Port the original RGB to the wls_2025q1 branch of keychrons fork of qmk
    2. Fix the capslock and numlock state light not changing state after being pressed once.
    3. Fix the save+load issue that is present in the fork by Sasuchisama

    Resources


    Backfire TV - Take back control of your Firestick by andreabenini

    Take Back Control of Your Amazon Firestick.
    Tired of Ads, a cluttered launcher, and buttons you can't change? BackFireTV is a project to liberate your Firestick from Amazon's walled garden and make it truly yours. They call it the firestick. To fight fire with fire, you need a backfire.
    BackFireTV

    That's the soul of BackFireTV. To truly liberate it and return back to its core capabilities this project uses a linux script, one Android app and ADB access against Amazon's restrictive policies. We leverage these internal tools to create a "backfire" against the incessant ads and locked ecosystem, transforming your Firestick back into the useful, customizable device it was always meant to be.

    The Problem

    The Amazon Firestick starts as an excellent, affordable streaming device. However, Amazon's aggressive Ad policies and restrictive ecosystem have turned it into an increasingly annoying and a less useful device. It comes with frustrations:
    - Messy interface. The less the better was probably the best slogan for the early device, its interface is now cluttered and chaotic when you probably need just a couple of buttons for starting your favorite applications.
    - Constant Ads. The default launcher is filled with commercials and sponsored content.
    - Bloated Interface. A cluttered and slow home screen you can't customize.
    - Locked Buttons. Dedicated buttons for services you don't use (like popular streaming providers) that can't be easily changed.
    - Lack of Control. A closed ecosystem that limits what you can do.

    I could overlook them all if the device was provided for free. But since you pay and you own it it should be legit to do whatever you please in your personal device and network.

    The Solution: BackFireTV

    BackFireTV hacks your Firestick to give you back control. It uses a clever system of DHCP hooks and ADB (Android Debug Bridge) commands to remotely manage your device, block annoyances and customize your experience from the moment it connects to your network.
    The dhcp lease action starts a nohup command on the firestick and forgets about it, the daemon then manages running programs, hacks remote control features and keys. It can be paused or resumed, no rooting required.


    Capyboard, ESP32 Development Board for Education by emiler

    Capyboard is an ESP32 development board built to accept individual custom-made modules. The board is created primarily for use in education, where you want to focus on embedded programming instead of spending time with connecting cables and parts on a breadboard, as you would with Arduino and other such devices. The board is not limited only to education and it can be used to build, for instance, a very powerful internal meteo-station and so on.

    Hack Week 25

    My plan is to create a new revision of the board with updated dimensions and possibly even use a new ESP32 with Zigbee/Thread support. I also want to create an extensive library of example projects and expand the documentation. It would be nice to also design additional modules, such as multiplexer or an environment module.

    Goals

    • Implement changes to a new board revision
    • Design additional modules
    • Expand documentation and examples
    • Migrate documentation backend from MkDocs to Zensical

    Hack Week 24

    I created a new motherboard revision after testing my previous prototype, as well as a light module. This project was also a part of my master's thesis, which was defended successfully.

    Goals

    • Finish testing of a new prototype
    • Publish source files
    • Documentation completion
    • Finish writing thesis