/TrackerKB

Tracker Keyboard. A Dirtywave M8 Headless Build

Primary LanguageC++MIT LicenseMIT

Fully Assembled units and parts are available here:

Small batch custom build. Limited quantity now available and ready to ship!
Ed's Lab Shop

Table of Contents

Overview

This is a slightly over-engineered tracker keyboard that integrates both Teensy4.1 and a keyboard.

Features

  • Built-in USB HUB connected to both Teensy 4.1 and Keyboard
  • Keyboard is implemented with RP2040 microcontroller
  • Same swappable mechanical keyboard as the original
  • High-quality CNC machined case, providing the same handling experience as the original
  • Robust connection with USB-C screw lock cable

Hardware Guide

System Diagram

Electronics Build Guide

Layer View PCB (Front) PCB (Back)

PCB manufacture requirements:

  • Layers: 2-Layers
  • Board thickness: 1.6mm
  • Board dimensions: 90mm x 97.35mm

All the components are 0603 footprints. The pads are designed with larger pads, making them great for hand-soldering. The most complex component in this project is the RP2040, which is in a QFN package, so hot-air reflow is required. An alternative approach is to make a custom PCB stencil, which would make the process much easier.

Soldering

The stencil and reflow oven approach is demonstrated below and recommended.

PCB Stencil and Solder Paste Pick and Place Reflow Oven

Tips on Soldering Teensy 4.1

  • Solder the pins that are marked with circles. Only 6 pins are required for soldering. This is enough to hold the board while still being easy to de-solder and repurpose if needed. To solder, add some solder flux onto the pads. Solder one pin first and ensure it's aligned properly. Place the soldering iron on the Teensy through-hole pad, and add a generous amount of solder. Hold the iron longer, around 8-15 seconds, and let the solder sink into the pad below. Then use multi-meter to test continuity between teensy pad and the pad directly below.

REV (A/B) Hardware Teensy USB Connection

  • Make a twisted wire for Teensy USB communication. Solder it and adding adhesive glue is recommended.

REV (C) Hardware Teensy USB Connection

  • In place soldering pads, solder directly with the Teensy USB Test Points

PCB Testing

🎉🎉🎉 Great job on finishing the PCB assembly. Now we will go through a checklist and testing process to help you get your tracker keyboard up and running!

  • Visually check that all components are soldered properly with no solder bridges or shorts.
  • Before connecting to a PC, check that your 5V and 3V3 are not shorted to ground.
  • Note that the RP2040 is powered by Teensy's on-board DC converter, so the Teensy must be soldered in order for the RP2040 to work properly.
  • Follow the Software Guide section for flashing tutorials.
  • You can always open the Device Manager on your PC to check if all devices are being detected properly. Three devices should show up:
    • A USB 2.0 Hub device
    • An Tracker Serial and Audio composite device
    • A HID Keyboard device

Three Versions of Enclosure are Available

Option 1: CNC Machined Enclosure

Best quality and experience. It's a CNC machined enclosure that offers a great hand-held experience.

Bill of Materials
- x4 M3x8mm screws 
- x1 CNC top and bottom case 
- x1 Optional, USB Type-C cable with screw lock (The pitch distance of the two screws is 15mm, and the size is M2 thumb screws)
- x4 8mm x 1.5mm rubber pads
- x1 12mmx12mmx1mm Thermal Pad 

Option 2: Sandwiching Acrylic Enclosure

A 4-layer acrylic sandwiching approach offers handling weight and durability while keeping the price cheaper compared to CNC. Note that the USB lock threads are not available in this design. The *.dxf files of each layer are provided for laser cut manufacturing.

How to assemble?

  • Stack them up. The hole size on the layer-4 plate is slightly smaller, so screw taps will be created when screwing in the screws.
Bill of Materials
- x4 M3x14mm screws 
- x1 Layer 1 Acrylic (3mm thick)
- x1 Layer 2 Acrylic (3mm thick)
- x1 Layer 3 Acrylic (4mm thick)
- x1 Layer 4 Acrylic (3mm thick)

Assembled (Front) Assembled (Back)

Option 3: 3D Printed Enclosure

This 3D printed design is nearly identical to the CNC version but optimized for 3D printing. Note that the USB lock threads are not available in this design.

How to assemble?

  • The hole size on the bottom case is slightly smaller, so screw taps will be created when screwing in the screws.
==== Print settings ==== 
- PLA or ABS filament  
- 25% infill  
- Support enabled  

==== Bill of Materials ====  
- x4 M3x8mm screws 
- x1 Printed top and bottom case
Slicer Build Plate

Software Guide

Two firmware flashes are required:

  1. Tracker Headless firmware on Teensy
  2. Keyboard firmware on the RP2040 microcontroller

1. Tracker Headless Firmware (Teensy 4.1)

  • Pre-compiled Tracker Headless Firmware and flashing guide can be found here: Headless Firmware
  • This is a pretty standard process and can be done easily.

2. Keyboard Firmware (RP2040 MCU)

The keyboard is implemented with RP2040 keyboard HID implementation. You wouldn't need to build this source file yourself. Pre-built firmware is available for easy flashing.

Keyboard Firmware Highlights

  • Implemented in C++, offering better low-latency input compared to MicroPython.
  • Single firmware file. Drag and drop for a simple and fast upload process.
  • No more annoying MicroPython disk pop-up every time the device is connected.
  • HID key mapping: (key mapping is the same as M8 WebDisplay's default)
    Tracker Hardware Keys Mapped HID Keys
    Arrow Keys Arrow Keys
    Option Z
    Edit X
    Shift Left Space
    Play Space Bar

Pre-built keyboard firmware can be found here --> Keyboard Firmware

Steps for Flashing Keyboard Firmware:

  • Download the single firmware pico-tracker-keyboard.uf2 file from the Release Folder.
  • "Press and Hold" the Boot button on the RP2040 PCB board, connect the USB to your PC, then release the Boot button.
  • A disk will show up or get mounted, indicating that your RP2040 is in loader mode and ready to load firmware.
  • Simply drag and drop the pico-tracker-keyboard.uf2 firmware file to the mounted disk.
  • The RP2040 will then unmount and reboot itself with the new firmware.