Sunfounder 1602A 2.0 is showing random characters.

Using this code, /* LiquidCrystal Library - Hello World Demonstrates the use a 16x2 LCD di - (print and stuff is commented out for debugging), the screen freezes at the text



("<" is actually a left arrow and “” is a solid block of white pixels).

The screen is connected up like this:
1: Ground
2: 5.0V
3: Potentiometer
4: Port 4
5: Ground
6: Port 6
7: None
8: None
9: None
10: None
11: Port 9
12: Port 10
13: Port 11
14: Port 12
15: 5.0V
16: Ground

(I’ve checked this over and over, that’s not the issue.)

The connection is getting through fine, adding an LED to the parts of the pins that stick out makes it light up everywhere you’d expect it to.

Picture of the setup is attached (to show you the wires in a picture would be near impossible, that’s mostly just to show the output)