Why is updating firmware so complicated?

Hey guys.

So it’s getting pretty frustrating. I’ve got the “ping1d” with the “BLUART” connected to my work laptop.

It’s pretty straight forward and Ping Viewer finds my ping1d and shows the “waterfall” image. Everything seems fine! Easy to connect, no error messages or anything.

But, I need to use this device with an Arduino, and I’ve followed the Blue Robotics guide on this subject. I’m running Ping Viewer version 2.3.2 (which is different than the one linked on your website btw) and I’ve tried both automatic and manual firmware “downgrade”.

The so called “status bar” in the firmware window doesn’t show anything when pressing the “Firmware Update” button. The pinging stops but there’s no progress bar or indication showing me anything.

I’ve tried to start Ping Viewer both in 9600 and 115200 baud, but it makes no difference. The downgrading never happens and after 2 hours of “patching”, I can unplug the USB cable (tried 2 brand new USB cables) and reconnect and Ping Viewer will find the device again, but it’s still in 3.28 version.

So my conclusion is that I’ve never really updated the firmware at any point. It never really starts updating anything. I don’t know why, but the pinger still works fine after being unplugged and reconnected after 10-15 tries with different settings. And yes, the RAW 3.27 file for manual updating, is NOT a .txt file.

I cannot think of anything I’ve forgotten to test or try out. It should be pretty straight forward, right?

I’m running Win10, but got 2 other PC’s with Win11 I could try it on. Not sure why it should help though.

Are there any error logs I can find somewhere or where should I start with debugging? I guess some of you would want to see some kind of log (myself included).

Thanks.

Hi @Marengsen,

Our docs download link is to the latest version that’s been tagged as stable - later releases may not be stable, or may not have been tested as thoroughly. That said, it does seem like the stable tag has been lagging behind by quite a bit, so thanks for letting us know - I’ve raised this internally and we’ll likely update it soon (probably to the latest release, but possibly a slightly earlier one).

That does sound like a bug - did you also try updating using the Ping Viewer version from the website?

Note also that we’ve just released an update to the ping-arduino library (0.1.1), so that it’s now able to work properly with the 3.28_auto firmware instead of needing to downgrade it. That should be available from the Arduino library manager within a few hours, although if necessary it’s possible to install manually by downloading the release .zip and using Sketch / Include Library / Add .ZIP Library.... We’re in the process of updating the guide you were following - it should be the same other than the recommended firmware version.

Yes, it should be straight forward. Given what you’ve tried, if it’s not working that’s most likely a bug/issue in the software rather than you doing something wrong.

The log files you/we would be after are the GUI Logs. We’d definitely appreciate if you can upload one from where the update didn’t work, but beyond that you’re welcome to install the updated Arduino library and move on with what you actually wanted to do with it :slight_smile:

It would be great if you could submit a bug report (requires a GitHub account) :slight_smile:

If we’re unable to replicate the firmware updating issue then we might ask for your help/some more logs, but it’s mostly important that you’re not being actively held back from using the device.

Holy crap! … I’m so glad I made this post. Thank you very much for your replies.

I just noticed you updated the Arduino library, and that’s REALLY nice, because now it all works perfectly!

Not sure what went wrong with the older versions, but I had tons of problems compiling, and to me it seems it was because of the MEGA libraries included in the ping1d-simple file. Now it seems its all been separated again, which made it run perfectly. But I guess it doesn’t matter what went wrong as long people use the lastest version (0.1.2)

Thank you very much for the Arduino update - that was very much needed with regards to the 3.28 “auto” function!

Yipee - off we go!

1 Like

Great to hear! :slight_smile:

Yeah, we released 0.1.0 last week to add support for the auto firmware, but then realised too late that there had been some other changes that got into the release that weren’t properly tested or integrated (hence releasing 0.1.1 today to fix those issues). Then there was another minor issue with the updated mega example not appearing in the IDE, so 0.1.2 was released to fix that.

Glad it’s appreciated. Everything takes time unfortunately, but that one was somewhat overdue, and it’s always great to have more complete support for our products on different platforms/devices :slight_smile:

On this front, there’s apparently a known issue with firmware updating that’s being dealt with today, so no need to post an issue. There should be a new Ping Viewer release within the next 24 hours or so that fixes the issue, and the stable tag will also be updated :slight_smile:

“There should be a new Ping Viewer release within the next 24 hours or so”

Sounds awesome! I’m dreaming of a future browser based ping viewer release, which means it could stream to any computer’s browser and monitor on a (research) vessel (where I’m working). Would be amazing!

Hehe, so are we. I believe that’s one of our longer term plans for integration into BlueOS :slight_smile:

Following up on this, Ping Viewer 2.3.3 is now available from both the github releases and the docs installation section :slight_smile: