RC filter lower PWM voltage from arduino
The voltage drop is caused a resistor in your controller which pulls the throttle input to ground, probably to ensure that the motor stays off if the throttle potentiometer becomes disconnected. This load forms a voltage divider with the source (Arduino output + filter), the equivalent circuit looking like this:-







simulate this circuit &ndash; Schematic created using CircuitLab

Using a few simple calculations we can estimate the value of the controller's pull-down resistor. Firstly, assuming your Arduino uses an AVR MCU running on 5V its output impedance should be about 30&ohm;, so the output resistance after the filter is ~1.03k&ohm;. The voltage drop under load is 3.8V-3V = 0.8V, so Ohm's Law tells us the current is 0.8V/1.03k&ohm; = 0.777mA, and the input resistance of the controller is 3.0V/0.777mA = 3.9k&ohm;.      

You can reduce the voltage drop by lowering the value of your filter resistor (and increasing capacitance to maintain the same filtering effect) or adding an op amp to buffer the signal and provide a low impedance output. However this may not be necessary because your controller only needs 3.5V for full throttle, and you can compensate for the voltage drop by increasing the maximum PWM ratio (should get close to 4V at 100% PWM).