Notecard Firmware Updates
Blues regularly provides updated firmware releases for the Notecard that include feature additions and other improvements.
Make sure you read and understand the Blues Firmware Release Policies and Procedures before updating Notecard firmware.
- Browse Firmware Releases
- Blues Firmware Release Policies and Procedures
- Instructions for DFU with In-Browser Terminal
- Instructions for DFU with Notecard CLI
- Instructions for DFU with STM32CubeProgrammer
- Instructions for OTA DFU with Notehub
Firmware Releases
This section lists all available Notecard firmware releases. The easiest way to install new firmware on the Notecard is by performing OTA DFU updates with Notehub or the In-Browser Terminal, but the .bin files are also provided for manual DFU with the Notecard CLI and STM32CubeProgrammer.
v5.3.1 (September 18th, 2023)
Firmware: notecard-5.3.1.16292$20230917203639.bin and checksums
- Adds support for efficient binary data transfer with card.binary.
- Adds the ability to validate Notecard responses with a CRC check.
- Adds Outboard Firmware Update support to hosts that support MCUboot bootloader.
- When USB-connected, adds additional retries before a network registration penalty box is initiated.
- Added the
_fw_download_always_enabled
reserved environment variable to override host behavior and always allow DFU operations. - Added the ability to automatically return to the preferred SIM selection after a user-defined number of hours when using an external SIM and SIM failover.
- Reduced the amount of time it takes to perform a Notecard DFU.
- Fixes the erroneous return of
{io}
in response to a corrupted message sent as a command. - Fixes possible contradictory
card.location
status response whencard.location.mode
is set to"mode":"off"
. - Preserves the host DFU metadata in the event of a host restart.
Previous Developer Firmware Releases
v5.1.1 (April 5th, 2023)
Firmware: notecard-5.1.1.16026$20230511152328.bin and checksums
- All web requests now offer an
async
argument. The new argument allows you to send web requests without waiting for a response from Notehub. - The
hub.signal
request now provides aseconds
argument for handling timeouts. - You can now schedule automatic Notecard Outboard Firmware Updates
with the
_dfu_period
environment variable. - The Notecard can now restart hosts in a variety of ways using the
_restart_host_use_attn
,_restart_host
,_restart_host_every_hours
, and_restart_host_no_activity_hours
environment variables. - The
hub.sync.status
request now returns machine-readable codes to allow for better tracking of the Notecard's sync process. (You can try this for yourself by running ahub.sync
request in the In-Browser Terminal.) - The
hub.sync.status
request no longer includestime
orcompleted
in its response until after the first device sync. - The
card.aux
request now provides ams
argument you can use to debounce state transitions under a provided duration. - The
card.aux.serial
request now provides way of notifying a host when the Notecard downloads host firmware. - Wi-Fi configuration is now saved before device reboots.
- The Notecard has a new algorithm for voltage averaging to reduce swings due to modem current draws.
- A bug is fixed that prevented switching the
rate
with thecard.aux.serial
request. - Various download speed improvements to Notecard Outboard Firmware Update.
v3.5.2 (November 2nd, 2022)
Firmware: notecard-3.5.2.15620$20221031190539.bin and checksums
- Reduce
hub.set
continuous
mode data usage from ~4KB/hour to ~2.5KB/hour for apps requesting immediate inbound Notefile sync by specifyingsync:true
. - Improvements to Notecard Outboard Firmware Update and a bug fix for STM32 hosts with inverted boot.
v3.5.1 (October 7th, 2022)
Firmware: notecard-3.5.1.15545$20221118160948.bin and checksums
- The
card.motion.sync
request now allows you to sync on orientation changes (instead of motion changes) by passing athreshold
of0
. With this mode enabled, motion events now include atilt
field to show the number of orientation changes since the previous event. - Added the ability to get alerts if USB power is connected or disconnected through the
card.voltage
request. - The Notecard now automatically triggers a sync when its file system is full.
- Added a
{wifi-unavailable}
error when making acard.wifi
request on cellular Notecards. - Added 15 minutes as a minimum session length for Notecards in continuous mode.
- Fixed an issue where
no-sat
tracking notes could inadvertently appear when using external GPS. - Fixed an issue that could cause loss of
cmd
requests if sent in rapid succession.
v3.4.1 (August 3, 2022)
Firmware: notecard-3.4.1.15128$20220811230306.bin and checksums
- Added
card.aux.serial
to expose various capabilities over the NotecardAUX
pins. - Added support for streaming of Notecard accelerometer data.
- Enhancements to
env.get
andenv.set
to fetch a group of variables, and query variables by modified time. - Added
env
mode tocard.attn
to monitor environment variable changes. - Added
auxgpio
mode tocard.attn
to monitor AUX GPIO changes. - Added
time
field toenv.modified
to query for environment variable changes since a known epoch time. - Added
threshold
tocard.location.mode
response when not 0. - Added
limit
tocard.aux
to disable concurrent modem use when using an external GPS receiver. - Added
on
,seconds
, andoff
tohub.set
to enable temporary continuous mode when performing web transactions. - Enable GPS/GNSS activation even if Notecard time has not yet been set from a successful cell network connection.
- Change GPS/GNSS
hdop
to float. - Allow GPS/GNSS seek even if the Notecard is in a cellular network penalty box.
- Add penalty box errors to status returns for GPS/GNSS and Network connectivity.
- Ensure
hub.sync.status
returns extended service failure errors in response. - Restart continuous mode session if inbound notification is sent to the Notecard.
v3.3.1 (May 23rd, 2022)
Firmware: notecard-3.3.1.14612$20220518212851.bin and checksums
- Autonomous reporting of GPIO state with card.aux. See Using AUX GPIO Mode for more information.
- Addition of
usb
,gps
,wifi
, andcell
to the response object of card.status which indicates the associated component is powered on. - Adding unsigned types of
uint8
,uint16
,uint24
, anduint32
, to Note templates. - The
card.motion.mode
API'ssensitivity
settings have been updated to use 25Hz sampling, providing improved performance. - The "best location" in Notehub will remain the most recent GPS location, as long as the device has not moved and an adequate GPS signal is established (instead of reverting to cell tower location after 72 hours of no GPS activity).
- In tracking applications,
daily charging minutes added to
_track.qo
Note template. - The
card.wireless
API is now supported on Wi-Fi Notecard. - Wi-Fi Notecard error messages improved when there are Wi-Fi connection failures.
- Addition of the
_restart_no_activity_hours
reserved environment variable. - Miscellaneous other minor improvements and fixes.
v3.2.1 (February 2, 2022)
Firmware: notecard-3.2.1.13982$20220821154627.bin and checksums
note.template
payloads and strings can now be variable-length.- Added
verify:true
tonote.template
to return the current template on a Notefile. web.post
now supports payload fragmentation and reassembly at Notehub.card.attn
addsverify:true
to show the current attention mode configuration.card.attn
addsmode: disarm,-all
to clear all monitored conditions.- AUX UART baud rate is now configurable via a
card.aux
request. - Added GPS HDOP to
card.location
response instatus
andthreshold
fields. - Major rewrite of JSON marshalling/unmarshalling logic to reduce runtime memory needed and allow the Notecard to sync a much larger number of non-templated Notes.
- Miscellaneous sync and power management improvements and minor fixes.
v1.5.6 (October 8, 2021)
- Added the web.delete API.
- Added
seconds
as an optional parameter on all web requests as an override to the standard 90 second timeout. - Support for bidirectional Notehub.io certificate verification during TLS authentication.
- A random, unique, Note ID can be created and returned on a note.add if the supplied Note ID is "?".
- file.stats now takes an optional "file" parameter that returns the stats for the specified Notefile only.
- note.add,
note.update, and
note.delete all accept
the
verify:true
parameter to immediately save the Notefile change to flash. - dfu.status adds an
err
string property. If used along with"stop":true
, this sets the host DFU to an error state with the specified string.
v1.5.5 (May 27, 2021)
- Enhancements to support Notecard-related features in the Airnote product.
- Added support for end-to-end encryption of Notes through Notehub.
- Add GNSS Horizontal dilution of precision (HDOP) support, including waiting
for location to converge to configured HDOP before recording
_track.qo
notes, and adding the HDOP to the _track.qo body. - If
sync:true
is specified in card.location.track, an immediate sync occurs every time a track note is added. - card.version
now accepts a field api:
major-version
that defines, for compatibility purposes, the major version number of the notecard firmware that the host was developed to use. In the response, the api returns the current firmware's version number. - Added
_tri_gps_failure
environment variable as a triangulation configuration option for Notecard to first try GPS, then fallback to using cellular triangulation if it is unable to make a GPS fix. - Fix to improve the accuracy of
card.voltage
readings. - Corrected behavior of heartbeat reporting in
card.location.track
. - Miscellaneous bug fixes and improvements to MCU/SBC host reliability, continuous mode operation, and external SIM support.
v1.5.3 (February 24, 2021)
- Notecard I2C request/response reliability improved when the I2C bus is shared among multiple devices.
- Added rearm and wireless modes to card.attn.
- Implemented minutes as a new response to card.location.mode to return the currently-configured ring-fence debounce period.
- To allow for long-range enclosed transportation use cases, Implemented an enhancement to suppress motion-induced Notecard wake up when repeated network connectivity failures occur.
- Added a warning to
_health.qo
if battery voltage is low or dead, at most once per day. - Implemented a card.random function to obtain a single or buffer full of random numbers from the Notecard hardware RNG.
- Miscellaneous bug fixes and reliability improvements for devices communicating over I2C and those running in continuous communications mode.
Developer Firmware Checksums
md5
866098e724c5aef221d19fdf0356f538 notecard-3.2.1.13982$20220821154627.bin
e4a30632d42784c347f09aaf3825737d notecard-3.3.1.14612$20220518212851.bin
fd7318030d4fef21b6e6c4b088ed16ca notecard-3.4.1.15128$20220811230306.bin
97bc2aeb17dd6c573b47f58335f092cd notecard-3.5.1.15545$20221118160948.bin
8cf964de13a2d2bbbbb96fb4146f1e24 notecard-3.5.2.15620$20221031190539.bin
a7cd1969876b9ef13c2087b3e9dbb833 notecard-5.1.1.16026$20230511152328.bin
aae84fa07f7afb73b399cad78fc1df0f notecard-5.3.1.16292$20230917203639.bin
sha256
3a1ef9c6ebe45501ca26b425569ed469cc2636807ef1a39c780f3657e803cdf1 notecard-3.2.1.13982$20220821154627.bin
8a58324e4d2a4b04b69a60fe101687f51354e6dcc1037fda33e15abb8a21129c notecard-3.3.1.14612$20220518212851.bin
2e9043883e2f57265a18f74e79ad448b8a3d8e4567983011480d06c0a4cbf46f notecard-3.4.1.15128$20220811230306.bin
6744e0c3f31849944151d08364fb02b2d27187897f0932d6c07cf1c4e1051e5d notecard-3.5.1.15545$20221118160948.bin
ffbf202264ba7d2b7aa28167cc0722df90fbbed5e3064b0440273729fe13b9a9 notecard-3.5.2.15620$20221031190539.bin
f2247c3bf2890ee051f20bc739494310711d5e778f1ffdc02a92d20e868f7f46 notecard-5.1.1.16026$20230511152328.bin
5dad2ac34dba93e82e73f1b83efbfcd338754c3abdf72f50905c89e951cf021a notecard-5.3.1.16292$20230917203639.bin
LTS v4.4.1 (May 15, 2023)
Firmware: notecard-4.4.1.4015700$20230505180038.bin and checksums
- Fix to preserve
dfu.status
metadata values after Notecard restarts. - Fix incorrect cellular penalty box data in the
card.wireless.penalty
andhub.sync.status
seconds
responses.
Previous LTS Firmware Releases
LTS v4.2.1 (March 3, 2023)
Firmware: notecard-4.2.1.4015688$20230227005219.bin and checksums
- Decrease duration of Wi-Fi penalty box if in continuous mode or on USB power.
- If
hub.set
mode
changed to "off" while the modem is powering up, modem will quickly and gracefully shut down. - Fix to make
hub.set
mode:"dfu"
idempotent. - Fix to keep the Notecard modem from powering on after a hard reset if
mode:"off"
. - Fix to keep the Notecard online if in continuous mode and OTA DFU has been paused.
LTS v4.1.1 (December 7, 2022)
Firmware: notecard-4.1.1.4015681$20221206134917.bin and checksums
- Annual Long Term Support (LTS) release. For additional details and our LTS policy see this section. Includes all features in developer release 3.5.2 as well as the items below.
- Service failure retry & penalty box fixes.
- Clear
files
oncard.attn
whenmode
isdisarm
. - Return current serial baud rate in response to a
card.aux.serial
request. - ATTN Watchdog fixes for computing polling intervals and resets.
- Improvements related to JSON array and string handling in Notecard requests.
LTS v2.4.1 (Feb 6, 2023)
Firmware: notecard-2.4.1.2014024$20230127210448.bin and checksums
- Enhance
card.attn
to add-all
option and improve watchdog timing. - Show extended service failures in
hyb.sync.status
requests. - Improve timing accuracy of
card.location.track
heartbeat events, and prevent spurious heartbeat events if motion has occurred. - Fix to ensure that Wi-Fi signal and SSID always show for
card.wireless
requests and in_session.qo
Notefiles. - Fix to keep the Notecard online when in continuous mode and DFU has been paused.
LTS v2.3.1 (June 14, 2022)
Firmware: notecard-2.3.1.2014013$20220613194620.bin and checksums
- Added additional programmatically testable error codes to JSON responses.
- Support for open SSIDs on the Wi-Fi Notecard.
- Enhancements to long term robustness for always-on devices.
- Miscellaneous enhancements for DFU timeouts,
card.motion.mode
sensitivity settings, GPS location updates. - Addition of the
_restart_no_activity_hours
reserved environment variable.
LTS v2.2.1 (March 1, 2022)
Firmware: notecard-2.2.1.2013856$20220219214539.bin and checksums
- Send Wi-Fi usage data to Notehub in session data.
- Add Wi-Fi usage data to
card.version
. - Light red LED to register SoftAP button push, and when in SoftAP mode.
LTS v2.1.1 (November 15, 2021)
Firmware: notecard-2.1.1.2013839$20211117220152.bin and checksums
- First Long Term Support (LTS) version. For additional details and our LTS policy see this section.
- Added support for local-only Database Notefiles
via a
.dbx
extension. These Notefiles reside on the Notecard and do not sync to Notehub.io. - Miscellaneous fixes for DFU updates, Notehub connection management, and penalty box behavior.
LTS Firmware Checksums
md5
653d3045e3ab369a4641132c71bf9cef notecard-2.1.1.2013839$20211117220152.bin
f1c207f897ac1a44a6f1f784c7353863 notecard-2.2.1.2013856$20220219214539.bin
b1bebc3c08001bce9f99a02a7b992ba5 notecard-2.3.1.2014013$20220613194620.bin
a7746b162b4a355229b5a651f58974b0 notecard-2.4.1.2014024$20230127210448.bin
105c8a30865e5313ce527190286c8de8 notecard-4.1.1.4015681$20221206134917.bin
f4c8ee422540de40edd51da7c4b72497 notecard-4.2.1.4015688$20230227005219.bin
3c999cf0d551a2aadeac09242f6c4105 notecard-4.4.1.4015700$20230505180038.bin
sha256
bea9ad4e9e47fdc4114c5f20f55e06dbbe20520f69eb0b6b6a71566e2c9fbfc4 notecard-2.1.1.2013839$20211117220152.bin
1bc71770ac49d61d42ec80f9fc41928e81a7aa40083dcb34c3cd62f99b25641b notecard-2.2.1.2013856$20220219214539.bin
3d65ac74b8c30cb18d661339356042d1108ace2b177b532ee02114729dfa8456 notecard-2.3.1.2014013$20220613194620.bin
31c6e561695d07f3d72f4b1fa1a0e3d3e850d2e469d01f1c45ce908e97d78c70 notecard-2.4.1.2014024$20230127210448.bin
64d60511365351f711d6e7ad5cece4cb04029e634b1d1e29080cf93becff3d3b notecard-4.1.1.4015681$20221206134917.bin
f4205d3c6f6b1b2117d53ee374b968b170f414ef29b7c60bb93484dac6b367f2 notecard-4.2.1.4015688$20230227005219.bin
6839ddfd05892a466f844b7d25a55149a951a068c17f233f6db79c200299683c notecard-4.4.1.4015700$20230505180038.bin
Firmware Release Policies
The Notecard firmware is managed on two parallel product lifecycles:
- Developer Firmware Releases
- Long-Term Support (LTS) Releases
This section summarizes how these releases are versioned, as well as our policies around customer deployments and support timelines.
Developer Firmware Releases
Developer Firmware Releases are meant for testing new Notecard features and functionality during the early prototype and pilot phases of a project. It's not uncommon for these releases to expand the feature-set of the Notecard based on feedback and requests from customers building real applications.
These releases happen, on average, once a quarter and are supported by Blues for 90 days from the date of release, or the date of the following developer firmware release whichever is soonest. Once that 90-day period elapses, customers will be required to upgrade to a newer version in order to receive support.
Long-term Support (LTS) Releases
Long-term Support, or LTS, releases are meant for scaling customers deploying an application to production. These applications are often feature complete and ready for the field, and do not need new features, or the risk associated with incorporating updated firmware into an existing application. LTS releases address this problem by supplying stable and consistent behavior that customers can bet on for field deployments.
LTS releases happen at least once per year, with occasional bug-fixes back-ported into the current major LTS line each quarter, if needed. LTS releases are feature-frozen, meaning that they do not generally receive new features, API changes, or any functionality that modifies the documented behavior of the device. They do, however, benefit from an extended support window in which Blues will address critical OTA vulnerabilities for a period of 10 years from the date of initial release. Customers deploying an application to the field must select an LTS version in order to receive support.
Release Versioning
We've chosen to adopt a firmware version numbering scheme inspired by the LTS practices employed for NodeJS. Namely, we're adopting an even and odd major version numbering scheme to delineate between our LTS and Developer releases.
LTS releases will always start with an even number, and we will increase the minor or patch version numbers in the event fixes from a newer release need to be back-ported to an earlier LTS. For example, 2.1.1 was our first LTS version. If, in the support period, we identify a need to back-port a critical vulnerability, we would release a new LTS version on this line with a new minor or patch number, for example 2.2.1.
Likewise, Developer releases will always start with an odd number, and we will increase the minor or patch version numbers as we cut updated Developer firmware releases throughout the year.
DFU with In-Browser Terminal
If your Notecard device is running Developer Firmware v5.3.1 or later, you may update Notecard firmware manually using only the In-Browser Terminal.
This method is preferred over using STM32CubeProgrammer because:
- It does not put the Notecard at risk of erasing the entire flash memory.
- It does not require installation of STM32CubeProgrammer.
Firmware Update Process
Connect your Notecard device to your computer via USB. Using the
In-Browser Terminal, enter the firmware list
command
to list all available versions of Notecard firmware:
firmware list
~ 8 Firmware
~ Date Version Notes
~ 2021-11-17 (2yr ago) notecard-2.1.1 LTS (Long Term Support) Release
~ 2022-02-19 (1yr ago) notecard-2.2.1 LTS (Long Term Support) Release
~ 2022-06-13 (1yr ago) notecard-2.3.1 LTS (Long Term Support) Release
~ 2022-12-06 (7mo ago) notecard-4.1.1 LTS4xx Initial Release
~ 2023-01-27 (6mo ago) notecard-2.4.1 LTS2xx Maintenance Release
~ 2023-02-27 (5mo ago) notecard-4.2.1 LTS4xx Q1 2023 maintenance release
~ 2023-05-05 (2mo ago) notecard-4.4.1 LTS4xx Q2 2023 maintenance release
~ 2023-05-11 (2mo ago) notecard-5.1.1 2023 Q1 Developer Release
~ 2023-09-01 (1wk ago) notecard-5.3.1 2023 Q3 Developer Release
If you update Notecard firmware to a version less than v5.3.1, any subsequent firmware update would have to be performed with either STM32CubeProgrammer or Notehub.
Update your Notecard firmware using the following command, where <version-name>
is the name of the firmware binary from the Version
column above:
firmware install <version-name>
Upon completion of the firmware update, the Notecard will restart. Verify the
Notecard's firmware has been updated by reconnecting to the In-Browser Terminal
and issuing the card.version
command:
{"req":"card.version"}
DFU with Notecard CLI
If your Notecard device is running Developer Firmware v5.3.1 or later, you may update Notecard firmware manually using only the Notecard CLI.
This method is preferred over using STM32CubeProgrammer because:
- It does not put the Notecard at risk of erasing the entire flash memory.
- It does not require installation of STM32CubeProgrammer.
Prerequisites
- Installation of the latest version of the Notecard CLI.
- A fresh Notecard binary file (download from the Firmware Releases list above).
Firmware Update Process
Connect your Notecard device to your computer via USB. Using a terminal or command prompt, navigate to the folder containing the Notecard firmware binary you want to load, and enter the following command:
notecard -fast -sideload notecard-<version-build>.bin
The notecard-<version-build>.bin
represents the name of the firmware image you
downloaded and want to install on the Notecard. You may need to prepend
notecard
with the absolute path name if it is not in your PATH
.
If you update Notecard firmware to a version older than v5.3.1, any subsequent firmware update would have to be performed with either STM32CubeProgrammer or Notehub.
Wait while the firmware downloads and installs:
sending DFU binary to notecard
side-loading 8192 bytes (100% 925167 remaining)
side-loading 8192 bytes (99% 916975 remaining)
side-loading 8192 bytes (98% 908783 remaining)
side-loading 8192 bytes (97% 900591 remaining)
...
If you see a repeated message about the Notecard being disconnected, simply exit the process by pressing ctrl-c
.
retrying after error: error opening serial port: serial device not available {io}
Within a few seconds the Notecard should restart. Verify the Notecard's firmware has been updated with the following command:
notecard -info
Blues Wireless Notecard
DeviceUID: dev:864475040000000
Serial Number:
Notehub Host: a.notefile.net
Firmware Version: notecard-5.3.1
SKU: NOTE-NBGL-500
DFU with STM32CubeProgrammer
You can manually update Notecard device firmware by directly connecting to a Notecard over USB and using STM32CubeProgrammer.
Prerequisites
-
Serial terminal emulator software (e.g. our In-Browser Terminal, CoolTerm, or TinyTerm).
-
A fresh Notecard binary file (download from the Firmware Releases list above).
-
STM32CubeProgrammer (download the latest version for your OS).
warning
The minimum version of STM32CubeProgrammer we support is 2.11.0.
STM32CubeProgrammer Installation Notes
Installing STM32CubeProgrammer requires OS-specific instructions.
If you're on a version of Windows older than Windows 10, you'll first need to install the STM32 Virtual COM Port Driver.
Download and extract the zip package and run the installer (ignoring the security issues from Windows).
Download and extract the zip package (noting that the version number of 2.11.0 used in these instructions will likely change in the future).
Using your terminal app of choice, navigate to the extracted directory and launch the installer in CLI mode. For example:
./SetupSTM32CubeProgrammer-2.11.0.app/Contents/MacOs/SetupSTM32CubeProgrammer-2_11_0_macos
You will likely be prompted with a security error from macOS, noting that the installer cannot be opened because the developer cannot be verified.
Click "Cancel", open "System Preferences", navigate to the "General" tab, and click "Open Anyway".
Finally, back in your terminal, launch the installer in CLI mode again, using the same command used previously.
Prior to installation, make sure you have the following packages installed:
- libusb-1.0-0-dev
- unzip
If you are using a USB port to connect to the STM32 device, install the
libusb1.0
package by typing the following command:
sudo apt-get install libusb-1.0.0-dev
Please note libusb1.0.12 version or higher is required to run STM32CubeProgrammer.
Extract the zip package downloaded earlier from ST, and execute it. Note the version number may change.
unzip en.stm32cubeprg-lin_v2-11-0_v2.11.0 && cd en.stm32cubeprg-lin_v2-11-0_v2.11.0 && ./SetupSTM32CubeProgrammer-2.11.0.linux
Copy the rules files into /etc/udev/rules.d/
. This is needed use ST-LINK probe
or USB DFU.
sudo cp ~/STMicroelectronics/STM32Cube/STM32CubeProgrammer/Drivers/rules/* /etc/udev/rules.d
Firmware Update Process
Connect your Notecard device to your computer via USB. Verify that your terminal
emulator (e.g. blues.dev In-Browser Terminal, CoolTerm, or TinyTerm) is able to
connect to the device by sending the card.version
request:
{"req": "card.version"}
The response should look similar to this:
{
"version": "notecard-3.5.1.15545",
"device": "dev:000000000000000",
"name": "Blues Wireless Notecard",
"sku": "NOTE-NBGL-500",
"board": "1.11",
"api": 3,
"body": {
"org": "Blues Wireless",
"product": "Notecard",
"version": "notecard-3.5.1",
"ver_major": 3,
"ver_minor": 5,
"ver_patch": 1,
"ver_build": 15545,
"built": "Oct 10 2022 12:37:13"
}
}
Important: Next, launch the built-in bootloader firmware by sending the
bootloader
command via your terminal emulator:
bootloader
In Windows Device Manager, this causes Notecard to disappear as a "Ports (COM LPT)/USB Serial Device (VID 0x30A4, PID 0x0001)" and to reappear as a "Universal Serial Bus devices/STM32 BOOTLOADER (VID 0x0438, PID 0xDF11)".
Using the STM32CubeProgrammer
Open the STM32CubeProgrammer application.
Select "USB" from the dropdown menu provided in the upper-right corner:
Select the port corresponding to your Notecard in the "Port" dropdown menu (likely "USB1"). You may need to click the button next to the port dropdown to refresh the list.
Click the "Connect" button and the log should update and display
Data read successfully
.
Next, access the "Erasing & Programming" screen by clicking the menu button with the arrow pointing down:
Follow the other configuration options in the image above:
- Select the appropriate firmware
.bin
file. - Check the "Verify programming" box.
- Check the "Run after programming" box.
- Finally, click the "Start Programming" button.
Never enable the "Full chip erase" option as you will wipe the Notecard in a way that renders it permanently unusable.
After a few seconds of commands displayed in the log, you should see multiple dialog warnings/notifications to click through and confirm.
In lieu of using the STM32CubeProgrammer GUI, you may use the
STM32_Programmer_CLI
that is installed alongside the GUI.
Make sure STM32_Programmer_CLI.exe
is in your PATH
(or provide its absolute
path in the command below). The program should have been installed in the same
directory as STM32CubeProgrammer.exe
.
Run the following command, substituting the path to your desired .bin
firmware
file:
STM32_Programmer_CLI --connect port=USB1 --write [path/to/binary.bin] 0x08000000 --verify --go 0x08000000
Results
Once the update process is complete, your Notecard will reset and reconnect. You
can verify the firmware process was successful by executing another
card.version
request and inspecting the version
parameter.
{"req": "card.version"}
OTA DFU with Notehub
The simplest way to update the firmware on your Notecard device is to perform an over-the-air DFU with Notehub.io. For instructions on how to update your Notecard firmware with Notehub.io, please visit the Manage Notecard Firmware guide.
Please be aware that OTA DFU updates use data in your data plan.