Echologger choppy and incomplete data transfer

Hello everyone,

I’m using a BlueBoat from BlueRobotics and have installed an echosounder from Echologger, model ECT400. The device comes with an RS232 connector, which I’ve connected to the Raspberry Pi via an FTDI USB adapter using the FT230 chip.

No other USB devices connected, yet.

The echosounder can be accessed via the terminal using tools like picocom -b 115200 /dev/ttyUSB0, and this works flawlessly. When I enter the command #go in the terminal, the echosounder starts pinging, and the data comes in cleanly at a default frequency of 1 Hz. Using VirtualHere, I was able to view the data in the official Windows software and everything looks fine.

However, I need to log the data locally to avoid time delays that introduce unacceptable position inaccuracies. For that reason, I’m using Node-RED and reading the data via a serial in node with the correct baud rate of 115200 and line endings set to \n.

Unfortunately, the data from the Echologger arrives in very interrupted chunks. If I remove the line endings and instead read the data based on a time interval, I do see incoming data – but it’s still choppy and incomplete. I’ve already tried reinstalling BlueOS and changing the frequency or baud rate of the Echologger, but the problem persists.

Since the data stream works fine via the terminal, I’m starting to wonder if the issue is related to the fact that Node-RED runs inside a Docker container on BlueOS? Or could the problem be with the FTDI driver?

I’d be very grateful for any suggestions or tips on how I can continue troubleshooting this issue. Thank you!

A small addition: I have just installed NodeRED on my Windows 10 laptop and executed the same flow in NodeRED. The flow works there without any problems and the data comes in properly. The power is supplied via the BlueBoat.

I am using the latest stable firmware of BlueOS, NodeRED and the last version of Node-Red-Node-Serialport.

Since the data also comes in without any problems in Linux, I assume that it is due to the installation of NodeRED in a Docker.

Hi @ThomasM -

Interesting - can you share your flow? Can you also share your BlueOS logs, from the gear icon in the lower left of BlueOS? It’s possible something about running in the docker container, but other users who have integrated serial sensors, myself included, have not noticed this sort of delay…
You could always pivot and develop an extension, or add support to an existing one?

system_logs.zip (4.8 MB)

extension-patrickelectricblueosnodered110 (1).log (8.1 KB)

Hi Tony,

attached you’ll find the BlueOS and NodeRED log file. I reinstalled BlueOS and installed the latest BlueOS version and the latest version of NodeRED Extension. I also installed the latest version of Node-Red-Node-Serial. I then tried to use only one Serial-In Node and read in the data with the correct baud rate. However, NodeRED crashes every time I use SerialIn. As soon, as i delete the flow NodeRED is restarting properly. The port is not in use by Picocom or anything like that.

flows.json (912 Bytes)

I have already asked Echologger if they would contact you to write an extension. I don’t think I’m the only one who would benefit from this.