Treadmill Project

Thank you Dave and Cad,

Dave, I've been looking into the Optos, and I agree that it would be the best idea for protecting the computers end.

Also, I checked out the Alatec website and found some good stuff but I guess at my entry level electronics know-how I am overwhelmed with this stuff.

Which Arduino should I get for this project at this stage in order to dechipher the voltages and pwm signals? It sounds like reading those might be difficult to do? Also I have priced Oscilloscopes... I feel like Id be paying for a high quality audio system without the amazing sound quality lol. I saw some cheap versions for 140$ I am interested in that, but at those point I have to find out how the treadmill is sending out the signal and I think to do that I need the Arduino.

CadCoke, I am not For sure that my pwm signal for the motor control specifically is 0-5. It could be for the incline, I had assumped they were both similar in operation. I have to do some testing. Any recommendations on which arduino to get in order to intercept the signals?

I was thinking the Uno R3 would be ok but the Mega looks tempting. I dont think I will need that many pwm signals either.

Any Arduino can read an analog signal, or analyze a PWM signal (provided the frequency is not too high). Though, you would need a voltage divider (i.e. two resistors) to cut the voltage down if necessary.

By the way,I have seen some mentions of using an Arduino as an oscilloscope. Though, I imagine unless there is a bunch of hardware added, you would need to have prior knowledge that the voltages on the signal is withing the ratings for the Arduino.


I have priced Oscilloscopes… l. I saw some cheap versions for 140$

$140… yeah, let me save you $140…

these are software programs that use your sound card input to display the frequency. since frequency is a word for how often something happens… and your pulse is how often something happens…

google free o-scope to see what is available for your platform. (not everyone uses Linux)

that helps part of the equation…

I just bought 2 Uno R3’s.

Thanks for the heads up.

I dont use Linux, but I need to learn how. I have an older computer that will do what I need it to with the sound card and I can probably put Linux on it tomorrow.

Later in the project I am gonna post videos of the progress. I’ve seen people with questions and answers and once they get the answers they do not follow up on t he project. Want to help out whoever is interested.

Thanks Dave and Cad

free o-scope versions for windows, linux and mac. no need to load a platform you are not familiar with. using something other than your main box is a VERY good idea.

get some opto's 90% of what is available will work, you will have to look to find one too slow.

find a part, get the data sheet and check the propegation delay. needs to be faster than 100ns. determine resistor values needed and get some resistors. get some LED's as well. you should be able to put one opto to receive the signal, and another to output from the first one. and have the LED connected in between to blink at whatever rate the PWM is. series led for sizing the resistor

I am downloading Linux anyways because sometimes folks i know only need a basic computer and I've seen tutorials for setting the theme to look like windows 7 etc and this would be a great time to start learning it. I have done computer repair and rebuilds for 12 years, its about time I get my head back in the game. Thank you for the advice. I will probably try these programs on an old laptop and once i feel more comfortable I might put this linux program on a Pentium 4 that just doesnt seem to perform anymore. I am interested to see how it does with linux.

As far as the Optos, been looking at some on Amazon. I am gonna get them once I do a bit more research on how I am gonna set it all up.

Do you think this program will work? Also checking out this one - .

Thanks for the input. Going to continue to look more into this. Bought a dummies book for backup :blush:

Latest Update:

Bought the 2 Arduinos, they are still on the way due to the weather in Atlanta, whereabouts I live.

Have been watching videos and learning about the sound-card oscilloscope, and I think I get the jist of it. Bought some 3.5mm jacks today. I think by the end of this coming week I should be able to have learned enough to control the board.

Got the Boards today

Ran the Volt/Ohmeter on the pins and found that they are pushing 1 volt on all of the active pins.

  • That makes me think that its possible all of the signals might be pwm.

I bought the the 3.5 mm audio jacks, but none of them have come in. I want to find a way to connect a wire to the wire being used and run the signal in my stereo/audio. To do the oscilloscope trick. At 1Volt, what is the risk of frying my audio circuits? What I am hoping that I will find it the Square wave pattern going in speed but it also has 4 different speed labels on the boards. Does anyone have any ideas on what the extra ones could be or how to diagnose it?

  • SPD Up
  • SPD Down
  • SPD - ST-IN (Maybe Start Switch In)
  • SPD - SPD

Or any clue what the VR’s might go to?

I have contacted the company but they have yet to answer.

typically VR-1,2 and 3 would be your 5 or 10k speed pot

just wire in a 10k pot. most time VR-2 will be the wiper.

as a note, treadmill controllers typically require that the speed pot be turned off or to minimum speed when the power is applied. you cannot just start them as speed.

often there is a fixed ramp speed. so it will take x seconds to get to full speed.

looks like VR-1 is 5v and VR-3 is ground. that means the wiper of your pot would go to VR-2 to control the speed.

very interested to know how that works out.

bty, if you motor has blue wires they are most likely to a temperature sensor. they open the circuit when the motor gets too hot.

figure the board is running about 120 to 140 volts AC
and 90 volts DC.

so, if you are concerned about your audio jack, select a resistor to start testing with based on those values.

figure your audio jack could handle about 0.1ma for your calculations.

better to start out too safe.

maybe even use an LED instead while you are getting things set up.

