I bought a VESC 6 MKV that has firmware 5.2 on it. I'm trying to downgrade to a custom version of 5.02 that will allow for servo control, but whenever I upload the firmware through vesc_tool version 3.00. It gets to 100% on the green bar, then the debug log gets this message, right before disconnecting itself:
2021-12-01 18:08:23: Status: Serial port error: Device not configured
When I reconnect to the VESC, it still has firmware 5.2
Things I tried:
1. I first went to the bootloader tab and uploaded the bootloader, clicked Write Motor Configuration button and then clicked Write App Confguration button. Then I uploaded my custom firmware, but I got the same error and no change in the firmware.
2. I tried uploading from a Mac, and I tried uploading from Linux. I could try from Windows too, but given I have tried from two different computers I am inclined to think it is not the computer. If someone feels otherwise, I am happy to find a Windows machine and try it.
I'm at my wits end, not sure what I should do for next steps. I have the VESC hooked up to an RC car, and I can rotate the wheels and stuff through vesc_tool, so I don't think it's bricked. But the darn thing won't seem to program.
Here are some screenshots of the output: https://imgur.com/a/8LuH1UR
When you upload the bootloader, do not click on Write Motor Configuration! You need to click on the Arrow button next to the status bar on the lower edge of the window. After the bootloader upload, you can then upload the FW again. The new, upcoming Vesc-Tool will always upload the bootloader when you perform a FW update.
Thank you for the reply. I just tried that, but had the same result. Here's a video - please give it a watch and tell me if anything jumps out incorrect in my process.
https://www.youtube.com/watch?v=HEwLEAOdSwo
In general I have a decent amount of experience in software and electronics, but I'm having a hard time understanding what is going on since the logs don't tell me much. I also tried uploading the 'no limits' 5.2 firmware compiled by the maker of the vest_tool, but no luck.
First thing I see is a GND loop in the system. If you have a controller and power that controller form a battry, and interlink the controller via PPM to the VESC 6, you basically interconnect GND of your controller and GND of the VESC 6 logic stage. You should drop an opto decoupler in there, so that VESC 6 and external controller are isolated from another. It is totally normal that the VESC disconnects after the FW upload. Actually the FW is not uploaded straight into place, but into free memory space. Then the VESC 6 disconnects and starts to swap the FW while being offline. that is why you should not de-power it for 10 seconds. If the FW doesn't load, something is bricked and you can't re-upload the bootloader again.
You can fix that by using a second VESC device as a programmer, or use a ST-Link V2. Watch his from minute 5 onwards: https://www.youtube.com/watch?v=PFFiVxFHDM4
If you use a clone ST-Link V2, please only connect GND, IO and CLK! If you use an original ST-Link programmer, you also need to connect VCC to the voltage sniffer pin of the ST-Link programmer.
I hope this will resolve your matter.
Thanks for the thoughtful reponse frank. Am I crazy, or is firmware version 5.2 and 5.02 the same? I see this string in the vesc_tool code for printing the firmware version in the gui
This could never print 5.02. Furthermore both major and minor are ints, so it can't even store a leading 0.
Lastly, I saw the change log in bldc only goes up to 5.02, and in the beta firmware forum here benjamin is discussing 5.03. So I guess 5.2==5.02? If this is the case, then that is the root of my problem... I am not trying to downgrade from 5.2 to 5.02, I am already on 5.02 and trying to load a custom version of 5.02 that will just appear identical in the gui.