Undetected notecard after upgrading to 4.1.1


I upgraded a notecard 1.5 european to 4.1.1 using stm32programmer, however after upgrading I can no longer contact the notecard using I2C, nor does it show up as an USB device (neither ACM or USB, so not in programming mode). See output from programming below:


The download URL was wrong (the $ tripped me up), and I probably flashed a 404 HTML page to the notecard. Any way to recover it?

sfy-code/tools/update-notecard-fw on  main [!] via 🅒 sfy
❯ make flash
mkdir -p fw
[ -f fw/notecard-''.bin ] || curl https://dev.blues.io/firmware/notecard-''.bin --output fw/notecard-''.bin
echo bootloader > /dev/ttyACM0 || true
sleep 3
/home/gauteh/dev/embedded/STMicroelectronics/STM32Cube/STM32CubeProgrammer/bin/STM32_Programmer_CLI --connect port=USB1 --write fw/notecard-''.bin 0x08000000 --verify --go 0x08000000
                        STM32CubeProgrammer v2.11.0

USB speed   : Full Speed (12MBit/s)
Manuf. ID   : STMicroelectronics
SN          : 2038385C594D
DFU protocol: 1.1
Board       : --
Device ID   : 0x0470
Device name : STM32L4Rxxx/STM32L4Sxxx
Flash size  : 2 MBytes (default)
Device type : MCU
Revision ID : --
Device CPU  : Cortex-M4

Memory Programming ...
Opening and parsing file: notecard-
  File          : notecard-
  Size          : 83.07 KB
  Address       : 0x08000000

Erasing memory corresponding to segment 0:
Erasing internal memory sectors [0 20]
erasing sector 0000 @: 0x08000000 done
erasing sector 0001 @: 0x08001000 done
erasing sector 0002 @: 0x08002000 done
erasing sector 0003 @: 0x08003000 done
erasing sector 0004 @: 0x08004000 done
erasing sector 0005 @: 0x08005000 done
erasing sector 0006 @: 0x08006000 done
erasing sector 0007 @: 0x08007000 done
erasing sector 0008 @: 0x08008000 done
erasing sector 0009 @: 0x08009000 done
erasing sector 0010 @: 0x0800a000 done
erasing sector 0011 @: 0x0800b000 done
erasing sector 0012 @: 0x0800c000 done
erasing sector 0013 @: 0x0800d000 done
erasing sector 0014 @: 0x0800e000 done
erasing sector 0015 @: 0x0800f000 done
erasing sector 0016 @: 0x08010000 done
erasing sector 0017 @: 0x08011000 done
erasing sector 0018 @: 0x08012000 done
erasing sector 0019 @: 0x08013000 done
erasing sector 0020 @: 0x08014000 done
Download in Progress:
[==================================================] 100%

File download complete
Time elapsed during download operation: 00:00:01.576

Verifying ...

Read progress:
[==================================================] 100%

Download verified successfully

RUNNING Program ...
  Address:      : 0x8000000
Start operation achieved successfully
sfy-code/tools/update-notecard-fw on  main [!] via 🅒 sfy took 5s

By the way, putting $ in the name is a bit of a nuisance since it complicates shell scripting.

Hi @gauteh,

The good news is the Notecard should be recoverable. It’s a bit of a tricky process though. If you can power up the Notecard with the boot pin pulled high, then STM32 Cube Programmer will be able to connect and upload the correct binary. The problem is the BOOT pin is not labelled/does not exist on some of our Notecarriers (so consider this process unsupported). Which Notecarrier are you using (and which version)? That will help us figure out the best path forward.


Hi Rob,

thanks for your reply. I am using the Notecarrier B, I have both the green and the black version. Doesn’t seem like it has access to the BOOT pin, but maybe I can try and get directly to the BOOT pin on the notecard socket.

Regards, Gaute

Yeah unfortunately the Notecarrier-B doesn’t expose the BOOT pin. I don’t suppose you have a Notecarrier-A (black PCB) laying around you could use? With the A you should be able to wire VIO to the unlabelled pin between RST and SCL and then connect over USB.


I will add one on my next purchase.

man. 6. feb. 2023, 20:32 skrev Rob Lauer via Blues Wireless Community <notifications@blues.discoursemail.com>: