Weird connection issue - curious

Got a hilt in to re-programme and I’m finding that uploads are a bit hit or miss. The board connects fine, shows up in Port and upload shows as normal and says it’s been successful. But immediately after the upload, it doesn’t boot - it just sits there. If you then go into serial monitor it’s just blank, as if the board isn’t connected, even though it’s still showing and ticked in Ports and will still accept it if you just hit upload again.

But it only happens sometimes.

For instance I’ve had a config that exhibited the issue, then uploaded a different config which worked fine with a normal post-upload boot, then gone back and uploaded the first config again and this time it’s worked fine.

The install was not by me but is one of 89 Sabers’ own installs with their own chassis, so I don’t know where they get their boards or who makes them. It’s not a huge drama as I now have the required config on the board - I’m just curious if anyone has seen this and/or if there’s a simple remedy.

The only similar experience I had was when SubBlade had a incorrectly configured blade description, where it would seemingly “brick” the board. However, it was dead dead, as in needed to be manually put in bootloader to respond at all. Additionally, I think that has been fixed in code to generate an Error In Blade Array instead of the board crashing.
I would say it’s not impossible that your boot.wav might be wackadoo somehow? or the SD card being read, or…something.
It’s always annoying when the issue is temperamental as it makes troubleshooting tough.

1 Like

Try connecting without SD inserted. If Serial Monitor works without SD then its possible the SD or something on the SD is causing. There seem to be more and more problematic SD cards in circulation since the shortages so I’d try to rule it out first.

1 Like

Thanks for the thoughts guys.
Unfortunately the SD isn’t the culprit, as I always flash boards without the SD fitted.
Interesting what you say about sub blades though Brian, as the config did have sub-blades. But I’ve used essentially the same setup in other hilts with no issues.
But just in case, here’s the blade array:

BladeConfig blades[] = {
  { 0,
//  Main Blade:
 	WS281XBladePtr<132, bladePin, Color8::GRB, PowerPINS<bladePowerPin2, bladePowerPin3>>(),
//  Accent 1:
    SubBlade (0, 0, WS281XBladePtr<2, blade2Pin, Color8::GRB, PowerPINS<bladePowerPin4, bladePowerPin5>>()),
//  Accent 2:
    SubBlade(1, 1, NULL), 
CONFIGARRAY(presets) },

I have seen similar issues myself, but I don’t have any idea what might be causing it.
It’s never been reproducible enough to be able to debug it properly.

Thanks Prof.
It’s always re-assuring when it’s not just me that finds these gremlins.
I would offer to help trying to track this down using this board, but the hilt belongs to a customer and isn’t my install - all he wanted was it re-programming. Hence now that I’ve got it setup how he wants it, I’d rather not tempt fate by messing around with it any further if i can avoid it.