I’m using Win 11 Pro with 64Gb of RAM. I’m trying to compile/upload the example ASCII table. The compile goes through fine, but the upload fails with this error message:
**Sketch uses 9740 bytes (29%) of program storage space. Maximum is 32768 bytes.
Global variables use 1072 bytes (10%) of dynamic memory, leaving 9168 bytes for local variables. Maximum is 10240 bytes.
"C:\Users\jjpur\AppData\Local\Arduino15\packages\STMicroelectronics\tools\STM32Tools\2.4.0/win/busybox.exe" sh "C:\Users\jjpur\AppData\Local\Arduino15\packages\STMicroelectronics\tools\STM32Tools\2.4.0/stm32CubeProg.sh" -i serial -f "C:\Users\jjpur\AppData\Local\arduino\sketches\438D2F10BA2267984F837C42A7A2EDDC/ASCIITable.ino.bin" -o 0x0 -c COM1 -a 0x8000000 -s 0x8000000 --parity even
Selected interface: serial**
STM32CubeProgrammer v2.22.0
Serial Port COM1 is successfully opened.
Port configuration: parity = even, baudrate = 115200, data-bit = 8, stop-bit = 1.0, flow-control = off
Timeout error occured while waiting for acknowledgement.
Error: Activating device: KO. Please, verify the boot mode configuration and check the serial port configuration. Reset your device then try again...
Failed uploading: uploading error: exit status 1
I’ve checked the port configuration and it’s fine, although my “flow control” says None instead of Off. I’m sure it’s something stupid, but I’ve wasted at least 6 hours on this. Any ideas?
Sterretje: Two unknowns, one equation: It is a new computer and I purchased new STM32's. I'm starting to think the STM32's have a bad UART on them and I will be returning those. The new computer seems to handle the IDE okay, as I can compile/upload a new Nano Master without issue.
The Device Manager shows:
Which board did you purchase ( please post a link)? The STM32F103C8T6 has a native USB HW, so no UART is involved. And usually these boards don't have a bootloader out of the box.
Which upload method did you select in the IDE? And how did you connect it? Just via USB?
I purchased them from Amazon (B0FK53R7CX). Yes, I used the USB to connect it. If I need to burn the bootloader, how is that done? I'm assuming the two jumpers (Boot0 and Boot1) have to be set a certain way. I did not have to load a bootloader with other STM32's I've purchased, so this is new to me. What's the process?
Thanks!!
Those setting don´t apply to the upload tool; the upload tool will use its own settings (configured through the IDE). They are specified in the boards.txt file.
Windows uses it as default when you use the command prompt to echo data to the serial ports.
[EDIT] I had to load the international amazon website, there where no search results in the german part ( my default is amazon.de ). That's why posting a link is always a better choice.
OS Name Microsoft Windows 11 Pro
Version 10.0.26200 Build 26200
Other OS Description Not Available
OS Manufacturer Microsoft Corporation
System Name ECONJACK
System Manufacturer Dell Inc.
System Model Dell Pro Slim QCS1250
System Type x64-based PC
System SKU 0D09
Processor Intel(R) Core(TM) Ultra 9 285K, 3700 Mhz, 24 Core(s), 24 Logical Processor(s)
BIOS Version/Date Dell Inc. 1.12.1, 1/7/2026
SMBIOS Version 3.8
Embedded Controller Version 1.16
BIOS Mode UEFI
BaseBoard Manufacturer Dell Inc.
BaseBoard Product 06C1R0
BaseBoard Version A01
Platform Role Desktop
Secure Boot State On
PCR7 Configuration Elevation Required to View
Windows Directory C:\WINDOWS
System Directory C:\WINDOWS\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = "10.0.26100.1"
User Name Econjack\jjpur
Time Zone US Eastern Daylight Time
Installed Physical Memory (RAM) 64.0 GB
Total Physical Memory 63.5 GB
Available Physical Memory 46.6 GB
Total Virtual Memory 67.5 GB
Available Virtual Memory 50.5 GB
Page File Space 4.00 GB
Page File C:\pagefile.sys
Kernel DMA Protection On
Virtualization-based security Running
Virtualization-based security Required Security Properties Base Virtualization Support
Virtualization-based security Available Security Properties Base Virtualization Support, Secure Boot, DMA Protection, UEFI Code Readonly, SMM Security Mitigations 1.0, Mode Based Execution Control, APIC Virtualization
Virtualization-based security Services Configured Hypervisor enforced Code Integrity
Virtualization-based security Services Running Hypervisor enforced Code Integrity, Hypervisor-Enforced Paging Translation
App Control for Business policy Enforced
App Control for Business user mode policy Off
Automatic Device Encryption Support Elevation Required to View
A hypervisor has been detected. Features required for Hyper-V will not be displayed.
Something new now: I just tried the ASCII Table example from the IDE and I get:
C:\Users\jjpur\AppData\Local\Temp\.arduinoIDE-unsaved2026226-16604-klcr58.wdrtn\ASCIITable\ASCIITable.ino: In function 'void setup()':
C:\Users\jjpur\AppData\Local\Temp\.arduinoIDE-unsaved2026226-16604-klcr58.wdrtn\ASCIITable\ASCIITable.ino:24:3: error: 'Serial' was not declared in this scope; did you mean 'Serial3'?
24 | Serial.begin(9600);
| ^~~~~~
| Serial3
C:\Users\jjpur\AppData\Local\Temp\.arduinoIDE-unsaved2026226-16604-klcr58.wdrtn\ASCIITable\ASCIITable.ino: In function 'void loop()':
C:\Users\jjpur\AppData\Local\Temp\.arduinoIDE-unsaved2026226-16604-klcr58.wdrtn\ASCIITable\ASCIITable.ino:43:3: error: 'Serial' was not declared in this scope; did you mean 'Serial3'?
43 | Serial.write(thisByte);
| ^~~~~~
| Serial3
exit status 1
Compilation error: 'Serial' was not declared in this scope; did you mean 'Serial3'?
Once again, when I compile with the new Nano Master, the Table program works fine. Any ideas?
Depends on how you want to connect the board to the serial monitor. Usually it's done via the USB connector on the board, and then you must set USB supprt to
'CDC (generic 'Serial' supersede U(S)ART)'
As long as you don't tell as exactly what you are doing and how you wired everything up, no help is possible.
Did you read and understand the link I posted in #11? . Did you connect the board via the USB-TTL converter? If you only connect the board via its USB connector to your PC, no upload is possible (There is no USB- bootloader out of the box).
Do you have a STM32CubeProgrammer hardware (ST-Link)? If you have one, you should connect it to the SWD pins, and select the upload method accordingly. That's the most easy way to program the STM32F103 without a bootloader installed (no jumper setting needed).