FAQ
TL;DR: RS‑232 swings can be −3 V to −25 V for logic 1 and +3 V to +25 V for logic 0; “don’t plug the hardware into your PC as yet.” [Elektroda, Mark Harrington, post #21665501]
Why it matters: This FAQ helps beginners build a keyboard‑editable running message signboard safely, from interface to power and fonts, using PIC/LED matrices.
Quick Facts
- Interfaces: two proven builds—PS/2 keyboard editable and RS‑232 (COM‑port) controlled scrolling text. [Elektroda, Eugene Lisovy, post #21665486]
- Latin font support was added by redrawing sprites and supplying modified ASM/HEX. [Elektroda, Eugene Lisovy, post #21665507]
- Direct RS‑232 to PIC is unsafe; add a MAX232 or equivalent level shifter. [Elektroda, Mark Harrington, post #21665501]
- Two firmware variants exist: EEPROM‑stored messages and live RS‑232 streaming; English versions provided. [Elektroda, Eugene Lisovy, post #21665524]
- High‑current LED panels may exceed a 7805’s ~1 A; use LM338/high‑current regulator with R=120 Ω adjust network. [Elektroda, Eugene Lisovy, post #21665528]
How do I safely connect a PC to the sign over RS‑232?
Use a MAX232 (or similar) between the PC’s RS‑232 and the PIC’s TTL UART. Wire TX, RX, GND; set baud and framing in firmware. Avoid direct connection because RS‑232 can apply ±10–25 V and damage the PIC and even your PC port. As one expert warned, “don’t plug the hardware into your PC as yet.” [Elektroda, Mark Harrington, post #21665501]
Can this project be edited with a standard PS/2 keyboard and show English text?
Yes. The PS/2 variant accepts key presses and displays Latin characters after updating the font sprites and firmware. The author delivered a version that “will now be displayed in Latin characters” when you type on a standard PS/2 keyboard. [Elektroda, Eugene Lisovy, post #21665518]
What’s the difference between the RS‑232 and EEPROM builds?
The RS‑232 build streams text from a PC over a COM port. The EEPROM build stores messages on the sign and plays them without a PC. English firmware was supplied for the RS‑232 version, and a prior package covered the EEPROM variant. [Elektroda, Eugene Lisovy, post #21665524]
How do I start sending text from my PC and later delete or replace it?
For RS‑232, create a small front‑end that opens the COM port and sends ASCII strings. Add simple commands for clear, write, and start. For EEPROM, your firmware should implement erase/write routines for message slots and a play loop. A member confirmed RS‑232 control and provided sources. [Elektroda, Eugene Lisovy, post #21665486]
What font or sprite work is needed to get full A–Z support?
Redraw the character sprites from the original Cyrillic set to Latin A–Z (and a–z if needed). Replace the glyph tables in the source, then recompile. The author shared an example and offered to “redo all the sprites for Latin characters.” [Elektroda, Eugene Lisovy, post #21665498]
I’m missing letters like J, G, U, or W—how do I fix that?
Update the sprite table to include every ISO basic Latin glyph you need. Verify the PS/2 scancode map points to the correct glyph indices. Rebuild HEX and flash. The contributor later posted English‑ready sources and manual to resolve missing letters. [Elektroda, Eugene Lisovy, post #21665507]
What regulator should I use for a multi‑module LED sign?
A 7805 can run hot or current‑limit around 1 A with large matrices. Use an LM338 or a high‑current regulator. Set the adjust network with 120 Ω and size wiring for current. Heatsink the regulator and test under worst‑case brightness. [Elektroda, Eugene Lisovy, post #21665528]
How big is a typical character font, and why does it matter for memory?
A common 5×7 font needs 35 bits per character (≈5 bytes with padding). At 96 printable characters, allocate ≈480 bytes for glyphs, plus spacing. Larger fonts or extra symbols scale linearly. One member discussed 5×7 matrix modules for display output planning. [Elektroda, Mark Harrington, post #21665496]
What’s a quick 3‑step to get scrolling text working?
- Flash the provided English RS‑232 HEX to the PIC. 2. Add a MAX232 and connect COM‑port TX/RX/GND. 3. Send your string from a terminal/front‑end; the firmware scrolls it. [Elektroda, Eugene Lisovy, post #21665486]
What’s the safe RS‑232 voltage range and the main failure to avoid?
RS‑232 defines logic 1 as −3 V to −25 V and logic 0 as +3 V to +25 V. Feeding these directly into a PIC’s TTL pins risks permanent damage to both the microcontroller and the PC port. Always insert a level shifter. [Elektroda, Mark Harrington, post #21665501]
How do I handle Proteus project files that won’t open on my version?
Use the same or newer Proteus version as the shared design, or request a saved‑as‑older export. When a user on v7.0 couldn’t open a file, they asked for a compatible Proteus project or guidance. [Elektroda, Muazu Musa, post #21665493]
How are columns and rows driven on 8×8 or 5×7 modules?
The design shifts bytes through 74HC595 registers, latches columns, and selects rows via a 3‑to‑8 decoder. Firmware clocks out sprite rows and multiplexes quickly to avoid flicker. A contributor analyzed this approach and its latching sequence. [Elektroda, Mark Harrington, post #21665499]
What memory strategy should I use for multiple stored messages?
Add I²C EEPROM to hold messages and iterate them in a loop. The mentor advised upgrading the processor and adding memory if you want the sign to run independently after disconnecting a laptop. [Elektroda, Mark Harrington, post #21665490]
What is CAN bus?
CAN bus is a robust multi‑drop serial network for controllers and sensors, designed for reliability and error handling in noisy environments. It is often considered for scalable signage or industrial links. [Elektroda, Mark Harrington, post #21665508]
What is Arduino Nano?
Arduino Nano is a small breadboard‑friendly development board based on an 8‑bit AVR MCU, often used for quick LED matrix prototypes and serial bridges. “Use what gets you building fast.” [Arduino Nano — Official Docs]
What should I know about baud rate selection here?
Choose a baud rate the PIC can handle with your clock, then match it in your terminal. Start conservative to validate the link, then raise if refresh and buffer allow. A mentor explicitly raised baud‑rate planning as a key step. [Elektroda, Mark Harrington, post #21665501]