Final Project

Making Phones Fun Again
Sq_watchphone.jpg

Background

I have a love/hate relationship with my smartphone. It’s an incredible tool; the number of things I can do on my red line commute each day with this little glass rectangle is pretty astounding. That being said, I have two major gripes:

  • It’s boring: all smart phones look the same
  • It’s addicting: I find myself reaching for it mid conversation or while watching a TV show

I’ve considered buying a dumb phone like the Light Phone (e-ink phone with no internet or app ecosystem), but this throws the baby out with the bathwater, so to speak. I don’t want to remove all the tools, just the addiction.

I’ve also considered smartphones with some more dated form factors that rely on an old T9 keypad to add some friction into the phone experience. These are also tempting, but most lack regular security uptdates, which makes any payment app an immediate ’no.’ Plus, they’re all android, so no sexy blue bubbles.

Most recently, I’ve been considering an Apple Watch as an ironic path to digital minimalism. Ideally, I’d leave my phone at home in a drawer at least a few times a week, operating daily with only the watch. There’s just one main thing missing: a useable keyboard. Enter HTMAA!

Plan

To make this blackberry-of-the-future, I envision a few baseline steps:

  • Case design: I plan to 3D print the case. I beleive 2-3 main parts would make the most sense: the front face with a cutout for the apple watch screen and the keyboard, a back face to enclose the keyboard PCB and battery, and a final more easily-removable piece to hold the apple watch in place
  • Keyboard design: this will involve both PCB design as well as some additional 3D modeling to develop key caps
  • Integrated Programming: this is the most likely failure point, because there’s a possibility that the Apple Watch OS is too restrictive to work with a bluetooth keyboard. From my research it should work; the Apple Watch is supposed to be able to use a bluetooth keyboard in place of voice-to-text

Additional steps / considerations:

  • A charging port for the keyboard battery
  • A battery sensor for the keyboard battery
  • Either adding a mini-speaker or designing directional cutouts in the case for the speaker in the Apple Watch to redirect sound to act like a normal phone (removing the need for bluetooth headphones to take calls)

Moonshot idea:

  • Also add a bluetooth-controlled camera in the case (if I’m unable to make the keyboard connect via bluetooth, then a battery / camera case may become the new focus)

Case Design

Originally, I wanted to use a traditional blackberry as a model for the case. And while this is still the ultimate goal, I’m beginning to think a candybar phone design may be a better starting point:

  • It reduces the number of switches on the PCB from 30 to 12, greatly simplifying the PCB and the construction.
  • This more closely aligns with the dimensions of the Apple Watch, letting me include a cuttout to maintain access to the scroll wheel rather than building something into the case for it.

Keyboard Design

During week 5, I designed a schematic for a keyboard with a XIAO ESP32-C3 to begin mapping out a small keyboard, as this will be the core of my design and will inform the rest of the watch case body.

keyboard schematic

I took inspiration from a blackberry classic, which features three rows of 10 keys and one row of 5 keys (shift, space, symbol). Using a matrix setup, this requires 14 GPIOs (10 columns + 4 rows), so I added a shift register to handle the number of inputs (ESP32-C3 only has 8). I debated between an IO expander and a shift register, but the shift register resulted in a much cleaner layout.

This design used 6mm x 6mm tactile switches as these were the smallest in our fab component library. At first I thought these would easily work to fit the footprint (10x6mm =60mm wide, the blackberry was 68mm wide). However, I realized when creating the PCB that the pads for the switches would drastically expand this width and make it very difficult to fit. For this reason, I plan to find smaller switches (more like 3mmx3mm) to enable a tighter footprint.

November Update

A few exciting updates for November: I have tested a cheap bluetooth keyboard with an Apple Watch and it connects…with a catch: it must be used with voiceover as an acessibility tool.

What this means is I should be able to build a bluetooth keyboard without too much of a problem, but I may need to tweak settings for overall watch navigation while using the keyboard.

Most importantly is that I think I will want to program one switch to be a combination of capslock and spacebar. This is because voiceover requires you to press a specific key to initiate keyboard control, and that key plus space alows you to click the given icon.

Voiceover makes touch controls much more difficult to use, so I think my keyboard will need to have an easy “select” button and the case will need to maintain easy access to the scroll wheel for device navigation.

Based on this, I am fairly certain that a candybar-style phone using T9 typing may be the better approach.

Project Plan

With roughly a month to finish my final project, I’ve outlines certain benchmarks for myself:

  • 20NOV: Design refined schematic for keyboard, incorporating a battery
  • 25NOV: Mill and manufacture the board
  • 2DEC: Write code for keyboard, mapping the switches on the keyboard
  • 4DEC: Test and troubleshoot the bluetooth connection with the keyboard
  • 8DEC: Design case for the Apple Watch and keyboard (ideally with charging port for the keyboard battery) and decide on design / manufacturing method for key caps
  • 9DEC: 3D print case
  • 16DEC: Manufacture key caps for the keyboard (either as a gel overlay by molding and casting or by 3D printing key caps)

These are all no-later-than times for each task, so ideally I’ll complete many of the tasks before their given dates.

Schematic

Completed on time. The board will require a two-layered PCB because I will be using a matrix layout for the buttons.

For a layout, I’m doing 5 rows of 3 buttons, requiring 8 GPIO pins overall. This works well with the ESP32C3, as it doesn’t require any additional modification for all the proper connections.

There’s also space for the battery on the second layer of the PCB. The only question mark is how best to wire the connections to the battery connections on the bottom side of the microcontroller. This is something I’ll be bugging Anthony about!

schematic

Mill the Board

Coming Soon!

Keyboard Code

Thankfully weeks 3 and 12 were amazing proofs of concept for this. With week 3 I have already had practice writing code for a keyboard using a matrix design, and week 12 got me over the biggest hump of actually connecting and properly interfacing with the Apple Watch.

The final challenge will be making sure T9 style typing that requires multiple presses works well.

Case Design

I’ve successfully adapted a 3D model of an Apple Watch to use to build my case around in Fusion. The case will be partially dependent on the PCB for the design.

apple watch model


Written By

Nathan Wiegand