Three Timers for the Bootcamp Trainers under the sky,
Seven for the CrossFit Lords in their halls of stone,
Nine for the Mere Mortals doomed to die,
One for The Rise Lord on his dark throne
On the Island of Manhattan where the Shadows lie.
One Timer to rule them all, One Timer to find them,
One Timer to bring them all and in the darkness bind them
On the Island of Manhattan where the Shadows lie.
Seven for the CrossFit Lords in their halls of stone,
Nine for the Mere Mortals doomed to die,
One for The Rise Lord on his dark throne
On the Island of Manhattan where the Shadows lie.
One Timer to rule them all, One Timer to find them,
One Timer to bring them all and in the darkness bind them
On the Island of Manhattan where the Shadows lie.
We've spent the last couple of weeks putting together a set of prototypes that we can send out in the wild. As I've learned in the last few months, a lot of work goes into creating a product that is simple, reliable, manufacturable, and fun to use. Here's the story of what has gone into The Rise Timer, so far.

The first step that we took several months ago was to choose which electronic components will be used. These choices determine what kind of features will be in the timer, how much it will cost, and how complex it will be to build and program.
For its brain The Rise Timer uses an ARM Cortex M0+ based microprocessor, which is powerful enough to drive the display, sound, memory and user interface, but relatively inexpensive and easy to work with.
After much experimentation, we also chose one special component - the Texas Instruments DRV8662 piezo driver chip. We found that this was the only way to generate the high-intensity sounds necessary to run a workout in noisy, outdoor environment while keeping the overall package small, light and energy efficient.
Almost sixty additional components combine to provide features like volume control, a variety of sampled sounds, USB charging and the crisp, rapidly updating display. Not all of these features will make it into the final product. We want to create the best workout experience out there for our users, and will cut or add features ruthlessly to achieve that goal.
For its brain The Rise Timer uses an ARM Cortex M0+ based microprocessor, which is powerful enough to drive the display, sound, memory and user interface, but relatively inexpensive and easy to work with.
After much experimentation, we also chose one special component - the Texas Instruments DRV8662 piezo driver chip. We found that this was the only way to generate the high-intensity sounds necessary to run a workout in noisy, outdoor environment while keeping the overall package small, light and energy efficient.
Almost sixty additional components combine to provide features like volume control, a variety of sampled sounds, USB charging and the crisp, rapidly updating display. Not all of these features will make it into the final product. We want to create the best workout experience out there for our users, and will cut or add features ruthlessly to achieve that goal.

Once we selected the components and connected them in an electrical schematic, we designed the physical circuit board where individual components are laid out and connected by thin copper traces.
In our design we had to take into account how components would physically fit together - like that the rotary knob needs a certain amount of clearance from the edge of the board, that the display must be located near the center, and audio jacks should be near the edges. We also made the board as small as possible, and incorporated features to make it easier to test during manufacturing. These are critical steps towards achieving the small form factor and high reliability we felt would be necessary for a high quality user experience.
In our design we had to take into account how components would physically fit together - like that the rotary knob needs a certain amount of clearance from the edge of the board, that the display must be located near the center, and audio jacks should be near the edges. We also made the board as small as possible, and incorporated features to make it easier to test during manufacturing. These are critical steps towards achieving the small form factor and high reliability we felt would be necessary for a high quality user experience.

When the boards came back from our PCB fabrication service, we placed and soldered the individual components to the boards by hand, using a solder stencil vacuum tweezer, hot plate and a lot of patience. Each board took 30-60 minutes on average.
While for production we will contract to a circuit board assembly service, doing it by hand at this stage is fast, inexpensive, and also gives us a physical sense for how the board is put together and for potential errors. For instance, I found that I consistently placed a crystal oscillator component backwards, having mistaken a bevel for its front orientation marking. That is now clearly marked in the board and schematic, so that an assembly technician can avoid the same mistake when programming the pick-n-place robots to make a batch of a thousand boards.
In many cases the boards didn't work right away, either because of errors in the schematic or a physical mistake with the board (e.g. bad solder joint, incorrect component placement). Debugging was difficult and frustrating process at times, but again helps us to identify manufacturing and design issues early on.
While for production we will contract to a circuit board assembly service, doing it by hand at this stage is fast, inexpensive, and also gives us a physical sense for how the board is put together and for potential errors. For instance, I found that I consistently placed a crystal oscillator component backwards, having mistaken a bevel for its front orientation marking. That is now clearly marked in the board and schematic, so that an assembly technician can avoid the same mistake when programming the pick-n-place robots to make a batch of a thousand boards.
In many cases the boards didn't work right away, either because of errors in the schematic or a physical mistake with the board (e.g. bad solder joint, incorrect component placement). Debugging was difficult and frustrating process at times, but again helps us to identify manufacturing and design issues early on.

At the heart of the timer is the software, written in C and assembly code, and downloaded to the circuit board as it is assembled. We began writing and testing software as soon as we chose the first components.
To create a great user experience, we designed routines to play multiple sounds seamlessly, at CD-quality sampling rates. We designed a display driver that could update the display in the blink of an eye, and respond to button presses instantly. We built the entire system on a real-time operating system so that it would never crash or become sluggish, and so that we could easily incorporate new features if we needed them.
To create a great user experience, we designed routines to play multiple sounds seamlessly, at CD-quality sampling rates. We designed a display driver that could update the display in the blink of an eye, and respond to button presses instantly. We built the entire system on a real-time operating system so that it would never crash or become sluggish, and so that we could easily incorporate new features if we needed them.

Just as important as the electronics is the outer case of The Rise Timer. We wanted it to be rugged, functional and simple to use. We designed the prototypes with 3D modeling software and printed them on a small 3D printer.
The shell is composed of top and bottom halves, each of which takes 45 minutes to an hour and a half to print. For the all-important piezo sounder and horn, we saw the end off a Radio Shack buzzer, de-solder the circuit board, and reconnect the wires. Eventually we will be printing this part as well, but this was the quickest way to a functional siren.
The shell is composed of top and bottom halves, each of which takes 45 minutes to an hour and a half to print. For the all-important piezo sounder and horn, we saw the end off a Radio Shack buzzer, de-solder the circuit board, and reconnect the wires. Eventually we will be printing this part as well, but this was the quickest way to a functional siren.

The moment of truth arrived when we squeezed the assembled circuit board into the case. There were lots of problems here, like how to create the holes for buttons, knobs, switches, jacks, or how to make it more indestructible and easy to assemble. We settled on a rough but functional design.
We expect that a lot more work will go into The Rise Timer in the next few months. We will be getting feedback from our first users on which features are most important. We will also be keeping track of how things break or fail, and learn how we can create a tougher, more functional product and user experience.