Defective UltraBorg / what other things to try?



I am trying to figure out if I have a defective UltraBorg or if I am simply doing something wrong:

* I have connected the UltraBorg via the cables to Raspberry PI 3 (running Raspian Jessie).
* I can see the message from the Init() function ("Found UltraBorg at 36")
* I have two HC-SR04 sensors but no matter which connector I hook them up to, I get a ("No reading") from all of them when running the program. Calling the GetRawDistanceX() directly always returns a 0.0
* I also have two servos (Tower Pro SG90, part of the Pan-Tilt kit from Adafruit), the servos don't move, either by using the program or by manually calling SetServoPositionX()
* If I do a SetServoPositionX(value) followed by GetServoPositionX(), I get back the correct 'value', but the servo didn't move
* When I check the voltage on the Servo / Sensor VDD -> GND with a multimeter, I get a reading of 4.9V or so
* I tried the above with both the power coming from the Raspberry (jumper connected) and with power from an external source (jumper removed)
* Also tried switching out the Raspberry with a different one (also Raspberry PI 3)

Is there anything else I can try to debug this further? I unfortunately don't have an Oscilloscope, nor can I reprogram the PIC.



piborg's picture

This is not a problem we have seen before, I am not entirely sure what is at fault here.

Given the PIC is talking and returning the values you have sent it is likely that it is working correctly.
Usually this would point to a power problem of some kind, they can be tricky to track down.

If you can answer some questions it will help us figure out what is going wrong for you:

  1. What power supply(s) are you using for powering the Raspberry Pi and/or servos?
  2. Have you tried the ultrasonic sensors without the servos attached?
  3. Have you tried a single servo without any ultrasonic senors attached?
  4. Are there any signs of damage or bent pins on the UltraBorg?
  5. Can you attach some photos of the wiring between the Raspberry Pi, UltraBorg, servos, and ultrasonics?


Thanks for your response

1. I have tried multiple USB chargers as well as a 12.5 V (10 AA) via a BattBorg for the Raspberry PI. For the servos directly I have tried 4 AA as well as 5 V supply from USB. Sufficient to say, the Raspberry by itself works with these supplies as well as a PicoBorgRev connected to the PI (when the Raspberry is in my DiddyBorg Red)

2. Yes, I have, same result (all 0's from sensors)

3. Yes, same result (no movement)

4. No damage I can see

5. Please see attached (single sensor, powered via Raspberry / USB wall charger)



piborg's picture

None of us can think of an obvious reason for this problem, we are thinking that the board may be defective as well.

We will ship you out a replacement board to the same address as your last order (23047).

Thank you very much for your help. Will let you know what I find with the new board.


I received your updated board 2 days ago and saw the exact same results as with the first board, no response from either sensors or servos.

Not knowing what else to try, I ordered new new servos and sensors from Amazon (fortunately they are cheap) and low and behold, with the new equipment, everything works beautifully !!!

So it looks like both the sensors and both the servos I had originally were defective in some way and the boards were not to blame.

Would you like me to send you back one of the boards? Your second shipment also included another XLoBorg, I didn't have any issues with the original one, so now have an extra one of those as well.


piborg's picture

That is a surprising result, I would not have suspected it was the sensors and servos causing the trouble.
Either way I am happy to hear it is all working now :D

It would be appreciated if you can send the unneeded boards back to us at this address:
Freeburn Robotics Limited
Unit 15, Earith Business Park
Meadow Drove
PE28 3QF
United Kingdom

If you do send them back use a cheap courier service, we do not need them back in a hurry :)

Hi, I had read this thread since my situation is similar, and thought perhaps I might have a bad servo, so I ordered several more (since I needed them anyway). Well, the servos arrived and I still don't have any movement. My situation is similar to the above, but a bit more functional in that my ultrasonics are fully functional. The Ultraborg shows up on i2cdetect at address 36 on the bus.

The UltraBorg is powered from a Thunderborg or from a Pi B+, either connected with or without the Thunderborg present (i.e,. directly to the Pi's I2C bus). Power showing at 4.97 volts on the Ultraborg. I'm using either one of three Tower Pro micro servos or a Corona DS-929MG metal gear micro servo. These were purchased from Adafruit and are new.

I've tested this without any ultrasonics connected, and there is no apparent damage to pins, etc.

I created a short Python script and similar to Nikolai, a call to SetServoPosition1(0.4), returns 0.399532 from GetServoPosition1(), but there is no movement. I thought I might have plugged the servo into the wrong channel, but no. I do note that the setter/getter methods return the same thing if no servo is connected, so this doesn't seem like a valid test.

Is there some way in Python to find out if the Ultraborg can actually see a servo?

Thank you.

piborg's picture

Unfortunately the UltraBorg cannot tell if there is a servo attached. What it does is provide a control signal to the "S" pin which the servo should react to. It has no way of knowing if the servo is there or if it actually moved.

If you have not already I would suggest you try the following setup:

  • Disconnect all of the servos and ultrasonic modules
  • Remove the "5V link" jumper from the UltraBorg
  • Connect a power supply or batteries to supply 5V to the V+ and GND screw terminals
  • Try one of the servos on the UltraBorg to see if it moves

If that does not work try the servo in the other three servo connectors. If only some connectors work then it means the UltraBorg is faulty.

Subscribe to Comments for "Defective UltraBorg / what other things to try?"