Skip to content

Breakout board for TPIC6C596 shift registers with 8x open drain output with neopixels as status leds.

License

Notifications You must be signed in to change notification settings

Pixtxa/TPIC6C-PCB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

TPIC6C-PCB

Breakout board for TPIC6C596 shift registers with 8x open drain output with neopixels as status leds.

Rainbow animation Animation with outputs active Single PCBs

Features

  • Daisy chaining of multiple boards
    • nyanyanyanyanyanyanya
    • "ONE WAY" marks represent the direction, where data goes in and where it comes out
  • Neopixel LEDs (WS2812, WS2812B, SK6812 or whatever)
    • Not needed, but nice to have
    • Work independent from the shift registers; only share the same voltage
    • Can be used as output status leds (2x RGBW = 8 bit) or whatever the software wants them to do
    • Can function as signal repeaters to connect a NeoPixel Arcade Button at the end
    • Even if your project is unfinished, it can have nice rainbow animations in an early state
  • Main part
    • IC + Basic components
    • 1 Neopixel LED
    • GND, V+ and all 8 Outputs as 2.54 mm pitch THT connector
    • V+ and 5 Outputs (D0 ... D4) as 1.27 mm pitch SMD connector
    • 23 mm x 40.64 mm
    • Connection-Pitch of 35.56 mm
  • Extension part
    • Can be cut away if not needed
    • 1 Neopixel LED
      • Or solder jumper for connecting the data line without neopixel
    • GND, V+ and 4 Outputs as 2.54 mm pitch THT connector
    • V+ and 4 Outputs (D4 ... D7) as 1.27 mm pitch SMD connector
    • 2.54 mm screw connector for V+
    • Montage hole
    • Extends PCB to 23 mm x 85.08 mm
    • Connection-Pitch of 80 mm
    • Output connectors 40 mm appart of the main part ones, resulting in output pitch of 40 mm when using D0-D3 on main and D4-D7 on extension part
  • Side Connectors
    • Double row connectors
      • Better stability
      • Box headers can be used to connect PCBs over longer distance
      • Can be used to variate the pitch a little
      • Half of outer holes can be cut away to have some kind of plated edge connector, but it doesn't really work for a huge amount of PCBs
    • SPI can be used to set the outputs
      • CLK: SCK
      • D_IN: MOSI
      • SS: Latch
    • Pinout
      • nCLEAR/nCLR (optional)
        • LOW = Reset IC
        • R1 as Pull-Up avialable
      • nOE/nG (optional)
        • LOW = Output Enable
        • R2 as Pull-Down avialable
        • Can be used for PWM dimming
      • Latch/RSCK/SPI_SS
        • Rising Edge: Copy data from shift register to output registers
        • SPI_SS can be used
      • D_IN/SER_IN/SPI_MOSI
        • Data in
        • SPI_MOSI can be used
      • D_OUT/SER_OUT
        • Data out for next shift registers data in
      • CLK/RCK/SPI_SCK
        • Rising Edge: Move data one step forward
        • SPI_SCK can be used
      • 5V/VCC
        • 4.5 ... 5.5 V supply voltage for shift register logic and neopixel
        • Level shifters might be needed for the other input signals
      • GND
        • Ground
      • V+ (optional)
        • 0...33 V
        • Screw terminal can be used for individual V+ on each PCB
        • It's only passed, so it also can be wired external without connecting it to the PCB
      • LED_IN
        • Neopixel Data in
      • LED_OUT
        • Neopixel Data out
  • Designed to control (huge amounts of) WERMA signal lamps
    • 24V compatible outputs
    • V+ is X0/COM
    • D0-D7 are outputs for X1, X2, ...
    • GND can be used as always-on output (e. g. for powering a 24V eSIGN or Transceiver)
    • Main part SMD connector features 5 Outputs, because KombiSIGN can handle up to 5 Tiers
    • 40 mm output pitch when using up to 4 outputs, because MC35 has 35 mm diameter and 4 inputs, leaving 5 mm space between lamps
    • 80 mm output pitch when using 5 or more outputs, because eSIGN/KS71/KS72 have 70 mm diameter, leaving 10 mm space between lamps

photo1697587400

Known bugs

  • Heat transfer
    • Datasheet shows a recommended layout example which isn't in use
    • No problem for me, because I'm far away of these limits
    • Maybe gluing on heatsinks might work
    • Redesign options
      • Implement it
        • Using 4 Layers
        • Increase PCB size
      • Use another IC with better cooling options
      • Add dedicated MOSFETs for higher currents
  • Voltage drop on power lines can cause problems on longer chains
    • Voltage drop on V+ only affects the outputs
    • Voltage drop on 5V mostly occurs when using the neopixels on high brightness
    • Voltage drop on GND affects the neopixels and shift registers and is mostly caused by enabled outputs
      • The shift registers glitch if voltage is too low
    • I've ordered the PCBs with only 1 oz Outer Copper Weight
    • I reccomend adding an extra cable for 5V, GND and V+ and connect it regulary
    • Redesign options
      • Add ground plane
      • Increase size of power lines, maybe use both sides of PCB, maybe also increase PCB size to fit everything
      • Order 2 oz Outer Copper Weight
      • Use 4 Layers
      • Pads for connecting cables that run in parallel
      • Use a single box connector for each PCB
        • Most current goes through external ribbon cable
        • Multiple wires for same power lines for less resistance
        • Somehow find an easy way to cut and connect the D_IN/D_OUT and LED_IN/LED_OUT wire correctly
  • Missing Resistors/Power-On-Reset
    • Most MCUs have IOs that are inputs on startup and when uploading firmware
    • Open inputs act as antennas
    • Glitches are painful when the outputs are connected to loud buzzers
    • Adding an Pull-Up + IO to nOE helps
    • Redesign options
      • Adding option for Pull-Up on nOE, so outputs are off until the MCU switches this pin to LOW
        • Might cause problems if MCU doesn't run on 5 V and no level shifter is used
        • MCU would need this IO only for start up, if PWM-dimming isn't in use
          • Maybe add solder jumper to latch input; in some cases it's okay to blank all outputs when switching them
      • Adding a simple RC Power-On-Reset to nCLEAR and a Pull-Down to Latch
        • Data in the shift register might glitch, but the controller can fill it with data before latching it to the outputs
        • On power-on, the output registers would be cleared and stay off
        • On firmware upgrades/MCU-reset, the output registers will keep their value
          • Might result in an active buzzer
          • Allows silent/invisible MCU restarts/updates in the background
  • Not all WERMA products can operate with V+ as COM
    • I've only had this problem with LED Perm. Beacon WM 24VDC GN/YE/RD
    • At least this board can drive PNP Transistors + Resistors as HIGH-Side-Switches
    • Redesign options
      • Add pads to V+ to add Pull-Up resistors, so P-Channel-MOSFETs can be used as HIGH-Side switches
        • These resistors could also help if LEDs light up dim because of EMC influences on long lines
        • These pads could also function for adding freewheeling diodes when switching inductive loads

About

Breakout board for TPIC6C596 shift registers with 8x open drain output with neopixels as status leds.

Topics

Resources

License

Stars

Watchers

Forks