cKeys: Community & Education

Creating an interactive platform for teaching hardware and software design

Project Info

This project documents the creation of a new service for T-Mobile that allows customers to purchase online and immediately pick up their order in a convenient nearby store. While common in many retailers, for T-Mobile, this was an utterly new process taking massive back-end effort and the coordination of efforts of many working teams. My role in the project was Experience Design. Through workshops I organized and facilitated with team members of both digital and physical design team members (a first for the company), created guiding principles for their work, documented user journeys to illustrate service design, and helped guide long term development alongside an MVP pilot program. Finally, I created a guide for in-field observation of the pilot that will help direct the next stages of expansion.

Project Detail

  • Type: Design Strategy

  • Client: T-Mobile

  • Timeline: Early 2020 - Current (Ongoing Pilot)

  • My Responsibilities: Design workshop organization, Experience Design framework creation, Down-stream design team guidance, In-field observation guidance

Product Design

Creating an approachable hardware platform for learning

Creating the Obelus Kit

The image above shows one of the first built prototypes of the kit. From the beginning, it was designed for easy assembly and modability. The board runs the open source QMK firmware, creating a completely programmable and customizable USB based peripheral. Here it functions as a numpad.

Hand Wiring Prototypes

The Obelus board is an extension of lessons learned working on previous projects. One of the best ways to learn how a keyboard works is to hand-wire one. This project utilized an Arduino clone called a Teensy 2.0 running firmware to act as a keyboard controller. The matrix circuit to serve the key switches is hand-wired in place.

Learning How Circuits Work

Utilizing rough hardware prototyping, I tested circuit designs on breadboards before committing them to PCB (printed circuit board) fabrication. Here, I'm testing a circuit to control brightness of in-switch LEDs, as well as creating music with a pezio speaker borrowed from a gift card. All of these functions are supported by default in the QMK firmware, so building hardware support was a matter of designing to standards.

Creating the Schematics

To be able to speak with PCB fabricators, a design needs to be communicated through standardized file formats. I used Kicad, a free and open source tool for the project. The schematic for the keyboard is shown here.

PCB Layout

After the basic logistics of the schematics are determined, next comes determining where the actual components are located and connected on the PCB itself. Often components exist in libraries, but some custom footprints had to be created to accept some uncommon pieces, such as the pezio speaker. Once all the cad work is done, files for fabrication can be exported for manufacturing.

Printed and Assembled PCB

The final pcb is fully assembled, save for the components students will hand-solder in the workshop. The board is essentially an Arduino clone with some special on-board components which make it function as a keyboard, given the right firmware. All the components are cheap, readily available, and well supported by the QMK firmware. All unused pins on the controller are pulled out and made accessible at the edge of the board so it can be further integrated and used for testing on future projects.

Prototype Testing

Once the first batch of test boards came, these were assembled and tested to make sure everything worked as expected. Here, a caseless board is assembled to test out the in-switch led capabilities.

Case Design

Utilizing SketchUp I created a number of prototypes before a 3D print was made. This case design is created with 3D printing or CNC milling in mind. The large beveled bezel is a nod to the original Apple M0110 mechanical keyboard, a favorite classic design of mine.

Finished Prototype

The finished prototype has a handsome presence on a desk, and is extremely flexible and capable for its size. It's simple enough for a novice to assemble, and, utilizing open source firmware and flexible hardware, creates a great platform for experimentation and hacking.

Workshop

Using the product to help teach soldering and coding skills

cKeys Workshop

As a founding member of the cKeys organization, I helped organize and run our first 'Keyboard Soldering Workshop', aimed at teaching all ages the basics of electronics and practical soldering skills. cKeys is a non-profit organization organized around the Seattle area mechanical keyboard enthusiast community. Learn more about cKeys here.

Living Computers: Museum + Labs

Special thanks should be given to the Living Computer Museum in Seattle for hosting and sponsoring the first cKeys workshop. They provided the space, hardware, and membership network to help get the word out about the event. Find out more about the LCM+L here.

Reflection

Guided Learning, and Just Enough Design

As a newcomer to electronics design, I found the idea of teaching exciting, but daunting. The lessons I helped teach the class participants were ones I had only learned myself within the last year. It was, however, incredibly satisfying, and the enthusiasm of all the workshop participants is indicative of a very healthy community. The hardware design was simple, and provided just enough of a foothold to allow for a lot more future exploration.