Overview
This program displays text on three PDSP1880 modules wired as one master display and two slave displays. Characters are written left to right across all digit positions; when the end of the character set is reached, the sequence wraps back to the start. At shorter delay times the full ASCII run looks like a right-to-left scroll.
Scroll speed comes from analog port 0: the pot wiper is read, scaled with map(), and converted to a delay between digit writes from 20 ms (fast) to 500 ms (slow).
Hardware
| Item | Detail |
|---|---|
| MCU | OSEPP Pro Mini - ATmega328 @ 5 V, 16 MHz |
| Displays | 3× PDSP1880 (1 master + 2 slaves) |
| Scroll control | 10 kΩ potentiometer wiper on A0 (CCW = GND, CW = +5 V) |
| Power | +5 V and GND to Pro Mini and displays |
Pin mapping
Port D carries the 7-bit character data and write strobe; port B selects bank and digit address.
| Pro Mini pin | Port | Function |
|---|---|---|
| D0 (RX) | PD0 | Display bit 0 |
| D1 (TX) | PD1 | Display bit 1 |
| D2 | PD2 | Display bit 2 |
| D3 | PD3 | Display bit 3 |
| D4 | PD4 | Display bit 4 |
| D5 | PD5 | Display bit 5 |
| D6 | PD6 | Display bit 6 |
| D7 | PD7 | Display write (active low) |
| D8 | PB0 | Display A0 |
| D9 | PB1 | Display A1 |
| D10 | PB2 | Display A2 |
| D11 | PB3 | Bank select 1 (left display) |
| D12 | PB4 | Bank select 2 (middle display) |
| D13 | PB5 | Bank select 3 (right display) |
| A0 | PC0 | Scroll-speed pot wiper |
Bank decode in firmware: digits 0-7 drive the left module (Bank = 0xF0), 8-15 the middle (0xE8), 16-23 the right (0xD8). Each bank exposes 8 character positions; TotalDig = 0x17 (23) is the total digit count across the chain.
Behavior
Char2Countwalks the character set;Char2Disis the byte sent to the display after wrap-around math at the end of the ASCII range (TotalDisChar = 0x7F).DisPosCountselects which digit position receives the current character.setup()sets DDRD and DDRB as outputs and blanks the displays on power-up so no garbage characters appear.- Each loop pass writes one character to each digit position in order, then advances the character index.
Build and upload
- Clone or download 3_bank_display_test from GitHub.
- Open the sketch file
Three_bank_display_testin the Arduino IDE (no external libraries required). - Select board Arduino Pro or Pro Mini, processor ATmega328P (5 V, 16 MHz).
- Wire the three PDSP1880 modules and scroll pot as in the pin table above.
- Upload and turn the pot to adjust scroll speed.
GitHub Actions compiles this sketch on every push to master (compile check only; does not upload to the board).
Original sketch comments and wiring diagram: Jim Burney, July 2013.