DFRobot LCD shield

I tried simply turning the backlight on and off with pin D10
pinMode(10, OUTPUT); //remember to enable it as an output

digitalWrite(10, LOW);
digitalWrite(10, HIGH);

When it went low the backlight went off fine, however when it went high it caused a lot random flickering in the display. It didn't really mess up the display but it flickered and blinked. It was a lot different than when it was simply tri-stated when pin 10 was not set to an output. So, I checked the schematic to discover a bad design. D10 is directly driving the base of an NPN transistor with the emiter to ground! So, no wonder it is acting all crazy. I beleive that is too much of a current load on the output pin. The pull up resistor in the schematic is 4.7K so I think a diode in series with D10 would make it work better. You would have to cut the connector stacking pin or bend it out of the way then add the diode in series polarized with the cathode towards the Arduino board. I bet the PWM would work for you with a diode in series. http://www.robotshop.com/content/PDF/dfrobot-lcd-keypad-shield-schematic.pdf