T100 Blue ESC Init Issue

Hello,

I have two new T100 thrusters with the BlueESC pre-installed (f/w 2015-06-9, s/n 1811/1815), I have not touched the firmware or taken either thruster apart. I am using the I2C interfaces to control the thrusters (from two independent I2C ports so no issue with addressing) and I have grounded the PWM input wire.

When up and running both thrusters work perfectly, I can send thrust commands and sense voltage, temp etc. However I am experiencing some very odd start-up behaviour. At boot my software sends the thrust level 00 to both thrusters then checks for the magic number to be sure the interfaces are up and working. One thruster init’s fine and starts running, the other thruster doesn’t react at all to the init command and only starts up after a few seconds of non-zero thruster commands followed by a zero command. (both return the magic number as expected)

In order to simplify my problem I removed all other hardware, grounded the PWM input and pulled SCL and SDA high and toggled the power. One thruster starts up, flashes red once and beeps, the other thruster does not beep and flashes red once, twice then three times in repeat. To further my confusion, if I remove the thrusters from the water this behaviour reliably swaps between the thrusters…

When both are up and running there are no problems at all and I can read/write data all day long without any issues. This seems to be an issue with the way in which they are starting up, any suggestions?

Thanks,

Ben

Hi Ben,

I’m sorry you’re having issues! This problem seems to be showing up for a few people recently. It’s very odd that this only happens with both are connected, even though you have them connected to separate I2C buses.

Can you tell me a few more things about your setup. What hardware are you using? What voltage are you running the ESCs at?

The red flashing at the beginning is normally due to a failed hardware check in the software, but it sounds like the ESC is working fine once initialized. It’s possible that the hardware check is too sensitive and detecting an issue when there isn’t one.

Have you tried controlling them with PWM pulses for comparison?

I’ll look into this further and see if I can find any potential firmware fixes for the ESCs.

Please let us know if the situation improves.

Best,

Rusty

Hi Rusty,

I am using an LPC1768 mbed on a custom breakout PCB with 4K7 pull-ups on each I2C line, I’m using a dedicated I2C module on the mbed for each T100. The mbed is powered by a 7805 style linear reg derived from a 12V lead-acid battery and the same battery is connected to the ESC. To clarify this doesn’t only happen when both are connected, although it seems to happen more often with both, but sometimes it happens with just a single thruster. I tried using PWM when I was first developing the software and didn’t notice any problems but I’ve not tried for a while, I’ll give it a go. I would say that what I’m seeing agrees with your comment about an overly sensitive hardware check, sometimes it works fine and other times it can be quite stubborn but once up and running the thrusters seem quite happy with life.

Thanks for your help,

Ben

Ben,

Thanks for the info. Nothing sounds out of the ordinary. Please let me know how the PWM test goes. That might help to narrow it down a bit.

-Rusty

Hi Ben,

I just tested a software fix to this and it seems to work. Check this out: https://discuss.bluerobotics.com/t/blueesc-red-led-1-2-3-flashing-initialization-issue/

-Rusty

Hi Rusty,

Excellent! I’ll give it a go during the week and see what happens, I assume blueesc_id0.hex has the default I2C address of 0x29?

Thanks,

Ben

Ben, correct. The blueesc_id0.hex file has an I2C address of 0x29.

-Rusty

Hi Rusty,

I’ve tried the new firmware without the hardware check and so far so good, I’ve not had the blinking red LED problem since updating. I’ll roll the firmware out to our other thrusters and let you know if the problem re-appears at any point.

Thanks,

Ben

Ben,

Fantastic. Thanks for the update.

-Rusty