Close

First PCB revision

A project log for LCD display for a HP G7 Microserver

My father has this fileserver that is not connected to a monitor, so I decided to put a small LCD display to display useful info

abraham-limpoAbraham Limpo 09/12/2023 at 22:350 Comments

The PCB is fairly simple, here are the schematics:

My first idea was to directly mount the PCB into the screen. That would make the interior less messy. This is the circuit diagram:

You will notice that the screen data lines are reversed respect to the schematic. This was for convenience sake, as the LiquidCrystal library allows you to arbitrarily assign the data pins, and that way the wiring was easier. Here's how it looked once assembled (but before I soldered the button header).

(and yes, the paper below the circuit is the original diagram. I just cleaned it up for you guys :)

You will notice that the USB cable sticks quite a lot from the side of the LCD. This proved to be a fatal error and when I tried to plug the cable it would simply not fit inside. I bought a 90º cable but even with that it was too big. I would have to redesign the circuit board with the arduino flipped, but also the cable I bought was a bit too short, so i had to choose: buy another cable, and redesign the circuit board the same way -plus risking it would not fit anyway- or go the "mess of cables" way. This project had a tight deadline (I could not leave my parents without the fileserver for more than two weeks, as it contains my fathers photografy work, plus the cloud backup is synced from here).

At least I could use the board to start developing the software:

The node app ran all LCD commands except the "custom character" one. I can trigger the display to show characters 1 to 8, but it ignores the command to write a new one. It would be not a big thing. but this LCD uses CHARSET 1 of the two availables:

And that means no spanish accents (except, curiously, the ñ) and no up or down arrow. Also for some reason, trying to write characters from the second half (0b1000xxxx) always resulted in some manner of corruption, so really I'm limited to the 96 characters of the first half.

Discussions