001

Contact HMS Store Manager

Goto HMS-Brightsign Home Page

Contact HMS Technical Support

BrightSign Interface Products

For Brightsigns wit USB or TTL Serial Port

This board has serial polarity selection for use with a BrightSign without the option of 'Invert Serial Signals'

 

USB-S3-16X16 Interface

USB-S3-16x16-P

Features:

Description of Operation:
This board is used to interface to a BrightSign with either a USB port or a Serial Port..  Controlling the outputs can be dynamic (HMS Protocol with brightness and fade) or simple (Non-HMS Protocol).

Overview:

This board was designed with 'low impedance' drivers.  The outputs can drive relays or LED's.

Serial Setup (stereo cable): In BrightAuthor, select Presentation Properties, Serial Setup and select port0.  Set the port to 38,400 baud.  Select 'Invert Serial' for the serial port. Note: After the BrightSign boots, the tip of the stereo connector should measure about 5V (to the barrel).  Without this selection, the tip will measure about 0V and this will be the wrong polarity for the USB-S3 board.

USB Setup: In BrightAuthor, select Presentation Properties, Serial Setup and select port2.  Set the port to 38,400.  The USB-Serial Interface is handled by a Prolific USB-Serial converter and appears as a serial port in BrightAuthor.

Inputs:

When any input goes low (button input), then a string is sent to the BrightSign.

The strings are:

    Input  =  String

Controlling the board w HMS Protocol:

Outputs: Connect Loads between 'Output' and +V.

*********Output Control Commands (Lights):

Note: A 'Fade' of zero, causes instant change in Brightness (no fade).  Use a fade value of zero when turning on relays (or turning them off).
Note: Fade is the number of milliseconds to make a change in Brightness.  A fade value of 20 will take 20 milliseconds to change to the next Brightness.  So, to change from 0 to 255 (minimum to maximum Brightness) with Fade=20 (20 milliseconds per step of change) will take 20 * 255 or 5.1 seconds.

Note: The brackets are not part of the byte sequence.

Note: LED's are very responsive to  PWM changes.  A change from value of 1 (1/255 on time) to 2 (2/255) on time is 100% change is step.  This is very noticeable at very low PWM values.  I recommend you start with a brightness value of 10 then set the brightness with fade.
I.E. (CMD1, Output1, Brightness=10, Fade=0, 204)  = 001, 001, 010, 000, 204
Then send a second Command 1 to adjust the brightness with fade (Brightness 128, fade=040)  = 001, 001, 128, 040, 204

Output Command Examples:

Command1: To control any of the 1-8 Outputs (Command1), set the 'Select_Bits' to match the outputs. Set the 'Fade' for those Outputs,  Then set the Brightness for those Outputs.
                    I.E. to turn on Output1+Output8 (to the maximum brightness=255,  fade rate=20), Command1=[1,129,20,255,204]
                    I.E. to turn off Output8 (brightness = 0, fade rate=20), Command1=[1,128,20,0,204]
                    I.E. to Turn off Output1 (instant) (Select_Bits = 1, brightness = 0, Fade=0), Command1 = [1,1,0,0,204]

Non-HMS Protocol:

The first byte received sets output port1 (outputs 1-8), the second byte received sets output port2 (outputs 9-16).  Each byte after byte 2 discarded.
I.E. Send this byte sequence [1,128] and these are the results:

Note: In BrightAuthor set the Serial I/O event to ASCII (not bytes).  Baud Setting: 38400,N,8,1 (No parity, 8 bits, 1 stop bit)

Note: The 12/24 volt 2.1mm 'barrel' connector is typically rated at 4 amps.  IF you need to drive more than 4 amps total, use the output connector 0V and +V to connect your power supply.

Options (SW1-X On)

1  Not HMS Protocol (byte protocol not command structure)

2  Invert Serial Polarity (see about_polarity.htm)

3  Reflect Diagnostic: When inputs go low, the corrosponding outputs turn on.  I.E. Input 1 goes low, then output 1 turns on)

4 Cycle Diagnostic (The outputs are sequenced on/off)

Auto Polarity: ('AUTO-POL' sticker on the board) firmware has autodetect for the serial polarity.  The board configures the serial polarityconnection automatically for the USB or TTL connection.  If using USB you need to send a null byte [serial.sendbyte(0)] to synchronize the board serial polarity.

Author: Richard Harkey
Revised: July 18, 2025