Important note

A typical procedure of a Picoclick looks like this:

  1. Button press will activate the Picoclick.

  2. A message will be sent out.

  3. Some LED stuff will happen.

  4. The Picoclick will deactivate itself.

Depending on the usage and/or the protocol which is used, these four steps can be processed more or less quickly. If using ESP-NOW for example point 4 can be reached in under 500ms.

If you wanna upload new code to the Picoclick then it is important that the device is activated. This sounds easy but if the device is only activated for a few hundred milliseconds then you probably won't hit the right point to start the upload process. Even if the button is held longer, the power supply of the embedded flash is deactivated once the MCU enters deep sleep mode.

In order to have enough time to upload new code it is recommended to use a loop right before the deep sleep mode will be entered. This loop can look like this:

int counter = 0;
while(digitalRead(BUTTON_PIN) == 1){
    leds[0] = counter % 2 == 0 ? CRGB::Blue : CRGB::Black;
    leds[1] = (counter+1) % 2 == 0 ? CRGB::Blue : CRGB::Black;
    FastLED.show();
    delay(50);
    counter++;
}

// Add a loop which will wait as long as the button is pressed before entering deepsleep.
// Once in deepsleep the USB console is not available anymore.
esp_deep_sleep_start();

So as long as the button is pressed, the device will blink both LEDs alternately. Thereafter the deep sleep mode will be entered.

If you haven't follow these intructions and you're unable to flash code to your Picoclick then you have to follow the steps in the next chapter.

Boot jumper

The boot soldering jumper connects the boot strapping pin of the ESP32 to GND and thus will enter the boot mode once powered on again.

Reasons why you need the boot soldering jumper:

  • Your code enters the deep sleep mode too fast (like mentioned above)

  • You accidentally upload faulty code which (for example) toggles GPIO9

  • Your flashing process crashes during the upload

If something of the above occurs then you have to proceed like this:

  1. Cut off the power supply. If you're powering the Picoclick over USB or the extension port, then just unplug it; if you're running on battery, you have to desolder it (at least one connection)

  2. Solder or short the boot jumper on the button side of the PCB.

  3. Connect a power source (USB or extension port is recommended, else the battery has to be unsoldered afterwards again).

  4. Connect the Picoclick to your computer if not already done in the last step.

  5. Press the button of the Picoclick and hit the upload button in PlatformIO.

  6. If completed, unconnect all power sources.

  7. Desolder the boot jumper.

  8. Connect your final power source (here is the point where the battery can be connected again).

Last updated