Keychordz

Irgendwann 2020 hatte ich mit einem Freund die Idee eine Tastatur zu bauen, die mit extrem wenigen Tasten auskommt, indem mehrere Tasten gleichzeitig gedrückt werden, um eine bestimmte Aktion auszuführen.

Nach viel Brainstorming und Planung war es Anfang 2021 dann so weit die Leiterplatte zu entwerfen. Für die Software habe ich KiCad verwendet, da ich schon damit gearbeitet habe und es viele Lernressourcen online gibt.

Features aus dem Brainstorming

  • Mehrere Tasten gleichzeitig gedrückt ergeben eine Aktion
  • Zwei Tastaturhälften
  • Bluetooth Unterstützung für mobiles Arbeiten
    • Lange Batteriezeit
  • USB Unterstützung für Laden und Desktop Benutzung

Um sowohl USB, als auch Bluetooth nativ zu unterstützen ist die Auswahl an Mikrocontrollern sehr schmal. Mittlerweile gibt es den ESP32-C3, der vermutlich perfekt für die Anwendung wäre, aber dieser war damals leide keine Option, also basierte die erste Version auf einem STM32WB55RGV7.

Laut Datenblatt kann der STM Chip alles, was ich brauche, er ist nur relativ schwierig zum Laufen zu bekommen. Dies liegt zum einen daran, dass mehrere verschiedene Spannungen gut gefiltert an den Chip angeschlossen werden müssen. Zum anderen ist kein Bootloader vorinstalliert, wie bei den Arduino Boards.

Nachdem das Design bestellt und gelötet war, wurde klar, dass das Programmieren noch schwieriger als erwartet war. Ich habe es nicht geschafft den Mikrocontroller zu programmieren, oder überhaupt mit dem Mikrocontroller zu kommunizieren.

Da auch nach vielen, vielen Stunden Debugging kein Fortschritt zu erkennen war, habe ich das Projekt erstmal pausiert.

Version 2

Im April 2022 habe ich dann entschlossen ohne Bluetooth eine 2. Version zu entwickeln. Dieses mal basiert das Design auf einem Arduino Pro Micro und hat fast auf Anhieb geklappt. Das Einzige, was nicht funktioniert hat waren die RGB-LEDs, welche ich falschherum angeschlossen habe. Mit einem durchgeschnittenen Trace und einem Kable, was an eine LED gelötet wurde, konnte ich die LEDs wieder richtig ansteuern.

Außerdem habe ich einen USB-C Footprint auf der Leiterkarte, auf den ich einen USB-C Anschluss angelötet habe um zu testen, ob ich in Version 3 diesen Anschluss vollständig nutzen kann. Dieser hat zunächst allerdings nicht funktioniert bis ich eine Diode überbrückt habe.

Lukas Sabatschus

code, electronics und alles dazwischen


17.05.2022