I just got a dual LED display from BangGood and I have a question about wiring it in.
I plan on hooking the display's VCC pin to the Arduino (nano V3) 5V pin, the display's DAT pin to TX1, and the CP pin (read data signal) on the display to D3. Do I need pullup resistors between the Arduino and the display?
Do I need pullup resistors between the Arduino and the display?
No, you don't, but you do need to understand what you have.
According to the information on the page you linked to the display has a 74HC164 shift register (or maybe more than one, I'm not clear on that) to receive the data from whatever you are driving it with. This is not a serial port. To be clear (I hope), yes the input is serial data of a kind, but not serial data in the form that comes from a serial port, connecting to a standard serial port won't work. Download the data sheet for the 74HC164 and understand it. You will need to send data to DAT and a clock pulse to cp once per change of data. I can't help much more as I have not used one myself, but I hope that gets you started.
Unfortunately this is an unbelievably bad design and you should never purchase one (or more! ).
The 74HC164 is a shift register without a latch, so as data is clocked into it, the display changes in apparently random manners with every clock pulse. That is why it has two control lines instead of three - the latch line is missing.
It attempts multiplexing. Two shift registers, one drives digits, the other segments. You have to set up a segment pattern and select a digit in 16 clocks. Then you wait a bit and set up the next digit pattern. But the display will show spurious patterns while you do the shifting.
But it uses 74HC chips which are not rated for the current, so even if you get the multiplexing code right, the brightness will vary with how many segments are lit on a particular digit as the chip cannot handle the total current for that digit. The resistors are 1k which sets the drive current at no more than 2.5 mA so it is more-or-less within the ratings of the 74HC164, probably not a reliability concern as such.
You need to ditch this module and get one (or more) using a MAX7219. These can be chained to just three control pins.