I am trying to make a very small change to a circuit to allow for boot mode selection using two boot pins. The component I am trying to control is the STM32F411. One of the pins can be floating in regular boot mode, and driven to ground in the other, therefore I am planning to just simply have it be connected to ground permanently since this will allow for both boot modes to be entered. The other pin varies between high and low for the two boot modes, and is currently being driven low with a pull down resistor (I'm trying to change this). Now here is my question: my limited knowledge of electronics would suggest that it is possible to drive this second pin using a GPIO output from another device, say for example a Raspberry PI. The low level voltage needed is <= 0.43V and the high level voltage is >= 1.261V, therefore if you have a GPIO with a high level voltage of 3.3V, and a low level voltage of 0, it should be able to control the boot pin. Is my thinking correct? Do I need any other components to make this work? I would like the pin to be driven low by default at boot, suggesting it's not as simple as connecting the two pins together and using software to control the output of the pin. Thank you
Your thinking is correct. If you want the pin to be driven low by default then add a pulldown resistor from the pin to ground, something from 5k\$\Omega\$ and 10k\$\Omega\$. It's often the case that a processor's I/O pins wake up in input mode. I don't know if that's true for the Raspberry Pi, but if it is then the pulldown resistor will give you the default low value you want. The value of the resistor needs to be high enough that the Pi's I/O pin can easily overdrive it.