Working through the beginners guide, confusion reigns


Total noob, first post. Know nearly nothing about electronics and microcontrollers, but a fair programmer. Got a project I want to use an STM32F4 Discovery for, but I’m falling at every hurdle it seems.

I am working through the beginners guide published here and got as far as using MFDeploy to test my board. I plugged it in but Windowns did not ask for drivers as I’ve plugged it in many times before. I checked the drivers using Windows Devices and printers page (the board is identified as an STlink dongle), and there are two: usbfilter.sys (from AMD) adn WinUSB.sys from Microsoft. All options to update, remove, modify drivers are greyed out. The Guide recommends to “provide them from the SDK”, but I cannot find any reference to “driver” or “.sys” or “stlink” anywhere (except in the CooCox, which I also have installed, along with about a dozen other IDEs…)

How do I install the correct drivers for my STM32f4 and get Mfdeploy to talk to it?

I’ve installed everything; C# visual studio 2010 express, framework 4.2, even the porting kit although I’m not sure I need it or indeed what it does or is. I’ve got as far as running the “hello world” program in the emulator, but I can’t talk to the board.

All advice gratefylly received

:wink: Ian

MFdeploy does not display anything when I select USB.

What device are you using?

He’s using an STM32F4Discovery.

You need to step back; the device you have is NOT a .Net Micro Framework device… yet. You need to do some mods and then you need to use the STM32F4 port, to get it to be recognised by the .Net microframework apps like mfdeploy. There is a thread somewhere that has details… link coming shortly. Probably this one but note: this is still not a “fully polished” port and certainly not an easy to do thing (as you have to do the 12mhz crystal replacement at least). Could also see more history here . Remember, the STM32F4Discovery is not an official device at this stage.

Not quite the right skill set to get involved with a .NETMF port? :slight_smile:

I guess what we are saying is start with one of the boards we offer and then switch to discovery board when you ate familiar with netmf some more.

Wd can still help but you will enjoy netmf more and support GHI for all the free things they give away :wink:

Wow! Thanks for all the input, much apprecated!

I guess I’m coming at this whole thing from a different angle. My interest is my project (an encoder for a radio control transmitter for model aircraft) rather than a primary interest in the technology. I’m looking at it more as a means to an end than an end in itself. I bought the ST board because it was cheap. Prior to that I bought another board which will probably never be supported by netmf, a Chipkit Max32 (PIC based board). Still tossing up which one to use. The IDE for the Chipkit (MPIDE) is so basic a half trained chimpanzee could probably use it. And to be honest it might be all I need. But the ST is a much sexier board imho, and I really like the idea of using C# and visual studio with it (I’m in IT and I work with a bunch of C# developers, although I’m not a dev myself) for all the reasons that you guys know. Tried other C++ IDEs and got very lost very quickly… so it seems to be a choice between hopelessly complex or hopelessly simple when it comes to C++. I get C#, I dabble in share trading and the platform I use (Ninja Trader) also uses C# to develop strategies and indicators. Written many, many of them…

I’m also having a close look at the Cerb40 board which uses the same chip. Seriously considering one of them, but I need 12 ADCs (well okay, WANT 12 ADCs…) and not entirely sure it has that many. It seems to, when I match the pinout of the stm32f4 to the pins exposed on the board, that it does but I’m no expert. And the .net framework is available for it… Is there an LCD interface? Can I use a serial interface to my el-cheapo 2.8" lcd or summink? dunno, it’s all a fun learning experience, and the journey is the destination in the end.


What I take from all your return comments is that you have a great interest in tinkering, and you want C#; the STM32F4Discovery board will be a good place, but only once the port matures; currently there’s no timeframe that I would see that happening, but there’s some obvious focus on this port for the Cerberus and it’s descendents so you may not have to wait that long.

You’re right Brett,

I think I might end up just using a Cerb40. The stuff about removing a resistor and swapping a crystal sounds a bit beyond my skills. I can barely see the resistor! And I’m not confident enough in my soldering ability to swap a crystal.

Why are those mods required anyway? What functionality on the board is affected by those componenents? If it’s nothing I’m using then do I still have to do the mods? I just want to read some analog inputs and some digital inputs, and generate a R/C PPM signal on an output pin.

??? Ian

#1 is that the port for the Cerberus expects a 12mhz crystal, so using it without changing to a 12mhz crystal will make all the timing look wrong. You could change the port to cater for the 8mhz crystal, but then you haven’t got the same mature port as everyone else.