Using Arduino with a CrystalFontz 634 v2.2 LCD, questions on power supply

I have had lots of fun with LEDs on a breadboard with my Arduino Uno, and now I'm moving on to controlling an LCD that I already had on hand. It is a CrystalFontz SKD204-634 v2.2, a 4x20 character, backlighted and the characters are bright yellow. This was the best I could get before getting into the (more expensive) Vacuum Florescent Displays (VFD).

I originally had this connected to a PC through a serial port, and after soldering the appropriate pins onto the board and connecting 2 jumpers, I got it to work with the Arduino with a "Hello World!".

My questions are 1. why is the LCD much dimmer (barely lit up) when the Arduino is powered by USB than by a 9v battery?

  1. what is the typical amperage supplied by a USB port? According to the LCD's data sheet, it draws a total of 531 mA (6 mA for the LCD, 525 mA for the back light). If the USB supply is less than 531 mA, then this is the problem.

  2. what is the proper way to run on external power (by the pins or the barrel) and be able to keep the USB cable connected, without frying the voltage regulator? Or can this even be done?

I'm new to electronics, but not programming. I not a total numbskull in electronics though, I am aware that if you let the magic smoke out, it don't work no more! :)

Answer #1 - you are powering your device via the arduino V+ output, which is voltage limited @5vDC, and the 9v battery puts out...4 volts more. (Within manufactures specification - more LED voltage means more LED output)

Answer #2 - depends on your USB controller @ hand. The USB specification varies between 500mA and 900mA depending on the specification of your chipset.

Safest way is to always attach large draw devices to a regulated power source, fused of course, and not require a USB port for your power - until you are past the prototyping stage.

Perhaps I should have included a description of the wiring:

The LCD has GND, +5v LCD, +5v LED (back light) and DATA_IN, and 3 other pins that are unused: SPI_CS, SPI_CLK, and SPI_BUSY

The LCD: DATA_IN is connected to Arduino: TX ->1

LCD: GND is connected to Arduino: GND, if you count the pins, RESET, 3.3v, 5v, GND, this is the GND I'm using

LCD: +5v LCD and LCD: +5v LED are both connected to Arduino: 5v, using a breadboard to connect the 3 wires together

When I plug in a USB cable, the LCD powers up, but just barely, like 1/4 the brightness it usually is. When I use a 9v battery, and no USB, on the Vin and GND pins next to A0, the LCD lights up at full brightness, like it did when it was connected to the PC through the serial port and powered using the 5V rail of the PC's power supply.

Maybe this LCD is much more of a power hog than I realized...

I think I solved my problem. Using a digital multimeter, I measured the voltage across the Arduino’s GND and 5v pins. Here are my results:

USB: 4.85v

9v battery on Vin and GND: 5.00v

Radio Shack selectable voltage wall wart with interchangeable barrel connectors set to 6v output and connected to the Arduino’s barrel connector: 4.53v

Same thing, but set to 9v: 5.00v

So there it is. My USB port, after going through the Arduino’s power circuitry is only delivering 4.85v.


Solved? mods - lock?

So there it is. My USB port, after going through the Arduino's power circuitry is only delivering 4.85v.

Have you tried measuring the voltage using the USB power but with the LCD backlight disconnected? Most likely your voltage is dropping because you are exceeding the current rating of the USB port.


The LCD was not even connected to the Arduino during these tests. These readings were from the power output pins on the Arduino with nothing connected that would drain power, other than the Arduino circuit board itself.

So, is there a way to [u]safely[/u] connect both a 9v battery and the USB cable simultaneously so that I can supply full voltage to the LCD and maintain communication with the PC for testing?

As a last resort, I could jury-rig it so that the LCD and Arduino are running on separate power supplies - run a 9v battery through a 5v regulator for the LCD and power the Arduino by USB.

I am currently trying to connect a crystalfontz display (same as yours) on an arduino pro mini, which library did you use to drive the display as i’m fairly new to this whole thing and don’t want to waste this display that I have
I’m still trying to learn this stuff
what i’m doing is trying to make a weather station and have the lcd display the information
would you be able to share your settings??