Around 2003, I acquired a surplus Schiller stress-test treadmill from the local hospital, which would have likely been equipped with an accompanying Schiller Exercise Stress ECG system. The ECG console would have controlled the treadmill via a DB9 RS232 serial port. This is a Trackmaster treadmill, which was originally manufactured by JAS Manufacturing, which has now been acquired by Full.Vision Inc. Specifications on the electrical inspection label are:
- Model: TM400/S
- Serial: 10868
- File: 20646-116
- Electrical Service: 115VAC, 20A, single phase

This treadmill has a couple of Integrated Control Corp (ICC) TM4 control boards (TM4 control board and Power/Relay Driver board) and the support engineer with whom I had been corresponding with back then told me that it would be possible to control the treadmill with some simple switches and sent me schematics of the two boards. I learned that there was possibility that there might be a surplus control panel that could be fitted to it and, while trying to find out more about a possible control panel, I dropped the ball and never learned about the simple switches. DIY automation has come a long way and my plan was to build a control console based on the Raspberry Pi microcomputer. Luckily, although ICC no longer has any treadmill techs, I was able to reach this support engineer again and he has been very helpful.
The simplest way to operate my treadmill would be with a computer via the RS232 port but this would require knowing the treadmill's serial protocol. It did not occur to me back when I got the treadmill that I could possibly use a computer and I just wanted to find a compatible treadmill console. Unfortunately, with the obsolescence of the treadmill and the change in factory ownership, the TM400/S treadmill serial protocol documentation is lost. Since so many treadmill brands use the Schiller Exercise ECG system, I suspect that treadmill serial protocol may be an industry standard. Full Vision did send their RS232 treadmill serial protocol and a TM400AC Owner's/Service Manual, which was also very helpful.
Although my original plan was to use an Arduino Uno to directly interface with the TM400/S via a RS232 shield, the support engineer suggested that I instead connect the Raspberry Pi directly via a USB to RS232 interface cable.
I will need run a 20amp, 115V line to a suitable location in my basement before I can power up my treadmill. In the meantime, I can power it up for testing purposes with a NEMA 5-20 pigtail plugged into a regular 15 amp outlet. I can start writing some Python code to control the TM400/S. To start building the control system, I have obtained the following items:
- Raspberry Pi 4, 8GB RAM: CanaKit, custom kit with power supply, heat sinks & cooling, cables
- Raspberry Pi: USB Type-C power supply, min 3.5A @ 5VDC (15W)
- Raspberry Pi: 7" touch screen
- SmartiPi Touch 2 - Raspberry Pi 7" Official Display case with Cooling Fan
- Sabrent USB 2.0 to Serial (9-Pin) DB-9 RS-232 Adapter Cable 6ft Cable [FTDI Chipset] (CB-FTDI)
- 64GB micro SDXC card, (Class 6 recommended for overall performance)
References: