Hb25- Initialzing Via A Power Cycle


I have had a little issue with using the Parallaz HB25 motor controllers I use with "Cy". Maybe someone could shed some light on this.
It would seem every time I go to power up the robot, I seem to have to cycle the power to the HB25's a "second" time before they will work with EZB. Power to the HB25 and Parallaz drive motors is the required 12V via a 7A SLA.
I use the continous servo control with these, and generally have no problem with controlling them with scripts and such, but only after I have cycled the power to them the second time.
One thing to note, I do have a small delay built in to initalize the HB25's as per Parallax's recommendation, and have tried a longer init and a shorter init times, with no difference in the result.
I know others use these here too, so any ideas on whats going on? I have already looked thru here but could not find an answer to this so far.



Sounds as if the pwm detection of that motor controller gets confused. I doubt there is anything you can do on the ezb's side, unfortunately. You can attempt to re-initialize the pwm at a different duty cycle to see if that makes a difference.

There was another controller that has the same experience from spark fun. I forget the model number, but I used it on my omnibot. I would have to cycle the power on it if the ezb was ever disconnected because it would lose the pwm sync.

Lastly, check if there is a firmware upgrade for the Motor controller. Perhaps this has been resolved by the manufacturer?

Tough part is that parallax is getting out of Robotics and focusing on drones in education - so not sure how much time they are investing into fixing bugs - although their support is pretty good and Ken is a really great guy.


The HB-25 need an initialization script. See this thread for details: http://www.ez-robot.com/Community/Forum/Thread?threadId=6848



Hi tech,
Yes I did know about the initialization, which I already am using. But would seem that it is having no effect, even if I stretch out the time a little bit more. I'm still having to cycle power. Il kinda thinking of adding a relay in the power input that would auto cycle the power from. the initial power up. Course this is just a thought.


That (relay) would probably work.




I'm familiar with those motor controllers, as per the documentation the I/O pin going to the HB-25 needs to be LOW when power is applied.

This is easy to control when you have an Arduino because the code runs immediately versus EZB waiting for the "brain" to tell what to do next.

you can try, a pull down resistor 1K between the GND and the HB25 pin, that will help the HB25 initialization and avoid the random locks when the pin floats waiting for a EZ-Builder command.

please let me know if it works.



I tried the 1K pull-down as recommended. Looks like that did the trick! I tried a couple of programs to verify. So now, upon power up, load the program, give the command and off he goes!



I've been there too, still good controllers.


Ah - that makes sense. The pin on the HB25 is a floating input and they didn't put a pulldown resistor on it from original design. That's a flaw which they documented as a feature Smile Sneaky devils.

Lesson to all of you - this is why a digital port that is selected as an INPUT must include a pull-up or pull-down resistor if connected to a switch or something that is also floating.

This is why if you set a digital port to input on the ez-b and monitor it in EZ-Builder, you can watch it flick states based on running your finger near it. Specifically in a very dry environment you can watch it change state all by itself from static.


Can you explain the resistor installation to a novice. I understand ground but do not understand how exactly how to install it on the HB25 pin. Are you saying to add a resistor in series with the ground wire that goes to the HB25 ground pin?

I would like to put this problem to bed.