Update the firmware¶
When new features are developed or bugs are fixed we will release new versions of the SCK firmware.
Make a back-up of your info¶
If you already configured your kit on the smartcitizen platform you will need the token that the platform gave you during the onboarding process, to recover it from your kit:
- Click your kit button until the kit is in setup mode, the led should be red.
Connect to the kit with your mobile device as you did during the onboarding process.
Write down the token of your kit.
After updating the firmware follow this same steps to input the token and wifi credentials, after this your kit will be publishing on the same registered device than before.
A note about versions
The guide below applies to both, SCK 2.0 and SCK2.1.
Updating the SAM firmware¶
The SAMD21 (SAM for short) chip manages the main part of the firmware. This firmware is frequently updated with latest improvements in the official firmware repository. Check the releases pages for more info.
Updating your kit is very simple
Connect your kit with a micro USB cable to your computer
Double click the reset button of your SCK, the SCK led should turn green and a new drive called SCK-20 should appear on your computer file browser
- Inside the SCK-20 drive you should see some files, double click the INDEX.HTM file and our github releases page will open in your browser Download the new firmware called SAM_firmware_XXX.uf2 and save it to your computer
You can backup your current firmware version just saving the file called CURRENT.UF2.
- Simply drag the firmware file you downloaded over the SCK-20 drive, your kit led will blink in green and after some seconds it will reset and start with the new version.
Where is the reset?
In other enclosures, the reset button is "exposed" outside of the enclosure:
- In a big station:
- Or a small station (similar 3D printed versions will also have a small hole):
- Or a water station:
Updating the ESP firmware¶
The ESP8266 (ESP for short) chip sometimes also needs upgrade to match the latest version of the SAM firmware. The ESP chip manages all the communications of the SCK with the outer world. The firmware can be found here.
If your WiFi module needs a firmware update when you connect to your kit to setup the network you will see a screen that will ask for the new file. You can find it in our github releases page, look for the file called
ESP_firmware_XXX.bin. If you don't see it, check in a previous release (some releases don't include Wi-Fi firmware)
This file needs to be downloaded to the same device (phone or laptop) that is connecting to the SmartCitizen[...] network. If you are using your phone, you will need to download it there
Once you have it, you can select the file in the screen below. If it doesn't appear, check the section to force ESP upload below
- After the update you just did, you can configure your kit as a new device following the onboarding process or use your previous token as explained before
Force ESP upload¶
If you want to force the ESP to upload, please, follow the steps below.
Force ESP upload
If you already have the latest version but for some reason you still want to upload the firmware, you can force by clicking the info button (top right) on the setup screen that you find when conected to your kit in setup mode:
And activate the Force allow firmware update:
So you will be asked for the firmware file:
Sometimes in the phone the firmware selection screen will not pop up. You can always try to do the developer-way with check this guide here
Using command-line tools¶
The steps below are a summary of the steps you will need to update the firmware in case you are handling a lot of sensosr. The process builds on top the tools used in the edit the firmware, but simplified as we do not want to compile the firmware (since we are not changing it):
Install python as per the instructions here
Install python requirements
Install git following these instructions . Check that you need to install it first by simply typing
gitin your terminal. If the output is not
command not found, skip to step 4
In your terminal, navigate to a folder in which you want to download the firmware in. Then, get the firmware following the instructions here
Navigate to the firmware folder, plug the sensor to your computer and run the command below.
This will upload the SAM firmware:
python make.py flash sam -v
This will also upload the ESP firmware:
python make.py flash esp -v
You can upload both at the same time by:
python make.py flash sam esp -v