What is the pinout of the connector (eg H/L, S/F, S/B, etc)?
H/L -> high speed / low speed
H/L is not connected on the ribbon cable. S/F is forward. S/B is backward.
Is the microcontroller monitoring the motor current somehow? If that circuitry is misreporting an overcurrent situation, that would make the microcontroller change the duty cycle to compensate.
As I have probed the microcontroller and there is a pin going through a 2k resistor to ground but I think if it had an effect, it should happen in both directions. And it measures exactly 2k ohm.
After some probing I have mapped the microcontroller pinout. The picture is attached. One interesting thing I found is that after I changed the ldo from 3v to 3.3v the voltage on forward PWM rose to 1.9V from 1.6V on multimeter. Exactly .3V. So what if I use a 5V ldo? I hope it doesn't fry something.
HY8345 is chip used to drive a motor to turn the front wheels through remote control
XN297lbw RF chip is used to communicate with a remote. The car didn't come with one.
"Rock" is to move the car back and forth in a rocking motion.
"H/L". No idea. There is no wire going to input of that pin on the connector.