Firmware Upgrade
This tutorial applies to AnyShake Explorer E-C121G as well.
This tutorial will guide you through the process of upgrading the firmware on the AnyShake Explorer E-C111G.
Before Upgrading
The E-C111G is based on the ARM Cortex-M3 core. The upgrade process is usually done via an SWD interface. To upgrade the firmware, you need a debugger that supports SWD, such as ST-Link or J-Link.
In this tutorial, we use the official ST-Link V2 for demonstration purposes.
Third-party programmers that are compatible with ST-Link V2 are also supported. These alternatives are often more affordable and work reliably with AnyShake Explorer E-C111G.
Connect E-C111G SWD Interface to PC
Dissamble the E-C111G enclosure and connect the SWD pins to your PC using ST-Link V2, connect the pins as follows:
ST-Link V2 Pin | E-C111G Pin |
---|---|
Pin 4 (GND) | GND |
Pin 7 (SWDIO) | DIO |
Pin 9 (SWCLK) | CLK |
The SWD interface is not electrically isolated. Use caution when connecting to a powered system to avoid potential damage to your programmer or the device.
Install Driver for Programmer
On Linux systems, no additional driver installation is required. ST-Link programmers are supported through the standard libusb
interface.
On Windows, you need to manually install the ST-Link USB driver. You can download the latest version from the STMicroelectronics website.
After installing the driver, open Device Manager and check under Universal Serial Bus Devices.
On Linux (e.g. Debian) systems, if you have stlink-tools
package installed, you can use the st-info
command to check if MCU is recognized by the programmer. For example:
$ st-info --probe
Typical output:
Found 1 stlink programmers
version: V2J29S7
serial: ************************
flash: 131072 (pagesize: 1024)
sram: 20480
chipid: 0x410
dev-type: STM32F1xx_MD
With non-zero chipid and dev-type in the output, which indicates that the device has been successfully recognized by the programmer.
Setup PlatformIO
PlatformIO is an open-source embedded development environment used to build and upload firmware. To install PlatformIO, you need install Python and Visual Studio Code first.
After installing, you can open Visual Studio Code and click Extensions, search to install "PlatformIO" extension.
It usually takes a few minutes to install the extension. Restart Viaual Studio Code after PlatformIO installation for the extension to initialize properly.
Get Latest Firmware
The firmware source code for E-C111G is located in the default master
branch of the AnyShake Explorer GitHub repository, under the firmware/
directory.
To get source files, you need to clone the repository and checkout the corresponding branch.
If you have git
installed, you can use the following command to clone the repository:
$ git clone --depth 1 https://github.com/anyshake/explorer
Or get the latest project files using the following direct link, after downloading, extract the archive and locate the firmware
directory.
- github.com/anyshake/explorer/archive/refs/heads/master.zip
- github.com/anyshake/explorer/archive/refs/heads/master.tar.gz
Open Firmware Project
- Press
Ctrl + K, O
(orCmd + K, O
on macOS) - Select the
firmware
folder inside the repository
You should see the platformio.ini
file in the root of the project. PlatformIO will automatically initialize the environment.
Customize Build Settings
Open the platformio.ini
file and customize the settings according to your needs. There are a few options to customize:
GNSS_BAUDRATE
The GNSS_BAUDRATE
macro controls the baud rate of the on-board GNSS module. By default, it is set to 9600
, which is compatible with most GNSS modules. However, some modules may require a different baud rate for proper communication.
Below is a reference table listing common GNSS module models and their corresponding recommended baud rates:
Manufacturer | Model | Baud Rate (bps) |
---|---|---|
ZHONGKEWEI | ATGM332D | 9600 |
Allystar | TAU1114 | 9600 |
Quectel | LC260Z | 115200 |
u-blox | MAX-M10S-00B | 38400 |
USE_ICM42688
The USE_ICM42688
macro to enable the ICM-42688-P as built-in accelerometer. It is a compatibility option for AnyShake Explorer E-C121G.
Enabling this macro in a non-E-C121G device may cause unexpected behavior.
Build and Upload
Click the Upload button in the PlatformIO toolbar to compile and flash the firmware.
It usually takes a while to build firmware and upload to the device. If successful, you’ll see a confirmation message:
After Flashing
Remove the programmer from the E-C111G and reset the device by pressing the RESET button.
Your device is now running the updated firmware and ready for use!