Failed to upgrade target. Error is: No data received on serial port. Not able to proceed


#1

If you are getting this message it means your device is not ready to have code uploaded to it. Hold down the magic button for two seconds then release. Your device should flash purple or the charging LED should go out, depending on what version of the firmware you have. Then you have two minutes to upload your code. You will get a success rainbow when it is complete.


#2

I can’t seem to get the device to go back into coding mode (or do anything else) now that I’ve uploaded the test blue code. I followed this, to no avail. Even pushing the reset button with a pin doesn’t seem to do anything. Suggestions? :frowning:


#3

Okay, let’s fix this! What happens when you push the reset button?


#4

Yeah! Seemingly nothing happens when I pushed the reset button. I expected the lights to just go away, but perhaps I understood wrong what was supposed to happen! :smiley:


#5

Is your device plugged in? If your device is plugged in and you hit the reset button it should go back into upload mode. Is your light still blue when plugged in?


#6

BTW - there was an update to the code last night that made the delay parameter seconds instead of microseconds. Your bot could also just be waiting out those seconds.


#7

hmm it was still on this morning when I woke up, so it think it would have probably timed out by then regardless.

now the light is off (guessing it ran out of battery) but nothing has turned on even now that it’s plugged in and had been for about 10 minutes. A push of the rest button and a upload of a blank sketch from both the Firmware and the JWB board selection still leads to the error this thread was originally about


#8

Hi Jenna!

Do you think you can give a picture or copy&paste the exact error message you are getting?

As of right now, even when successfully uploaded code appears the Arduino IDE always prints out orange error text. However, when you get an error, did you notice if at the bottom it said
"DFU upgrade took XXXXs
Device programmed. "
If so, then it is successful! Regardless of what the rest of the orange text shows.

An error message will also show if you do not have the right port selected OR if you are not in Uploade Mode. (To get into Upload Mode, you press and hold the Magic Button for 2 seconds while your Jewelbot is plugged in). The error would look something like this:

If neither of these are helpful, again please copy&paste your exact error message, so that we can maybe help you troubleshoot!!


#9

I can’t even turn it on anymore


#10

@Quymbee – spoke to Jenna, she can’t get her bot to respond.

@jenna - getting you a replacement!


#11

Yes okay!

Please send me your address via email at hi@jewelbots.com


#12

Thanks again @sara! Will do @Quymbee, and thanks!


#13

I got my replacement Jewelbots in the mail and am just setting them up now. The initial ones needed to be replaced because they won’t turn on anymore (as discussed in a different forum post). I wanted to update this thread with my findings using the new ones to help people in the future troubleshoot.

When I received the new Jewelbots, I charged and followed the instructions on the jewelbots.com/go page. I removed and then re-installed the firmware update to make sure I had the latest version. I plugged them into the USB port on the front of my PC, using the provided USB cord, and ran the update.

Here’s what I got:

C:\Program Files (x86)\Arduino>echo off
Upgrading target on COM7 with DFU package C:\Users\aaron\AppData\Local\Arduino15\packages\Jewelbots_Firmware_Update\hardware\JWBFirmware\1.0.0\JWB_update_1_04a.zip. Flow control is disabled.

Starting DFU upgrade of type 3, SoftDevice size: 106464, bootloader size: 17084, application size: 0
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
Sending DFU init packet
Sending firmware file

.
.
.

DFU upgrade took 49.8350000381s
Device programmed.
Upgrading target on COM7 with DFU package C:\Users\aaron\AppData\Local\Arduino15\packages\Jewelbots_Firmware_Update\hardware\JWBFirmware\1.0.0\JWB_update_1_04b.zip. Flow control is disabled.

Starting DFU upgrade of type 4, SoftDevice size: 0, bootloader size: 0, application size: 46560
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
Timed out waiting for acknowledgement from device.

Failed to upgrade target. Error is: No data received on serial port. Not able to proceed.

Possible causes:

  • bootloader, SoftDevice or application on target does not match the requirements in the DFU package.
  • baud rate or flow control is not the same as in the target bootloader.
  • target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.
    the selected serial port - target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.
    does not exist or your board is not connected

I tried this a few times with some variations. I finally got it to work by plugging the JB into a different USB port in the back of the PC. Instead of the error above, it ran through JWB_update_1_04b.zip and followed up with

DFU upgrade took 25.6640000343s
Device programmed.


#14

Aaron,

Thank you for posting your issue. The original error sometimes happens when the correct port isn’t chosen in the Arduino IDE or the device isn’t in upload mode. It seems, towards the end of your post, that you were able to get the device updated, is that correct?


#15

Yes, I was able to update both Jewelbots.

The port was correct. I skipped the details of my troubleshooting but suffice it to say that I tried various options. The issue was the USB port. When I switched to a port in the back of the PC, it worked. I repro’d the exact same steps on the second Jewelbot:

  • Plug it into front USB port
  • Attempt firmware upload
  • Note that the first zip succeeds
  • Note that the second zip fails with the above error message
  • Repeat several times
  • Plug it into rear USB port
  • Attempt firmware upload
  • Note both steps succeed

USB ports are often finicky, as are USB cables. I’m sure you’ve run into your fair share of these issues during your own testing, as evidenced by comments in the documentation about suggesting that people use the USB cables provided in the packaging. :slight_smile:


My Jewelbot doesn't turn on anymore?
#16

We did, but this is the first time we are hearing the actual port is the issue. It has been interesting to see all the different levels of quality USB cables have. Not something you think about unless you have to.


#17

I was having problems updating my daughters’ jewelbots. I use linux mint and it wouldn’t complete the whole update correctly. not sure why. I’ve fixed them using a window computer. Any ideas as to why the Linux didn’t work?


#18

@daveylcarp, I don’t know! Can you you tell us what happened and we can look into improving it?


#19

This is the results from updating a new out of the box Jewelbot.


DFU upgrade took 46.5448651314s
Device programmed.
Upgrading target on /dev/ttyUSB0 with DFU package /home/david/.arduino15/packages/Jewelbots_Firmware_Update/hardware/JWBFirmware/1.0.0/JWB_update_1_04b.zip. Flow control is disabled.

Starting DFU upgrade of type 4, SoftDevice size: 0, bootloader size: 0, application size: 46560
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.
Timed out waiting for acknowledgement from device.

Failed to upgrade target. Error is: No data received on serial port. Not able to proceed.

Possible causes:

  • bootloader, SoftDevice or application on target does not match the requirements in the DFU package.
  • baud rate or flow control is not the same as in the target bootloader.
  • target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.

#20

It looks like some one else was having the same problem.