Switching from "Solo Coding" to pairing mode


#1

Hi

My device is now in “Solo coding” mode, and I want to bring it back to pairing mode. I read that to start pairing mode I need to press and hold the button for 2 seconds, but once I press the button, it starts running the current program on the device…

I tried uploading a blank sketch, with nothing inside the setup and loop function, after selecting the “Factory Firmware Update” board and uploaded to the device, but again, once I press the magic button, it starts running the previous program.

What am I missing?

Thanks, Meital


#2

You need to pick the “Friendship Coding Mode” board. It’s right by “Factory Firmware Update” board.


#3

Thank you for the quick response.
Switch to “Friendship Coding Mode” and then what?

I switch to “Friendship Coding Mode” and uploaded an empty program, but still when I disconnect it and press the magic button it is running the old program.


#4

Hi @meitalo, you’re so close! Instead of uploading a blank sketch choosing the Factory Firmware Update, do it using the Friendship Board. That will get you back in pairing mode. Hope this is helpful!!


#5

Thanks @sara, as noted in my previous message to Ellie, I switch to “Friendship Coding Mode” and uploaded an empty program, but still when I disconnect it and press the magic button it is running the old program.


#6

Okay. Thanks for walking me through this, hope I can help you get to the other side. What is the code you uploaded on the device? Can you tell me what the readout is on the arduino IDE after you upload the blank sketch? Thank you!


#7

Hi @sara
These are the exact steps, done on a Mac:

  1. I switched the board to “Friendship Coding Mode”
  2. I used the port: /dev/cu.Bluetooth-Incoming-Port
  3. While the device is connected by USB, pressed for 2 seconds until it went into upload mode (with a rainbow/pink LED)
  4. Uploaded the BareMinimum code
  5. After a few seconds the IDE says “Done Uploading”

The whole text from the IDE console:

Archiving built core (caching) in: /var/folders/pz/j8__826d4wgc8hwg930pq10h0000gn/T/arduino_cache_589303/core/core_Jewelbots_Friendship_Library_Jewelbot_v1_nRF51822_7783233b8ce2f2a1d3c2a82db577a07d.a
Failed to execute script main
Upgrading target on /dev/cu.Bluetooth-Incoming-Port with DFU package /private/var/folders/pz/j8__826d4wgc8hwg930pq10h0000gn/T/arduino_build_604064/BareMinimum.ino.zip. Flow control is disabled.

Starting DFU upgrade of type 4, SoftDevice size: 0, bootloader size: 0, application size: 49048
Sending DFU start packet, afterwards we wait for the flash on target to be initialized before continuing.

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.
    Timed out waiting for acknowledgement from device.
  • baud rate or flow control is not the same as in the target bootloader.
    Failed to execute script main
  • target is not in DFU mode. If using the SDK examples, press Button 4 and RESET and release both to enter DFU mode.

#8

Got it, it looks like the code is not making it onto the Jewelbots. When you go to Tools -> Ports what port is selected?


#9

/dev/cu.Bluetooth-Incoming-Port


#10

If this isn’t your only port it means that the Jewelbot isn’t being seen by your computer. Do you have another USB cable you can try?