50” 4K tv
Cable device to transmit HR
Replaced True CS800 upper console with Arduino Mega controller. An ESP-32 runs BLE Source GATT sending speed and grade data to Zwift. The shield on top of the Mega is a custom PCB with MAX3232 and 3.3 to 5V line-conversion chips in-place.
The Nextion programmable touch screen (under the monitor) is controlled using serial protocol from the Mega
I have programmed Grade vs Distance for all Watopia runs and most speed (for the 13.1 training series of workouts) as well!
The treadmill adjusts incline automatically (based on internal maps, not, sadly, from Zwift) as % grade changes during run. Sorry about the picture. My shoe was untied.
Future plans include variable fan speeds, Neopixel strips on each side of the treadmill, (Training zones?
Terrain? Disco??) and a video based stride analysis using Pixy2 cameras.
Thanks— treadmill design has remained unchanged for so long.
I think there is a lot of untapped potential
Chris, I know that Zwift send grade information on ANT+ FE-c for biking, can you use that to get the incline? I don’t know if the bluetooth protocol does the same.
That’s a really really good thought. Let me do some digging. The BLE protocols are (almost unbelievably) transparent, and well documented. I imagine I would configure the ESP32 to spoof a trainer, start a ride and record grade at set intervals.
I added 2 strips of 144 AdaFruit Neopixels to the treadmill and timed them to flash at my current powerZone Color. E.G. at 103% 10K pace, they blink orange. At 75% 10K pace, they blink blue. The cadence is adjustable, but for me, I’m shooting for 175-180 per minute.
I am doing this because I realize that, when I’m tired, I over-stride and when I over-stride, I run goofy and when I run goofy, I hurt myself. Especially as I get stronger and faster.
This will either give me seizures or be an effective training tool.
Something else (that probably works much better for cadence control) is the metronome by google. The tick meshes well with the thud of my shoe, and is adjustable to any cadence you choose.
Some pretty cool updates… I incorporated an adjustable metronome to maintain pace. Three Hz (180 BPM) pulsed white noise seems to work best, closely approximating he sound of a second runner.
I also added a VL53LOX laser rangefinder that adjusts treadmill speed based on runner position. When runner is closer than 220mm to front, treadmill accelerates at 0.1 MPH per second. When runner is farther than 550mm, treadmill decelerates.
With these, I can now enjoy a hand-free, grade perfect Zwift run along any course. Without touching the treadmill. Now there are no more excuses not to use the treadmill. I guess I better actually train…
Here’s a picture showing the LIDAR, the pacing speaker, the Nextion touch display and an iPad stand I cobbled together. The components are supported using MakerBeam extruded segments that are bolted to the frame of the treadmill.
Your treadmill is MIGHTY!!
More Updates to the treadmill… I added an interval page to the control system. (See picture). This allows me to create some pretty amazing intervals. I can choose speed, distance, METS or time as well as nested repeats. Each interval has a starting and ending grade. In the case of a METs interval, the user chooses how much effort (in mets), and the treadmill alters speed to maintain the same degree of perceived effort. Therefore, an interval can start at negative 2 incline and proceed to 15 percent while adjusting speed 10x per second to maintain METS. Now I just gotta get in shape…
@Chris_Hanger Your setup look awesome!