I recently purchased an STM32 Thing Plus. Out of the box it appears to be working - it appears to already have a blink sketch upload from what I can tell.
However, following the instructions on the hookup guide and I can’t get it to upload a sketch. The instructions say in one place to press boot, press/release reset and either hold or release boot. But when I do that I lose my COM port - so it fails an upload and I get “Error: Target device not found” in the output. Any ideas of how to get this to upload a sketch?
Note: I’ve installed the board manager and the STM32Cube Programmer and followed everything else on that hookup page that I’m aware of. I also noticed that there is “No DFU detected” in the cube programmer.
As of this writing, SparkFun is using the DFU bootloader to upload code to the STM32 Thing Plus. In order to do so, you need to do the following:
1 Press and hold down the Boot button
2 Press and release the Reset button while continuing to press the Boot button
3 Keep pressing the Boot button until the code is uploaded (from software)
Note: If the blue LED remains dimly lit, it’s probably still sitting in the bootloader. After uploading a sketch, you may need to tap the RST button to get your STM32 Thing Plus to begin running the sketch.
Try that sequence for uploading; is the blue LED dimly lit after attempting?
As of this writing, SparkFun is using the DFU bootloader to upload code to the STM32 Thing Plus. In order to do so, you need to do the following:
1 Press and hold down the Boot button
2 Press and release the Reset button while continuing to press the Boot button
3 Keep pressing the Boot button until the code is uploaded (from software)
Note: If the blue LED remains dimly lit, it’s probably still sitting in the bootloader. After uploading a sketch, you may need to tap the RST button to get your STM32 Thing Plus to begin running the sketch.
Try that sequence for uploading; is the blue LED dimly lit after attempting?
That’s the procedure I’m following. When I press (and hold) the boot button the reset it goes into bootloader mode. I can tell because I hear the computer beep. But it won’t upload. I do notice that the COM port is greyed out - not sure if it should be or not but the Arduino IDE says it’s not connected.
That page also says to cubeprogrammer as the upload method, which I’ve set. But, when I launch the cube programmer it can’t find it either - so wondering if it has the DFU firmware installed at all. Just not sure how to check that or do a manual install myself.
Searching online it seems as if I should see it in device manager when in boot mode though I do not.
If it’s like the STM32 MicroMod board, it should definitely be visible as a DFU device when in bootloader mode. On Linux, I get this entry in the output from lsusb:
Bus 001 Device 007: ID 0483:df11 STMicroelectronics STM Device in DFU Mode
You shouldn’t get a COM port for the device while in boot mode, as far as I can tell.
I believe you’re right in that I shouldn’t get a COM port but I should get a USB port. I don’t recall the name but I believe it starts with STM (maybe STM DfuSse). However, I don’t get that - making me think something is wrong on that end.
Have made some progress. I plugged this into a different (non-development) computer and it’s recognized. I had to install ST Cube Programmer IDE of course to get the driver but once I did that it’s working as expected. It’t not a dev computer so I don’t have the Arduino IDE on there - so I haven’t tested the upload yet but I expect that’ll work.
So - given that - any idea where to look to see why the dev computer doesn’t recognize it. I’ve installed the apps as well as the drivers separately and have rebooted, etc.
Things like that are generally a permissions issue, or perhaps the port itself isn’t delivering appropriate power (you can use a multimeter to check voltage being supplied @ end of cable)
What makes the PC a ‘development’ computer? I would start with whatever settings/control are different about them vs regular PC
Thanks. I’m thinking it’s likely not a power or cable issue. When not in boot mode it powers just fine and I’m using the same cable on the other computer. It’s just not recognizing it when in boot mode. So I suspect some sort of OS/driver issue. Maybe uninstalling and reinstalling CubeIDE but that seems unlikely to solve it - especially since I subsequently installed STM32Programmer as well as the driver files standalone.
Very odd problem and I’m still scratching my head on this one. I may have to post this to the ST.com forum as it still seems to be a driver issue.
Hi, I am having similar issues with a Micromod stm32. All my troubleshooting indicated a faulty STM board. I had spares and was able to swap them in and out of a variety of carrier boards. I also have a thing plus, but it is working OK at the moment. So suspect a faulty board as the cause of your issues.
Lockie
Can someone help me with the PIN defs for the STM32 Thing Plus SD card reader. I used the nomenclature off the schematic but I cannot seem to get it working. My SD card on the MM datalogging board with STM32 worked well once I was told what the CS pin was. But the Thing Plus seems to use totally different pin defs for the microSD, in that it uses SDIO_D3 to D0 and SDIO_CLK and SDIO_CMD.
Thanks
Lockie