Keiser Söze

Sometime in late 2020, I joined the Flogging Pit, a beta tester group for my training app-of-choice, The Sufferfest. Longtime readers (do I have any of those?) know I have talked a lot about SUF on here, and I’ve no intentions of stopping, even if it only exists now as a “channel” of a larger collective.

When I joined, they were working towards something big for the near future: A redesign of everything. later to be revealed by their purchase by Wahoo Sports, who would rebrand The Sufferfest as Wahoo SYSTM and eventually Wahoo X, following their additional acquisition of RGT. But I digress.

In early 2020, Nicholle purchased a Keiser M7i elliptical, unique in its design in that it allows wheelchair users to stay in their wheelchairs while exercising. It is billed as a “Total Body Wheelchair Stepper,” though still stubbornly refer to it as an elliptical. Regardless of name, with the M7i, the user’s feet get strapped into foot straps rotating in an ellipses (See? Elliptical.), while the wheelchair itself is secured to the elliptical using a locking hook system with locking, retractable straps. Arms help with putting & keeping things in motion.

With a relatively low profile, the Kesier M7i takes up precious little space in a bedroom.

In addition to a traditional cardio exercise display, the M7i also features Bluetooth connectivity, presumably for just connecting a BLE (Bluetooth low energy) heartrate monitor. But, under closer inspection, it is actually capable of much, much more.

The M7i’s display in ID mode for setting up advanced connectivity.

From the beginning, Nicholle loved what the M7i allowed her to do, with relative independence. As it was positioned, she could watch a TV, listen to music, and just kind of lose herself in the motion of exercise. But I thought there could be more. After all, if apps such as SYSTM existed to connect to smart trainers to make indoor cycling more enjoyable, shouldn’t those same apps not be able to connect to any other indoor fitness device?

The process would prove more challenging than initially expected since available third party devices such as speed/cadence sensors and footpods did not work terribly well with ellipticals; the very design of ellipticals is so vastly different in how it functions to record data—especially power. Keiser, though they make power meter adapters for their indoor exercise bikes, does not make one compatible with the M7i, nor did they seem terribly interested in doing so. Despite making an excellent inclusionary piece of hardware, this lacking piece of circuitry & code excluded a demographic already largely excluded from so much from getting more use, more joy out of their routine.

This did not sit well with me.

One night this past January, I posted a part rant, part plea to the Flogging Pit (FP), asking for a feature request to add ellipticals to work with SYSTM. What I got was more than I could have hoped for.

It didn’t take long before someone in the FP named Paulo chimed in that he was willing to help from across the pond in Portugal. A programmer by training & trade, Paulo was keen on the idea of not only helping my wife get going in SYSTM but also with how quickly he could complete a project like this.

Within seemingly no time, Paulo had assembled a proposal, including parts and requirements on both our parts. He had already obtained from Keiser a development kit and emulator from the manufacturer to simulate on his computer what a real M7i elliptical would act like when interacting with BLE sensors. He had begun generating code within a couple of hours.

First draft of code Paulo threw together while I was still loafing on my sofa.

A plan was put in place to use a pair of M5 stacks (ATOM Lite ESP32s would fit the bill, one for power emulation and one to send/receive data) with Paulo tending to the coding on his end and me dumping his firmware onto the M5s on mine. The biggest setback was the time involved in receiving the M5s from the manufacturer due to supply chain, shipping, or whatever issues there were. Yet, all told, within six weeks, hardware & software were ready for launch.

Except that I sucked at getting the M5s to sync up with my hardware and hit some other snags most easily attributed to general inexperience, incompetence, or what-have-you.

After a series of failures to understand what, exactly was going on on my end, we finally found success in getting the firmware installed and pairing up with the actual M7i.

A very ugly video edit, but it accomplished what it needed to.

Following this, we were able to figure out that SYSTM had some security issues when it came to MacOS and the M5 stacks, but Zwift worked just fine.

Zwift recognized the Keiser M7i (Nicknamed Keiser Söze because what else should it have been called?) right away.
Power & cadence were captured from the M5 stacks.
Using my old Zwift profile (and Tron bike), Nicholle was rolling from the comfort of her own wheelchair. Even if she appeared as a guy.

Once Nicholle was rolling in Zwift, the project was essentially finished from Paulo’s side of things. There’s still the hope that another set of M5s (still sitting in an envelope on a bedside table) can be set up to emulate a footpod for running in Zwift (Nicholle was always more of a runner than a cyclist, anyway), but, in the interim, there’s still the option of cycling in Zwift. (RGT, now part of the Wahoo family, seems to have the same issue that SYSTM does, in that Keiser Söze is detected but does not receive [or at least act on] data to put the avatar in motion.)

Right now, the M5s are plugged in to a mini USB hub, itself connected to a port on a charger. They rest easy on a nightstand and have no issues when the cat knocks them down, causing them to dangle over the edge; the entire setup is little more than a few grams.

Needing little power and having excellent transmission range in the house, the setup gets signal to the Apple TV setup in the room where the Keiser elliptical resides, allowing for a quick, easy setup to get moving each evening when I help Nicholle get strapped in for her sessions of ten minutes or more.

The whole process took roughly two months to complete, working around my & Paulo’s own jobs and lives in general on separate sides of the Atlantic. Just as Nicholle refuses to be stopped by everything MS throws her way—and MS does throw a lot—the process helped demonstrate to me and to the Flogging Pit community that we all have talents and can accomplish great things when we working together and communicating effectively.

We like to think of technology as anything with a circuit board and/or using software. But technology is really just the application of science—of knowledge—to solve a problem. Though this particular problem is quite unique and for a very specific audience, the joy it’s brought to a special someone in my own life is beyond measure.

Thanks for reading.

One reply on “Keiser Söze”

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s