@dvberkel thanks for being so proactive. Have you tried a factory reset by sticking a pin or paperclip in the side and hitting the button?
I see by your response that you did try a reset. If that’s the case, I’m afraid there is nothing we can do but replace it.
You may have seen my email, but one more thing to check is ensuring that when you update the bots the Jewelbots Firmware Update board is selected in Tools -> Boards, not the JWB nRF51822.
@sara I did tried the factory reset when I was upgrading the firmware. I haven’t tried it since.
Uploading an empty program to the bot would be consistent with the behaviour. I don’t think that I did that, but it is worth triple-checking. I will do that in the morning and come back with my results.
I started the Arduino IDE and the board that was selected showed the Jewelbots Firmware Update. So I am pretty sure that I did not upload an empty sketch. For good measure I tried to upgrade again. Below is a transcript of the Arduino console.
Upgrading target on /dev/ttyUSB0 with DFU package /home/dvberkel/.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 46.5020020008s Device programmed. Upgrading target on /dev/ttyUSB0 with DFU package /home/dvberkel/.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.
Unfortunatly, still no rainbow animation afterwards. And the bot is still not responding.
I also tried various ways of a factory reset. While hooked to a socket, computer or unhooked. Single press of the magic button, long press of the magic button, 1 Mississippi, 2 Mississippi press of the magic button.
unfortunately nothing changed. My bot still seems unresponsive
bummer, thanks for trying. Happy to replace it, but wish we were able to figure out a way for you not have to.
I would also rather revive it than to have it replaced.
Whoot! I managed to upgrade the firmware correctly! An other user had similar problems that were described in second stage of firmwarer doesn’t upload successfully. The suggested manual firmware upgrade was successful and showed me a rainbow animation.
UPDATE: ~/ isn’t supported by JWBLoader_osx so use /Users/user.name in example.
UPDATE 2: typo in --port. It’s cu.usbserial- not cu/usbserial. Using two computers for this leads to errors in transcription.
I successfully recovered an apparently dead Jewelbot using macOS. This may be useful to other travelers here.
I downloaded the JWBLoader_osx program from the Jewelbots/arduino-library:
And ran it like this:
cd ~/Downloads chmod +x JWBLoader_osx ./JWBLoader_osx --verbose dfu serial --package=/Users/user.name/Library/Arduino15/packages/Jewelbots_Firmware_Update/hardware/JWBFirware/1.1.6/JWB_update_1_1_6b.zip --port=/dev/cu.usbserial-XXXXXXXX --baudrate=38400
The path for --package will vary depending on what version of the firmware you have.
Running that logged something like this:
Upgrading target on /dev/cu/usbserial-XXXXXXXX with DFU package /Users/user.name/Library/Arduino15/packages/Jewelbots_Firmware_Update/hardware/JWBFirware/1.1.6/JWB_update_1_1_6b.zip. Flow control is disabled. Starting DFU upgrade of type 4, Soft Device size: 0, bootloader size:0, application size: 47944 Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing. Sending DFU init packet. Sending firmware file [#####################################] 100% Device programmed. Failed to execute script __main__
After this, the Jewelbot showed the rainbow sequence and was working again. I successfully programmed it afterwards using the Arduino IDE on macOS.