Unfortunately my dev machine has recently been upgraded to Win10 and ive had to re set everything up. I have my Arduino environment working, it seems to compile code fine, but I cant upload to the board via the bootloader.
I’m using Blue Pill boards so LED on PC13 and perpetual bootloader mode by pulling up PC14. The board shows up as a ‘USB Serial Device (COMX) in device manager so that seems to be working, but if go into perpetual bootloader mode the device shows up as ‘Other devices – Maple 003’ with no driver loaded.
I have run install_drivers.bat but it doesnt seem to make a difference. Any hints?
Any ideas why the original method didn’t?
EDIT:
Ok so I’m still not convinced this is working correctly. I now get the libusb-win32 device ‘Maple 003’ whenever its in DFU mode, thats fine. But it wont always go back to COM port mode after the sketch is uploaded. The sketch definitely uploads and runs, and *some* sketches seem to get it back into COM port mode, but not all. Its quite odd and quite frustrating.
Any ideas why the original method didn’t?
EDIT:
Ok so I’m still not convinced this is working correctly. I now get the libusb-win32 device ‘Maple 003’ whenever its in DFU mode, thats fine. But it wont always go back to COM port mode after the sketch is uploaded. The sketch definitely uploads and runs, and *some* sketches seem to get it back into COM port mode, but not all.
I wonder if MS changed something in one of those forced updates that W10 users can’t avoid.
You could try doing what I suggested in the other thread, goto the device, select update driver, browse to the Arduino\hardware\STM32\drivers\win\maple-dfu folder and select it.
The info files for Maple DFU are in there, and it may load them
If it doesnt load, and you have run the Bat file (with uses libwdi), it definitely looks like a change in W10 is doing this.
We use this To install the driver, as it needs to do some tricks to create self certified files
https://github.com/pbatard/libwdi
But it could be that we need to recompile using the latest version of libwdi
However as I don’t have W10, I can’t be much help.
Surely you jest? I learned programming on a batch system; we wrote Fortran on coding sheets and then had to sit at a terminal and “cut” the cards. Then to the I/O manager to get the cards read into queue. Later, much later sometimes, we were called back to the I/O room to pick to out greenbar printouts. I know that personal computers have made ‘batch’ essentially a dead topic, but if you are in a change-a-line, recompile, run, change another line, recompile, upload, run, make another change …
1970 Lower 6th form
punch paper tape -friday pm
get results a week later, redo paper tape
repeat as required
figure out the logic/syntax error, redo paper tape
get results a week later, redo paper tape
repeat as required
1972 uni 1st yr
for a while, see Rays bit
discovered lecturer using tele-type to test the supplied fortran
next day, engineers solution – i got permission to use tele-types, user id zmemw16
years later and for 23yrs, bw494540 was my clock number at work
next’ll probably my winning lottery numbers or a punch out ticket number
stephen
<…>
However as I don’t have W10, I can’t be much help.
I’m new to all this stuff but for me the machine gods were pretty kind..
As soon as I figured out that the JSON file from Dan Drown could be easily imported in the 1.6.8 version of the .cc IDE under the file/preferences menu
I thought this is going to be tricky as I already read several threads that 1.6.5 was the tops version
My newly arived “maple mini’s” didn’t show up properly in the W10 connected devices list.
and so the com port in the IDE was greyed out.
… driver issue.
the “run as administrator” of the drive .Bat file in your original STM32 distribution fixed the DFU driver from the windows end and
once I uploaded the blink sketch under examples/digital all went back to normal.
now obviously I’m a total noob and it took me a few hours to find the scattered infos as this is not the webs most popular topic so Google has some catching up to do.. ![]()
but for me this worked without troubles.
Thanks for all the good work you guys have put into it so far I’m fairly sure I couldn’t have figured it out without your earlier stumbles.
Paul
Caveat:
Dan has worked hard to provide the Board Manager implementation. Please keep a close watch on Dan’s page to note how his repository is tracking the master from Roger. What this means is that there is some “delta time” between how things get absorbed into Dan’s set of code.
I am glad it all worked easily for you, I believe that was Dan’s intention. But we as a team are not Board Manager compliant with Roger’s master and development code, so if you have problems with a sketch you “know” should be working, then the first place to look for the answer would be between the two repositories.
One of the reasons that there is some defiance (me) between the board manager implementation and the ZIP download and install directly into Arduino/hardware/ is that I (and maybe others) are running on IDE 1.7.9 from Arduino.org … and 1.7.9 does not support the Board Manager concept.
Ray
Thanks for the warning ![]()
Indeed just found out the hard way that the libs are not all 100% linking to the “right” files.
I thought to take an SPI OLED example for a spin as a fairly easy first step with a (hopefully) nice result.
but ..you probably guessed it already.. no joy yet..
ther may be several reasons for that but one I could spot fairly easily
the libs are linking to the standard arduino adafruit .h files instead of the STM32-ified / ported and renamed .h files
and that causes some “redeclaratoin” errors @ compile time.
I have been fiddling around a bit with AVR and nodeMCU recently in this IDE and now I’m trying the STM32 stuff.
I’m afraid that the fiddling around is now causing me grief
as there are several similar libs in various directories.
But If you want to work with several board architectures next to eachother, you need to have several ported libs available.
To make things worse the library files are stored in various paths for some reason.
I think it would be easier to manage if all libs were only stored in one central spot, but that would be too easy I guess.
Paul
which spi oled [ and code] would enable others to assist! ( ili9241 / which example have you adjusted )
i hate to think how many posts contain those words, 51 somehow that seems very low.
stephen
Thanks for the warning ![]()
Indeed just found out the hard way that the libs are not all 100% linking to the “right” files.
I thought to take an SPI OLED example for a spin as a fairly easy first step with a (hopefully) nice result.
<…>
<…>
I think it would be easier to manage if all libs were only stored in one central spot, but that would be too easy I guess.
Paul
I was working with an SSD 1306 128×64 spi oled module (and the adafruit lib port)
Geting the display to work is not so much my prime concern, but thanks for the assistance anyway
It’s more about having the library structure setup as such that I could easily swap between the various MCU platforms
(Arduino ESP8266 and STM32) and still keep everything working from the same IDE
As that would allow me to chose the best board for a certain job. (wifi enabled, more or less speed, more interrupts, more or less GPIO etc.)
For the same filename in the same spot problem you’re right Ray.
I know no OS that can handle this nicely.
However It does not need to have the same name or sit in the exact same directory.
As long as I know what to append or prefix to the library name I’m good I guess.
For me that makes life as simple as focusing on the correct include statements and pin layout.
The rest of the code can be kept more or less the same/similar and thus makes it posible to port between hardware much simpler.
But now it’s not like there is one Library directory tree that contains all the magic.
it’s in various independant dir trees.. which is somewhat confusing.
the program files tree, in the users/local/apps tree and in the users/my documents tree..
well that makes newbies like me mad until they understand the order of inclusion.
so indeed if all would be sitting local to the sketch it probably solves that problem and uploads the sketch nicely to the board.
Once I’ve figured it out I’m more than happy to share what I did to get things moving.
Or I’ll switch IDE It’s not like I’m married with it anyways.
Cheers,
Paul
(I just made my life easier by downloading the zip from Ray’s link mentioned above.)
Only my display did need the CS pin connected as opposed to the comment mentioned in the sketch.
This means I’m probably not going to mess about with the default library folders anymore and just collect the working libraries in a per platform folder.
Here I’ll then also create my own examples folder and put the right examples per platform in there.
This gives me the right degree of freedom and the wanted simplicity within the IDE.
Would be nice however if the IDE would understand that libraries are bound to MCU platforms which is always the case.
this would allow anyone to port a sketch to another board by simply selecting the right board settings in the IDE (and thus inherit thecorrect library set)
but unfortunately this is not how it works currently..
Perhaps this is a nice idea for the IDE developer comunity ![]()
by doing the above I can confirm the Arduino.cc IDE version 1.6.8 does work if you import the board manager via the json file of dan drown
And install the DFU driver as admin from the STM32duino libraries zip file on a windows 10 laptop.
Thanks all !
Paul
(I just made my life easier by downloading the zip from Ray’s link mentioned above.)
<…>
arduino_std, arduino_stm32 and json installed esp8266 seem to place nicely here. 1.6.5r5/latest stm32/esp 2.1(?) jessie64
my expectation of the ide would be to take the current platform as first in the search path, then add the arduino_std path
the ide outputs messages regarding the libs it’s using and they seem to show that behavior.
just tried with esp8266 under sketchbook/hardware thinking arduino_stm32 and am seeing all boards listed, no xtsensa tools. when i then re-did it as per the instructions (~/ard178/hardware), it had the xtsensa compiler installed and worked.
stephen
Both install_drivers.bat and install_STM_COM_drivers.bat shows fours errors “libwdi:error [wdi_create_list] could not get hardware ID”.
USBview shows DeviceFailedEnumeration, all the properties (including idVendor and idProduct) are 0x0000. I’ve tried two different USB cables (both works with my smartphone). I’m using Win 10, 64 bit.
Any help?
either tack a 1k8(182) in parallel or replace with a 152
this needs to be in Blue Pill notes in either FAQ or on wiki with a picture for r10 location
probably already is
stephen
How did you finally solve the problem ?
By burning the stm32duino bootloader or by replacing the R10 ?
( http://www.stm32duino.com/viewtopic.php … 345#p33347 )

