Skip to main content
Andrew Crawford
Associate II
April 5, 2018
Question

stm32f407vet6 MCU general questions

Posted on April 05, 2018 at 23:35

Hey everyone, I'm new to these microcontrollers and new to these MCUs in general, and had a few questions... First off, i have some experience using Arduinos, so I'm somewhat familiar with the functionality and programming involved, and I've done all the research I can as far as finding the compatible software for programming, and looking more into the arm assembly language involved (in case I need it alongside c), but I wanted to ask more about the capabilities of the board, and whether or not I can do certain things.

The board Ive ordered has a built in SD card reader and claims to have pins supporting an LCD screen, wireless, etc... So I was wondering if it may or may not be possible to run a light version of Linux (with a GUI) off of it, maybe using a Bluetooth keyboard and mouse. The only operating system I've found is the rtos, which definitely seems appealing for its own ease of use and purposes, but I was wondering if these boards were even capable of running anything with a GUI, if optimally configured (or if any such thing may already exist). Thanks!

*As a side note, I'm not necessarily asking if it's already been done, I would just as well be interested in doing it myself, just wondering if the capabilities may or may not potentially be there. Thanks!

    This topic has been closed for replies.

    15 replies

    LMI2
    Senior III
    April 5, 2018
    Posted on April 06, 2018 at 00:01

    407 and STM32f1-7 don't have enough RAM or rom. You need an ARM which use external RAM, like SD-RAM:

    Andrew Crawford
    Associate II
    April 6, 2018
    Posted on April 06, 2018 at 00:16

    Ahh, okay, I mistook an SD card for having something to do with sdram, but upon looking into what that is now I see what you mean. Is this something that could be (hypothetically) done using spi or i2c, since it is in particular *synchronous* dram? Sorry for such a basic question, I'm just still learning this stuff. 

    Thanks!

    Andrew Crawford
    Associate II
    April 6, 2018
    Posted on April 06, 2018 at 00:21

    Also, this MCU said it used arm assembly, so does that probably mean it just uses the language, or does the microcontroller actually have ARM? Again, sorry for such basic questions

    Andrew Crawford
    Associate II
    April 10, 2018
    Posted on April 10, 2018 at 05:51

    I didn't really have anything too specific in mind, so really whatever would be enough to do what I was initially asking about would be enough in general. But I'm just as much exploring the capabilities of these MCUs overall, then I can figure out what all can really be done with it. But I'll definitely take that book suggestion as a good starting point, as understanding ARM overall, and the instruction set is surely an essential (as well as further understanding computer architecture). Thanks!

    Andrew Crawford
    Associate II
    April 21, 2018
    Posted on April 22, 2018 at 00:55

    Alright, I've run my rounds and I'm back for more. Now I have a bit of a better idea what I'm looking at as far as these boards go, I think. I still haven't looked too much into this board or arm controllers yet, just had another question.

    Now I'm looking at building a robot, and I've heard these can be used for that. I'm looking to piece together something more complex, just sketching out the details now, and at this point my limitations are just pins. I'm not sure i can find a pi or Arduino with enough gnd or power pins (3.3 and/or 5v), to do what I want. I can put it together from separate, simpler pieces with arduinos (a handful of sensors on one, an arm on another, and wheels/legs on another), but I'm exploring controllers for all of those, so i could either try to control the separate parts from this (although im obviously not sure how), or I could program directly on it, depending which would make more sense.

    Thanks!

    T J
    Senior III
    April 22, 2018
    Posted on April 22, 2018 at 02:37

    networking first, you have to talk to the steppers.

    I would strongly recommend that you use LQFP parts.

    the BGA parts will fail after a time due to the vibrations.

    the largest LQFP is 208pin,

    it is very difficult to use 12 motors from a single processor.

    therefore your next decision is about a one or two motor control unit and a network.

    there are some 20pin devices for under $1, that could run 1,2,3,4 motors then you need the HighSide drive.

    :(

    https://www.digikey.com.au/products/en/integrated-circuits-ics/embedded-microcontrollers/685?FV=ffe002ad&quantity=&ColumnSort=1000011&page=1&k=stm32f&pageSize=25

     

    there are dedicated ST parts for motor controls, this has it all.

    https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0ahUKEwiT-Zyf0czaAhXKurwKHQjwC7cQFghYMAI&url=http%3A%2F%2Fwww.st.com%2Fresource%2Fen%2Ftechnical%2FDM00330483.pdf&usg=AOvVaw0befj7cGJFe92Gs2p1OngX

     
    Andrew Crawford
    Associate II
    April 22, 2018
    Posted on April 22, 2018 at 03:06

    Sorry, I suppose I should have been more specific about what I have/am looking at. I have the microcontroller on a board, and now that I've gotten it (a couple days ago) here's a picture. What would I need to know whether or not this one can use motors?

    And what I'm thinking for the overall structure could also possibly be simplied by a simple pin out/in on each end, again using separate Arduinos for each part of the sensors, and if/where the sensors detect something, trigger something a generic pin to output, and I could use this MCU as an intermediary controller to either use motors off itself, or likewise trigger other similar pins to communite back to *another* Arduino. 

    I'm just not sure if this can be done. Or in the case of what you addressed, just what I'm looking at. Thanks!

    Andrew Crawford
    Associate II
    April 22, 2018
    Posted on April 22, 2018 at 03:07

    Sorry, now I'm trying to figure out how to upload a picture

    Andrew Crawford
    Associate II
    April 22, 2018
    Posted on April 22, 2018 at 03:10

    This what I have, more or less (from a different vendor): 

    https://m.ebay.com/itm/STM32F407VET6-Development-Board-Core407V-Cortex-M4-STM32-MCU-Full-IO-Expander-SG-/112459621879?_mwBanner=1

     
    Andrew Crawford
    Associate II
    April 22, 2018
    Posted on April 22, 2018 at 03:16

    Also, now that I see better details on this product description, I see some pins are dedicated for SPI, i2c, uart, etc, so seems I just need a datasheet for this. But, aside from those limitations as well, could this perhaps be used as an intermediary device between Arduinos? Sorry, just not entirely sure how these work (or what i would even use to program it), I'm just looking to sketch out the details of something that could potentially be a longer project to be done in stages, if possible. Thanks!

    T J
    Senior III
    April 22, 2018
    Posted on April 22, 2018 at 03:20

    if you have used motors before, you will know about back EMF upsetting the processor.

    if you look carefully at the STSPIN32F0  diagram, it will show you what you need to drive a motor.

    if you could discuss how many motors you need...

    that will point you toward a network solution with a Master, like your STM32F407 board and a bunch of motor drive boards.

    CanBus is one solution,Bidirectional, fast, self recovers.

    RS485 is about the same thing anyhow,

    Rs232 is not really suitable for you since it is point to point.

    Just food for thought.

    Andrew Crawford
    Associate II
    April 22, 2018
    Posted on April 22, 2018 at 03:35

    Ah, thanks! I haven't used motors yet, unfortunately, but will be in many future projects, so I'm sure that'll be super helpful, I'll definitely have to look more into that. And I'm not quite sure yet, as I was looking to do something larger over time, so I'll have to look into the former before I have a better idea. As of now just two, for pan and tilt of the sensors mounted onto something, but if I attached an arm (or even could) plus something for mobility, then we'd have to see (again, supposing I even could). So I'll just have to keep doing my research and come back. Thanks!