Arduino Uno R3 and Micro Serial Servo Controller (8)

Hi,

I am getting the solid red LED and blinking green LED using the SoftwareSerial library.
I understand this is a problem that there is some noise on the line, and the auto-baud detect does not succeed.
The same Arduino sketch works with the DueMilanNove just fine, but does not work with the Uno R3.
I’ve tried many suggestions on the forum and my current setup code is this:

pinMode(rxPin, INPUT);
// Keep Pololu board from getting spurious signal
digitalWrite(txPin, HIGH);
pinMode(txPin, OUTPUT);

swserial.begin(9600);
delay(1000);
        
pinMode(rstPin, OUTPUT);
delay(10);
pinMode(rstPin, INPUT);
delay(10);

I used to have these exact problems with the DueMilanNove as well, but driving the TX pin high and doing the reset of the Pololu solved it for the DueMilanNove, but it just does not work with the Uno R3.

I would appreciate any comments/suggestions.
Thanks

Hello, Willem.

I am sorry you are having trouble getting the Micro Serial Servo Controller to work with your Uno. Since the same sketch works with your Duemilanove, I suspect that the problem might be with the Uno or its connections. Can you verify that the Uno can communicate over serial with other devices? If that does not work, can you post pictures that show your connections?

-Jon

Hi Jon,

Thanks for the reply. I only have one setup the connections are the same. In fact, I just swap the between the Uno and the Due. The Due works, the Uno doesn’t, the same connections, the same sketch. I also tried a second Uno compatible board the Freetronics Eleven, which also doesn’t work. The problem is related to using the Arduino SoftwareSerial library. I tried different baud rates as well, then just the yellow LED comes on.
Just using a multimeter, I do see that when the Arduino boots, the TX pin 9 voltage goes up to 7V before settling on 5V (however, this happens with both the Uno and the Due). I suspect that the Uno just has a different boot behaviour, but I would have thought that resetting the Pololu after the Arduino has booted, would negate any of the start up problems.

Thanks

I looked into this further and I suspect that SoftwareSerial is producing signals that are not perfectly on time, so the serial servo controller’s detection of the baud rate fails, and then all further signals are generally misinterpreted by the controller.

You might try using a slower baud rate. However, I recommend using one of our Maestro servo controllers, which are all around better servo controllers that allow you to set a fixed baud rate, so you would not have to worry about auto-detection failures.

-Jon

Thanks Jon

I having the same problem with the UNOand came across this thread. Is there a fix for this?

Hello.

If your setup is exactly the same as Willem’s, then you can also use the same recommendation the thread concluded in:

If your setup is in any way different, you should post what is different. For example, are you using the same snippet of code posted in the original post, using the SoftwareSerial library, and observing a solid red LED and blinking green LED?

-Jon