Skip to content

kurt-apple/fixer-otg

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fixer-otg

  • Fork of ChrisChrisLoLo/pusheenz40. Also gathered info from idawgz32 and bunchiez40.
  • Layout is all-new, and design emphasizes ultra portable, small form factor while still having a fairly sane key map.
  • Encased in epoxy for maximum durability and true pocketability
  • Blog posts hosted on Obsidian Publish.
  • SHOWCASE MEDIA is here!
  • FAK Firmware is here!

Fixer OTG Keyboard Poser

Keyboard Design

As a parent, I often find myself "nap-trapped" but still needing to do computer work. After trying several Android touchscreen keyboards I have concluded that my fingers are not up for the task anymore. However, I still require a handheld form factor. More recently I spotted the uConsole from ClockworkPi and while it looks neat, I reason that if I have to wait many months to receive one, I might as well challenge myself to DIY. What could go wrong?

The intent is to use these schematics (bunchiez40, pusheenz40, and idawgz32) as a launching-off point for an ambitious, DIY pocket keyboard, which will later evolve into a "deck" or "pocket" pc. Some requirements are currently listed in the TODOs.

Status

  • prototype keyboard PCBs were ordered, arrived, I broke board 1 and board 2 is alive and well!
  • Layout and firmware are made and I can achieve ~22 WPM on this layout!
  • I've got my eyes set on a few display modules and I am interested in designing a CM4 carrier or picking another small SBC to dedicate to the cyberdeck project.

Navigating the KiCad Files

I used a plugin called "Hierarchical-PCB" which allowed me to define a subcircuit for switch_module in separate kicad_pcb and kicad_sch files, then copy the layout specified in that kicad_pcb file whenever a hierarchical sheet of the same name is placed in the schematic of another PCB. The switch_module contains through-holes, diode positioning, and the necessary tracks for a single key.

Warning

"Hierarchical-PCB" does not yet support nested hierarchical sheets. I forked the project and I want to try to add this support at a later date. Nevertheless, this plugin was VERY helpful in both making the schematic visually less noisy and also in quickly laying out tedious portions of the keyboard PCB.

To open the design I am using currently, please open the main kicad_pcb file titled fixer-otg.kicad_pcb.

Making One

  • DM me on Discord (@present_day) to check if I have any boards remaining
  • Get yourself some Kailh Mute Micro Switches (42x)
  • Fork my FAK repo for the firmware code, and modify however much you wish.
  • Gather your soldering supplies
  • My provided manufacturing files (gerber, drilling, BOM) are specifically for JLCPCB. If you want to print them at a different company you might have to output your own manufacturing files. Please note that there were a few minor corrections/alterations JLC made before finalizing their production file and proceeding to manufacturing. I am new at this - your experience may vary.
  • All but the switches are placed/assembled by JLC.
  • Receive your board(s)
  • Recommended: flash firmware and short out each key by hand to make sure the keys work.
  • Clone or fork the firmware repo and read code/make any customizations as you wish.
  • python fak.py compile -kb fixer-otg
  • plug in the board while holding the BOOT key (left of usb port)
  • python fak.py flash -kb fixer-otg
  • Solder the mute switches to each pad if you haven't done so already. Seal bottom of switches if you plan to epoxy (at your own risk!)
  • Test it out

Firmware Dependencies (Arch)

  • python
  • meson
  • sdcc
  • nickel

BOM

This is the BOM. Note that most PCB prototype services have a minimum order quantity of around 5.

Comment JLCPCB Part # QTY Price 5 Boards
USB C Port C165948 5 $0.779
CH552T C111367 5 $2.543
100nF Capacitor C1525 10 $0.012
5.1k Resistor C25905 10 $0.005
10k Resistor C25744 5 $0.003
Diode C2128 200 $1.78

Some notes about my order and costs:

  • PCB cost $19.60 in total for 5 boards.
  • assembly cost $21.96 for 5 boards.
  • shipping from JLC cost $22.80 to USA.
  • the cost for switches varies widely; I bought from Kailh directly however Alibaba/Aliexpress have bulk lots of Kailh Micro switches for much cheaper.