IMP I/O are they 5 volt input compatible?

Working with an SPI 5 volt design, do I need and external input buffer?

As far as i understand, I/O pins of imp are able to supply as much as the regulated input voltage, which is around 3.3v
If you need to send signals to devices that requires 5v, you should use a transistor together with a power supply and send signals to its base/gate

I am virtually certain the imp is not 5V tolerant. You can check the schematic of Sparkfun’s Arduino shield for the imp for a level shifting circuit. That circuit is on the UART so you would need to judge for yourself the suitability of that bidirectional level shifter for SPI. I am only familiar with UART and that shield from Sparkfun.

Correct, they are 3.6v maximum. You will need a level shifter if you’re talking to a 5v SPI device.

I checked the input voltage on some STM32 parts, many of the I/Os are 5 volt tolerant

Input voltage on five-volt tolerant pin VSS − 0.3 VDD+4.0…seems that most non analog IOs are FT .and since we don’t have the schematic are you shorting pins together?

We do over-mux pins, remember every pin has an ADC - but please DO NOT read the STM32 datasheet and make assumptions about voltage levels.

We say 3.6v tolerant because in the future we WILL be using chips that are not 5v tolerant, and then any device you’ve made with 5v connected to an imp WILL destroy the newer imp.