Awesome
Boston Keyboard
Introduction
Boston is a compact battleship with a complement of 18 programmable keys, in a footprint 2u narrower than a full-size, and only about 1.5u wider than a 96%. There is a 3D printed version and a CNC aluminum version. Hotswap PCBs for both are in development. All are open source.
The immediate inspiration for Boston was the DriftMechanics Austin, as well as the 7-row Thinkpad keyboards found on Thinkpads of the T420 generation and older. The general idea was to make a narrower full-size that retained both the 2u numpad "0" and traditional 2x3 Ins/Del/Home/End/PgUp/PgDn nav block, by expanding vertically.
The name is a pun off Austin, since the layout is derived from it. I also grew up around the city of Boston and still live in the area.
Supported layouts
Soldered PCB:
ANSI hotswap PCB: (note the split space 2.75u and 2.25u keys are flipped around compared to the soldered version - this was necessary to split both split space and standard 6.25u space on the same PCB with hotswap sockets)
ISO hotswap PCB: TBD
Click this link for the KLE file for the soldered PCBs.
Click this link for the KLE file for the ANSI hotswap PCB.
Features:
- 121-keys in standard ANSI configuration
- Alps EC11E rotary encoder above the Escape key
- Full-size numpad with 2u "0" key
- Traditional 2x3 Ins/Del/Home/End/PgUp/PgDn navblock
- Uses keys found in GMK base kits (except for the programmable keys)
- RGBLED layer-status indicator light
- ISO enter key, ISO left shift, split backspace, split numpad 0, split space, and WKL bottom row support
- Optional through-hole LED backlight (dimmable as a single block only) - soldered version only. This hasn't been tested in the newer PCBs but probably still work.
- USB-C
- STM32F072 controller running QMK. Circuitry is derived from the Austin.
- Uses Gondolindrim/Acheron's single-button reset circuit
- QMK and Vial support
- Approximately 6.5° typing angle
3D Printed Version:
- Printable on cheap hobby printers - 200mm x 150mm (X/Y) x 210mm (Z) bed size needed to print all the case parts (doable on a Bambu P1S or X1C, Ender 3, Biqu B1, Prusa i3, etc.)
- Bottom panel with artwork of Boston's maze-like street network
- Technically top mount, though an unusual implementation (screws come in from the top of the case and screw into threaded inserts on the plate) - load path is identical to traditional top mount
- Designed around an FR4 plate with soldered-in threaded inserts
CNC Version:
- 2-piece CNC machined case (no weight)
- Traditional top mount
- Uses a Unified S1/S2 daughterboard with Molex Pico-EZmate connector (older versions use the C3 daughterboard with a JST-SH connector)
- Low USB-C port parallel to desk
Current Errata
For all PCB versions - if you use the 1u numpad + and = key options instead of 2u numpad +, the 1u + and 1u = keys are swapped in firmware and on the PCB compared to the KLE (physically pressing the upper 1u key actuates the lower 1u key in firmware and vice-versa). For now, just swap the key assignments in Vial and you should be good. I may fix this eventually in the QMK and Vial files, or fix the PCB routing, but it's a low priority for me.
Status
For various reasons I decided to open-source the files for the project rather than running a group buy or sale. You can use the files to make one for yourself, as long as you comply with the CERN OHL-W license. 3rd-party group buys or sales are permitted under the license (I will not be directly involved in any 3rd party sales). RNDKBD currently sells the 3D printed version as an in-stock item (printed to order in a variety of different colors), and previously ran the CNC version (both as a GB and in-stock). There has also been at least one small 3rd-party private buy for the CNC version.
Note that under the terms of the CERN OHL-W license, if you modify the design or make derivative works from the design, you are required to open-source them under a compatible license.
Current status:
Cases:
3D printed version - prototyped and working.
CNC version - prototyped and working.
PCB:
V0.8 series - PCB has been prototyped and tested by Andy of RNDKBD, except for the ISO hotswap version (V0.8.2DHI), which has not been prototyped.
V0.7J (3DP version) - prototyped and working (except optional backlight LED feature has not been tested)
V0.6.1D (CNC version) - prototyped and working (except optional backlight LED feature has not been tested).
Ordering Guide
A draft ordering guide for the 3D printed version is available on the README under the folder for the 3D printed version.
A draft ordering guide for the CNC version is available on the README under the folder for the CNC version. Assembly instructions for the CNC version are still being worked on.
PCB Renders
Renders done with tracespace.io.
V0.8J (integrated USB-C port and ESD protection - used on the 3D printed version):
V0.8D (Molex Pico-EZmate connector for use with UDB S1 and C4 daughterboards):
Firmware
All PCBs from V0.4 onward (including V0.5.2, V0.6.1D, V0.6.1J, V0.7J, and the V0.8 line, both hotswap and soldered) have the same key matrix and therefore use the same firmware. However, the RGBLED on the CNC variant PCBs (the -D variants) has its red and green channels reversed compared to the 3DP version PCBs (-J variants) (as unfortunately the SK6812 mini-E RGBLED used on V0.6.1D and the APA106 RGBLED used on the others have different orders for the red, green, and blue channels).
The compiled QMK firmware .bin file is here. Source files are on the QMK repo.
The compiled Vial firmware .bin file is here. Source files are on the Vial-QMK repo. The current Vial build uses Vial V0.6. This is the recommended firmware.
Firmware can be flashed using QMK Toolbox or DFU. On PCB versions V0.6 and newer, you need to long press the reset button (for several seconds) to access the DFU bootloader to allow for flashing - a short press only resets the MCU.
Copyright Notice
The PCB files and hardware designs are released under the CERN OHL-W license. The QMK/Vial firmware is released under GNU GPL V3. I am considering changing the PCB file and hardware design license to Acheron OHL in the future.
The map artwork for the bottom panel on the 3D printed version, in \Boston - Current design\3D printed version\Bottom, was created using OpenStreetMap data, © OpenStreetMap contributors, under OpenStreetMap's conditions. The resulting KiCAD footprint and PCB files for the bottom FR4 panel containing the artwork is specifically released under the Open Data Commons Open Database License rather than CERN OHL-W.
The rubber feet, screws, nuts, and threaded inserts in the STEP files were remodelled from scratch, as most 3D models available online do not permit redistribution.
Libraries
This project uses the Acheron Project's Alexandria Library. A few custom footprints are used:
- Boston-PCB-custom-footprints contains custom footprints for V0.7J (currently just a 4.4mm hole)
- Boston-3DP-plate-library contains custom footprints for the 3D-printed version's FR4 plate.
- Boston-plate-custom-footprints contains custom footprints for the CNC version's FR4 plate
The KiCAD files are done using KiCAD V7.
The KiCAD files use project-specific paths to the Acheron Library. To set this up - in KiCAD, open Preferences > Configure Paths. Add a new entry, with ALEXANDRIA for the name, and for the path, the directory where the AcheronLibrary folder resides in.
Derivatives
Technofrikus designed an alternative 3D-printed case derived from the files of the CNC version, and also designed a case with a 4° typing angle. The files for those are available on Technofrikus' GitHub.
DatGameh designed a 0.5° version of the 3D printed case, using parts for the 3DP version. The files are available on DatGameh's Github.
Acknowledgements
Many thanks to:
- The Acheron Project - the KiCAD library and the source files for the Austin have been invaluable for designing this board.
- The designers of the Austin (Driftingbunnies, PheonixStarr and Gondolindrim). The layout, schematics, and firmware were derived from that board.
- Gondolindrim, for assistance and feedback with the PCB design, as for running the Acheron project.
- KiCAD, for being an awesome free open-source PCB design tool.
- Keyboard Layout Editor, where I designed the layout.
- Swill's plate generator and Ai03's plate generator, which I used for making the plate.
- Maperitive and OpenStreetMap, which was used to generate the map artwork on the bottom of the 3D-printed/FR4 case.
- RNDKBD, for testing the V0.8-series PCBs and for making the keyboard available for sale.