I repair fitness equipment for a living, so please allow me pass on what I know. (which is not much). During POST of the display pcb it sends an enable to the motor controller to activate the motor run relay but does not send a motor pwm signal. The controller reports to the display pcb the motor current and if it see a large amount the controller goes into "fold-back current limit". Fold-back current limit is done by the motor controller, but some display can do it also. This is to keep a shorted mosfet from throwing the user into the wall. So I would guess that one pin must be the relay enable signal. Also I would guess that the controller "talks" to the display. I say this because some display pcb's allow me to view DC buss voltage, fold-back current status and RPM (better displays yield more info). I am sure that the RPM signal from the reed switch is passed through the motor controller and up to the display pcb. The lift motor is almost always controlled by a simple "up" "down" signal, but if the lift motor has a pot on it, that too will be passed up to the display. FYI, I work for both Spirit and Sole doing warranty repairs and they don't tell us anything either. PS: Don't take anything I said as fact, just opinion.

Thank you for the info Dave and Jgum.

I have not updated lately because I have been trying to learn C++ and C# programming for the software side.

I did try connecting a wire via exposing the speed wire and splicing it with resistance to the Audio in. There was a lot of noise/interference to say the least and I did not see any form of a square wave which leads me to think that the wire is the enable motor signal.

Today I was doing research on building my own board, but Jgum, when you mention the Mosfet protection... that can be very important as these failsafes protect the user. The last thing I want is a custom board breaking peoples backs, bones, and pride.

I still have not received my 3.5mm Jacks and I have avoided taking the jacks off of my beloved electronics, but I found an old CD Player that I might try to use. Is there any particular way to set this up? When I clip the wire using an alligator clip and run it to the 3.5 mm jack, is there anything that I need to do about the ground? Considering that I would only have the 1 wire?

Dave, I would not know where to begin to calculating the right resistor size. You are right, that it has about 120 Volts AC, but if i remember correctly, everything on the board becomes DC after the rectifier that we installed which is rated at 1000 Volts and 35amps. (We installed it after troubleshooting the ohms on the board and found that the rectifier went bad).

With Jgum's input would you still recommend installing a Potentiometer to try to control it? I have not purchased one yet. I was thinking about buying this ( and then using my second Arduino to control it.

All of this info is still overwhelming, but i am trying to hang on in hopes of learning this stuff hands on.

put on a 5k pot. a 1 watt or so. the larger type on old radios.

if that does the speed, then just connect a stepper to the pot and control the stepper.

the irony would be that you are using a stepper to control a treadmill, that is, in a way, a stepper.

A pot will not control this board. When we test to see if a "NBM= No Belt Movement" is a mcb or display issue. We look for a .5 to 1.5 VDC signal. Our meters don't measure PWM, so this is a crude test to see if any type of signal is coming from the display PCB. We also listen for the relay click when starting the walk belt.

If a pot would not control the board, what exactly would you suggest?

If the MCB- board is not being controlled by PWM signals then I am not sure why when the treadmill starts the PWM LED becomes lit. Starting to think building my own driver board would be best xD

The board is controlled by 0v to 5vdc square wave of variable period coming from the display. This is a signal that the ardurino can make, along with the relay enable ( a 5vdc High, I think) the drive motor should start. I will try to find one of these boards in my stock and get a closer look.

S/W - 17 Volt Dwn - -.086volt Up - -.086 volt VCC - 18 Volt Fast - 5 Volt Slow 5 volt Grnd - -.098 volt??? Spd - 5 Volt Spd - 0 Volt Vr1 - 5 Volt Vr2 - 5 volt Vr 3 - 0 Volt

Blew a few fuses trying to get amperage, because my multimeter has less than an amp tester.................. All the 5 volt ratings fluctuate some from 4.5 - 5. Ill have to do more testing later. The 1volt test was because I didnt test the Voltage on a high enough setting. I am learning just how over my head this stuff is. baby steps.

Actually, using Ohms Law, I should be able to check the resistance on the leads and calculate the Amperage since I now know the voltage right? A = V/R.

Latest update.

Got a 10000 ohm resistor tied in with a diode and am getting a 60 hz signal, but I cant really tell how to read the PWM yet.

I have included the pictures of the schematics below.

I would greatly appreciate anyones assistance in figuring out how to use the Arduino to replicate this signal.

On JK1 there are 12 pins. Of interest to me are pins 5&6 or Fast/Slow

in the picture Schematic 3 I have a close up of JK1 and the pins and their wiring. Schematic 1 is the whole board.
Using Schematic 3 if you follow pins 5&6 it shows how it is connected. In schematic 1 it shows another branch of it that I do not understand. I am assuming that signal goes to an IC

JK2 is the reed switch which I might also use later, most likely will need it for displaying speed.

After looking over the schematics for a few hours, I've run into the conclusion that there is probably more than just PWM signals being sent.

PIC12F508 is a micro controller but I do know that the signal from the GP2 goes to the opto which goes to the other Microcontroller (if it wasnt complicated enough). The Fast pin goes to GP4, and Slow goes to GP5 and again everything coming out which is likely serial data of somekind goes out of GP2 which activates the PWM Led on the board which then goes to the Voltage IN on the ALT-633060A Microprocesor/controller which controls the PWM signal that goes to the transistors that control the motor. So I either need to interpret the PWM out going to the motor, or interpret the data coming out of the GP2 from 12F508 which I imagine... I cannot do since I am a newb at all of this.

Any suggestions? Anybody with 12F508 experience? Anybody know how to interpret data from such a source maybe coming off of the opto?

I am going to be researching it a bit more.

Here is the datasheet on the 12F508 -

(note: schematic says 12C508, but it is actually the 12F508)