I have built a H-bridge as in the image below. The NPN transistors are TIP102 and the PNP transistors TIP107. The bottom NPN transistor is connected to the PWM pulse of the MCU. When I close one of the switches (MCU pin HIGH), the corresponding PNP transistor overheats and the motor is turning very slow. I measured a voltage at that transistor at about 1.8V and strangely at the opposite PNP only about 5V. So it seems to me the transistors don't saturate properly. I also tried smaller base resitors, but it didn't work. With further testing however, when I connected the switch to the 12V rail, the the PNP doesn't overheat and everything is working correctly. Is there a flaw in my design?