I wonder which logic technology is STM32F407 MCU based on.. CMOS or TTL or HC or LVT etc? Although its mentioned in the datasheet that the GPIO's are CMOS and TTL compliant. I am concerned about this because I have to interface this 3.3V MCU with other logic circuitry and maybe the different logic families won't work well together.

enter image description here


1 Answer 1


Manufacturers put a LOT of effort into making sure ICs are compatible with other I/O standards so that you can interface them to actual hardware (otherwise, who would buy their stuff?). Some even go so far as to have like 20 different I/O standards supported on each pin (FPGAs usually have this sort of configurability).

Here's the output specification of your chip (from the datasheet): STM32F407 output characteristics

And the input specification (FT = 5V tolerant pins, TTa = 3.3V tolerant IO): STM32F407 input characteristics

For inputs, it should be able to take just about anything that can meet those levels (LVCMOS (3.3V, etc), probably HC when its run at 3.3V). For outputs, it can also meet 3.3V TTL.

If you're unsure if it will work well with the logic parts you have selected, I strongly suggest you read their datasheets. In general, any CMOS-based part should have zero issues. You may run into problems trying to drive 5V TTL (use a level shifter to 5V if you need to do this and find problems).

Here's some simple steps if you are concerned about I/O standards compatibility:

  1. Check the output high level voltage minimum of the driving IC against the high level input minimum of the receiving IC. The driver should be greater than the receiver by at least a hundred millivolts or more (noise immunity).
  2. Check the output low level voltage maximum of the driving IC against the low level input maximum of the receiving IC. The driver should be less than the receiver maximum by at least a hundred millivolts or more (noise immunity again).
  3. Check that the driver's maximum output voltage is less than the recommended maximum input voltage for your receiving IC.
  4. Make sure you are meeting any weird requirements of the driver, such as a minimum output load. It is likely there are no weird requirements, especially if you stick to regular modern CMOS or HC logic.
  5. Make sure you are meeting any weird requirements of the receiver, like minimum input drive current. Same story as above, almost no weird requirements if you stick to regular and modern logic families.
  • 1
    \$\begingroup\$ True, but sometimes they may miss the mark. The 5V 74HCT logic family was introduced because the 74HC logic family’s input specifications did not work well with the 74, 74S, and 74LS logic families. \$\endgroup\$ Feb 16, 2019 at 3:05
  • \$\begingroup\$ Can you explain what does FT, 5V tolerant means for an input port and what it does not mean? Can the MCU get its power from a 5V input when the MCU power is off? \$\endgroup\$
    – scico111
    Feb 16, 2019 at 3:06
  • 1
    \$\begingroup\$ A 5V tolerant input can have a voltage above your VDDIO (3.3V or lower) up to 5V without being destructive. These inputs have a different internal structure that allows them to take input voltage above their VDDIO compared to regular pins. The MCU cannot have its VDDIO or any power rail supplied by 5V (or by anything much above 3.3V, for that matter). \$\endgroup\$ Feb 16, 2019 at 3:09
  • 1
    \$\begingroup\$ If you are going to be applying voltage to your MCU's inputs while it is powered off, tread very carefully and read every word of the datasheet. Most ICs cannot handle this case well unless specifically designed to do so (many logic families, especially those manufactured by TI, are designed to do so). \$\endgroup\$ Feb 16, 2019 at 3:14
  • \$\begingroup\$ @LosFrijoles Your recent answer to This question was a good one. You deleted it - presumably because there was a misunderstanding over the energy content he asked for (500 Wh/day versus 500 W for 1 day). I suggest that it would be easy to edit the question to retain the useful portion with a 500 Wh/day requirement rather than leaving it deleted. It's a shame to put that much work into something and then have it not visible. (I've had it happen occasionally :-( ). \$\endgroup\$
    – Russell McMahon
    Mar 23, 2019 at 16:45

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.