El esquema como se dibuja se ve bien.
Si gen + llegara a 12V (el peor de los casos), los pines del STM32F solo recibirían menos de 0.4mA de corriente, incluso sin diodos de protección, lo que debería estar bien para el STM32F. Con los diodos el límite sería aún menor, el pin gen se ve bien.
Cualquier voltaje excesivo del motor debe ser detenido en cierta medida por el regulador de voltaje, para estar seguro, ponga un alcance en él para asegurarse de que cuando el motor esté encendido o apagado no haya un problema allí.
El diodo que atraviesa el motor debe detener el retorno en la dirección negativa para que yo tampoco esté demasiado preocupado por eso. Pero la implementación lo es todo, un problema de conexión a tierra (o un diodo que no está instalado correctamente) podría ser parte del problema. Asegúrese de que su implementación coincida con el esquema.
La regla empírica que uso con STM32 en funcionamiento máximo / normal es de aproximadamente 50 mA, por lo que sería (12V-3.3V) * 0.05A = 0.435W, lo que puede explicar por qué el regulador se siente caliente. Es posible que desee reducir el voltaje con dos reguladores u obtener una caída de la 'serie 7805' en un regulador de CC / CC compatible.
En mi experiencia, el STM32 se desvanece por sobrecorriente, si hay demasiado voltaje en un pin y los diodos de protección se activan y se alcanza la corriente nominal máxima para el pin.