Standing Desk Teardown
At Mindtribe, we’re always trying to improve the way we do engineering as well as the way we work. One of our recent experiments in ergonomics was trying out motorized standing desks. These desks let you change from a sitting to standing position very easily. After using it for a few weeks, I quickly became sold on the benefits. The 2PM slump, often treated with caffeine, was a thing of the past. Pairing with people also became a lot easier because of a changed notion of shared desk space while standing.
Unfortunately though, after a few more weeks, the new desk introduced an ergonomic problem in an unexpected location: my right hand. How does this happen you ask? The controls to raise and lower the desk are two rocker switches which are mounted under the tabletop to the side. To move the desk, you have to hold both switches in the same direction. Ostensibly, this safety feature ensures that both of your hands are clear of any danger when the tabletop is moving. But unfortunately, the switches are close enough together to allow me to press them both with a single hand by hyperextending my thumb and index finger. Repeating this motion through the course of a few weeks had left my hand with mildly alarming shooting pain. Not confident in the advances in voice-controlled programming, I knew I had to take action.
At this point, I could have resigned myself to using two hands to reduce the pain, but as an ardent Vim user and keyboard shortcut enthusiast, this would not do. Worse than the pain of the RSI in my hand was the affliction, common to many engineers, of needing to over-optimize everything. The way I saw it, moving my hand off the keyboard to use the mouse was a big enough time hit—a cache miss of sorts—that something really had to necessitate it. Similarly, moving both my hands off the keyboard to raise or lower my desk would have been tantamount to having to drive to an off-site cold-storage facility. This left me with only one option: to disable the safety feature and allow the desk to be controlled by a single switch. I ran to our MechE workshop to grab a driver and positioned myself under the desk. After removing four screws from the enclosure, and twice as many flecks of particleboard from my face, I was ready to begin rewiring. Before opening up the control box enclosure, I had imagined that the switches went to a microcontroller or a motor control ASIC, which might logically ‘and’ together the switch inputs and then drive an H-bridge to turn the motor in the desired direction. As I would soon learn, this could not have been further from the truth. I opened the enclosure and was met with this:
I began trying to figure out what was going on by probing the various poles of the switches with a multimeter. By this time a few Mindtribers had seen what I was doing and were also curious to see the inner workings of the control box. A crowd formed and we were whiteboarding what exactly was going on in the box. The conclusion we arrived at was rather interesting: the safety mechanism was also a makeshift H-Bridge!
Pressing both switches to the A position energized the motor one way, while doing the same with the B position energized the motor in the opposite polarity. Any other combination of button states left the motor either floating or connected to the same potential on both sides. Unfortunately for me, this meant that I couldn’t simply bypass the safety feature without additional circuitry, and that task would have to wait for another day. Before I reassembled everything, the stark simplicity of the control-box left one question unanswered. What was stopping the motor at the the far ends of its range? A quick touch of the quickly warming motor revealed the answer: Nothing. It just stalls until you stop pressing the switches.