Renard PX1 Pixel Controller: Difference between revisions

From doityourselfchristmas.com
Jump to navigation Jump to search
 
(80 intermediate revisions by 5 users not shown)
Line 4: Line 4:


The design consists of a controller board with a [http://ww1.microchip.com/downloads/en/DeviceDoc/41440C.pdf PIC16F1825]PIC microcotroller that connects via a simple RS485 connection protocol like all Renard controllers.  The PX1 Controller is capable of driving up to 200 pixels per controller (with power injection after 50 pixels) or 50 pixels directly.  It supports both 12VDC and 5VDC pixels.  The PX1 Controller is designed to support pixels that use the WS2811 and WS2801 IC.
The design consists of a controller board with a [http://ww1.microchip.com/downloads/en/DeviceDoc/41440C.pdf PIC16F1825]PIC microcotroller that connects via a simple RS485 connection protocol like all Renard controllers.  The PX1 Controller is capable of driving up to 200 pixels per controller (with power injection after 50 pixels) or 50 pixels directly.  It supports both 12VDC and 5VDC pixels.  The PX1 Controller is designed to support pixels that use the WS2811 and WS2801 IC.
The PX1 is available to purchase anytime. Purchase info is available [http://doityourselfchristmas.com/forums/showthread.php?28363-Renard-PX1-Pixel-Controller-is-now-available-(current-12-2-13) HERE]


==Disclaimers==
==Disclaimers==
Line 22: Line 24:
# Supports upto 115200 input baudrate from standard Renard Output Plugin  
# Supports upto 115200 input baudrate from standard Renard Output Plugin  
# Uses PIC16F1825 microprocessor, so it can be programed with traditional PICKIT 2 or PICKIT 3 programmers.
# Uses PIC16F1825 microprocessor, so it can be programed with traditional PICKIT 2 or PICKIT 3 programmers.
# Supports WS2811 strings at with either 400KHz or 800 KHz data rate
# Supports WS2811 strings at with either 400KHz or 800 KHz data rate (Under Development)
# Uses external 5VDC or 12VDC supply (depends on pixel needs)
# Uses external 5VDC or 12VDC supply (depends on pixel needs)
# Power, RxD (receiving data), FE (framing error)and Attn LED status indicators
# Power, RxD (receiving data), FE (framing error)and Attn LED status indicators
# Jumper to select pixel speed (400 KHz vs 800 KHz)
# Jumper to select pixel speed (400 KHz vs 800 KHz)(Under Development)
# Designed to fit inside a [http://doityourselfchristmas.com/wiki/index.php?title=TA-200#TA-200_.28Terminal_Access_TA-200_Terminal_Enclosure.29 TA-200 enclosure]
# Designed to fit inside a [http://doityourselfchristmas.com/wiki/index.php?title=TA-200#TA-200_.28Terminal_Access_TA-200_Terminal_Enclosure.29 TA-200 enclosure]


==Maximum Number of Pixels per Controller==
==Maximum Number of Pixels per Controller==
'''The Renard PX1 can support a maximum of 200 pixels per controller.'''  To achieve more then 200 pixels in a Renard system, multiple Renard PX1 pixel controllers must be used. The total number of pixels that may be supported per serial port depends on both the baud rate and on the frequency of updates that has been programmed into the Vixen sequence.  The most common PC control software is Vixen, which easily supports multiple serial ports (including USB-RS232 and USB-485 converters).
'''The Renard PX1 can support up to a maximum of 200 pixels per controller.'''  To achieve more then 200 pixels in a Renard system, multiple Renard PX1 pixel controllers must be used. The total number of pixels that may be supported per serial port depends on both the baud rate and on the frequency of updates that has been programmed into the Vixen sequence.  The most common PC control software is Vixen, which easily supports multiple serial ports (including USB-RS232 and USB-485 converters).  The maximum number of pixels in a Renard system (per comm port) is directly related to the [[Renard#Number_of_Circuits_.28Channels.29_per_Serial_Port|maximum number of channels]] in a Renard system (per comm port) since each pixel uses 3 channels.  The maximum number of pixels is also limited if you are using other controllers in the Renard daisy chain since they use channels and limit the number available for the pixels to use.


{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
|+ Number of Channels (*)
|+ Number of Channels (*)
|colspan="4" align="center" style="background:#FBEC5D; color:black"| '''Total Number of Pixels Capable <br> for a given Baud Rate/Refresh Interval*'''
|colspan="4" align="center" style="background:#FBEC5D; color:black"| '''Total Number of Pixels Capable <br> for a given Baud Rate/Refresh Interval* <br> in a Renard Network per Comm Port'''
|-
|-
|rowspan="2" style="background:#AFEEEE; color:black"| '''Baud Rate'''
|rowspan="2" style="background:#AFEEEE; color:black"| '''Baud Rate'''
Line 41: Line 43:
!width="60" style="background:#D3D3D3; color:black"| 50 ms
!width="60" style="background:#D3D3D3; color:black"| 50 ms
!width="60" style="background:#D3D3D3; color:black"| 25 ms
!width="60" style="background:#D3D3D3; color:black"| 25 ms
|-
|style="background:#AFEEEE; color:black"| '''460800*'''
|style="background:#FBEC5D; color:black"| 1528
|style="background:#FBEC5D; color:black"| 764
|style="background:#FBEC5D; color:black"| 382
|-
|-
|style="background:#AFEEEE; color:black"| '''230400*'''  
|style="background:#AFEEEE; color:black"| '''230400*'''  
Line 74: Line 71:


The Vixen 2.x Plugin for Renard supports baudrates up to 115200.  <br>
The Vixen 2.x Plugin for Renard supports baudrates up to 115200.  <br>
&#42;A new plugin is required to support higher baudrates.
&#42;A new Vixen 2.x plugin is required to support higher baudrates. <br>
&#42;The [[E1.31 Bridge]] from [http://www.diyledexpress.com/index.php?main_page=product_info&cPath=22&products_id=157 diyledexpress.com] allows baudrates up to 460,800 with a firmware update.


Typical Pixels require power injection every 50 pixels.  '''The Renard PX1 only supports up to 50 Pixels directly powered from the controller.  If you use more then 50 Pixels (or if the cable is too long for the wire gauge), you must provide an off-board fused power source to provide power injection downstream.'''<br>
Typical Pixels require power injection every 50 pixels.  '''The Renard PX1 only supports up to 50 Pixels directly powered from the controller.  If you use more then 50 Pixels (or if the cable is too long for the wire gauge), you must provide an off-board fused power source to provide [[Power Injection]] downstream.'''<br>


==Schematic==
==Schematic==  
'''NEEDS TO BE UPDATED, THIS WAS AN EARLIER DESIGN''' This is a preliminary Renard PX1 schematic. 
[http://doityourselfchristmas.com/wiki//index.php?title=File:Renard-px1_RevE.PNG Renard PX1 schematic]
[http://doityourselfchristmas.com/wiki/images/e/ee/Renard-PX1-schematic.pdf Schematic]


==PCB Layout==
==PCB Layout==
The current PCB is Rev:E1<br>
[[File:PX1-Bare Board.jpg|300px]]
[[File:PX1-Bare Board.jpg|300px]]


Line 94: Line 92:
<tr><td>R5,R7</td><td>299-1K-RC</td><td>Carbon Film Resistors - Through Hole 1Kohms 5%</td><td>2</td></tr>
<tr><td>R5,R7</td><td>299-1K-RC</td><td>Carbon Film Resistors - Through Hole 1Kohms 5%</td><td>2</td></tr>
<tr><td>R1,R2</td><td>299-27K-RC</td><td>Carbon Film Resistors - Through Hole 27Kohms 0.05</td><td>2</td></tr>
<tr><td>R1,R2</td><td>299-27K-RC</td><td>Carbon Film Resistors - Through Hole 27Kohms 0.05</td><td>2</td></tr>
<tr><td>R4</td><td>264-680-RC</td><td>Resistor Network, 680 Ohm, Bussed,  6-pin</td><td>1</td></tr>
<tr><td>R4</td><td>264-330-RC</td><td>Resistor Network, 330 Ohm, Bussed,  6-pin</td><td>1</td></tr>
<tr><td>R3,R8</td><td>299-47-RC</td><td>Carbon Film Resistors - Through Hole 47ohms 0.05</td><td>2</td></tr>
<tr><td>R3,R8</td><td>299-47-RC</td><td>Carbon Film Resistors - Through Hole 47ohms 0.05</td><td>2</td></tr>
<tr><td>C2,C3</td><td>810-FK28X5R1C105K</td><td>Multilayer Ceramic Capacitors MLCC - Leaded 1.0uF 16volts X5R +/-10%</td><td>2</td></tr>
<tr><td>C2,C3</td><td>810-FK28X5R1C105K</td><td>Multilayer Ceramic Capacitors MLCC - Leaded 1.0uF 16volts X5R +/-10%</td><td>2</td></tr>
Line 100: Line 98:
<tr><td>D1</td><td>78-1N5239B</td><td>Diode, Zener 9.1V .5W</td><td>1</td></tr>
<tr><td>D1</td><td>78-1N5239B</td><td>Diode, Zener 9.1V .5W</td><td>1</td></tr>
<tr><td>D2</td><td>78-1N5229B</td><td>Diode, Zener 4.3V .5W</td><td>1</td></tr>
<tr><td>D2</td><td>78-1N5229B</td><td>Diode, Zener 4.3V .5W</td><td>1</td></tr>
<tr><td>D3,D4</td><td>604-WP710A10IT</td><td>LED, 3mm Red</td><td>2</td></tr>
<tr><td>D3,D4</td><td>604-WP710A10YT</td><td>LED, 3mm Yellow</td><td>2</td></tr>
<tr><td>D5,D6</td><td>604-WP710A10GT</td><td>LED, 3mm Green</td><td>2</td></tr>
<tr><td>D5,D6</td><td>604-WP710A10GT</td><td>LED, 3mm Green</td><td>2</td></tr>
<tr><td>IC1</td><td>595-SN65LBC179PE4</td><td>Buffers & Line Drivers</td><td>1</td></tr>
<tr><td>IC1</td><td>595-SN65LBC179P</td><td>Buffers & Line Drivers</td><td>1</td></tr>
<tr><td>IC2</td><td>579-PIC16F1825-I/P</td><td>Microcontroller</td><td>1</td></tr>
<tr><td>IC2</td><td>579-PIC16F1825-I/P</td><td>Microcontroller</td><td>1</td></tr>
<tr><td>IC3</td><td>926-2950CZ-5.0/NOPB</td><td>LDO 5.0/100mA  </td><td>1</td></tr>
<tr><td>IC3</td><td>926-2950CZ-5.0/NOPB</td><td>LDO 5.0/100mA  </td><td>1</td></tr>
<tr><td>U1</td><td>571-1-390261-2</td><td>IC & Component Sockets 8P ECONOMY TIN</td><td>1</td></tr>
<tr><td>U1</td><td>571-1-2199298-2</td><td>IC & Component Sockets 8P ECONOMY TIN</td><td>1</td></tr>
<tr><td>U2</td><td>571-1-390261-3</td><td>IC & Component Sockets 14P ECONOMY TIN</td><td>1</td></tr>
<tr><td>U2</td><td>571-1-2199298-3</td><td>IC & Component Sockets 14P ECONOMY TIN</td><td>1</td></tr>
<tr><td>J5,J6</td><td>571-5556416-1</td><td>Jack, Modular RJ45 PCB Mount Top Entry</td><td>2</td></tr>
<tr><td>J5,J6</td><td>571-5556416-1</td><td>Jack, Modular RJ45 PCB Mount Top Entry</td><td>2</td></tr>
<tr><td>J4</td><td>538-22-03-2021</td><td>Headers & Wire Housings VERT PCB HDR 2P TIN PLATING</td><td>1</td></tr>
<tr><td>J4</td><td>538-22-03-2021</td><td>Headers & Wire Housings VERT PCB HDR 2P TIN PLATING</td><td>1</td></tr>
Line 113: Line 111:
<tr><td>J1,J7</td><td>538-22-03-2031</td><td>Headers & Wire Housings VERT PCB HDR 3P TIN PLATING</td><td>2</td></tr>
<tr><td>J1,J7</td><td>538-22-03-2031</td><td>Headers & Wire Housings VERT PCB HDR 3P TIN PLATING</td><td>2</td></tr>
<tr><td>J8</td><td>571-2828372</td><td>Fixed Terminal Blocks 5.08MM PCB MOUNT 2P</td><td>1</td></tr>
<tr><td>J8</td><td>571-2828372</td><td>Fixed Terminal Blocks 5.08MM PCB MOUNT 2P</td><td>1</td></tr>
<tr><td>Jumpers</td><td>151-8000-E</td><td>Headers & Wire Housings MINI JUMPER GF 6.0MM OPEN TYPE BLACK</td><td>7</td></tr>
<tr><td>Jumpers</td><td>151-8000-E</td><td>Headers & Wire Housings MINI JUMPER GF 6.0MM OPEN TYPE BLACK</td><td>4</td></tr>
<tr><td>J9</td><td>538-39501-6004</td><td>Pluggable Terminal Blocks 3.5MM EURO HEADER VE HEADER VERT GRN 4CKT</td><td>1</td></tr>
<tr><td>J9</td><td>538-39501-6004</td><td>Pluggable Terminal Blocks 3.5MM EURO HEADER VE HEADER VERT GRN 4CKT</td><td>1</td></tr>
<tr><td>Pixel Connector</td><td>538-39503-2004</td><td>Pluggable Terminal Blocks 3.50MM EURO PLUG VER UG VERT RWE BLK 4CKT</td><td>1</td></tr>
<tr><td>Pixel Connector</td><td>538-39503-2004</td><td>Pluggable Terminal Blocks 3.50MM EURO PLUG VER UG VERT RWE BLK 4CKT</td><td>1</td></tr>
Line 120: Line 118:
</table><br/>
</table><br/>


The Mouser Project BOM can be found [http://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=305b838291 here].<br>
The Mouser Project BOM can be found [https://www.mouser.com/ProjectManager/ProjectDetail.aspx?AccessID=C6B4EFC1D0 here].  On 09/28/18 the price for a single BOM was $21.21 from Mouser.<br>
 
Note: If J9 is on backorder, you can substitute 538-39501-1004 <br />
If Pixel Connector is on backorder, you can substitute 538-39500-0004, this is an inline plug like the one used with the E682.<br />


==Assembly Instructions==
==Assembly Instructions==
Line 136: Line 137:
##<span style="font-size:21px">□</span> R5,R7 - 1K ohm (brown, black, red, gold) resistor. <br />[[File:PX1-R5R7.jpg|150px]]
##<span style="font-size:21px">□</span> R5,R7 - 1K ohm (brown, black, red, gold) resistor. <br />[[File:PX1-R5R7.jpg|150px]]
##<span style="font-size:21px">□</span> R6 - 120 ohm (brown, red, brown, gold) resistor. <br />[[File:PX1-R6.jpg|150px]]
##<span style="font-size:21px">□</span> R6 - 120 ohm (brown, red, brown, gold) resistor. <br />[[File:PX1-R6.jpg|150px]]
##<span style="font-size:21px">□</span> R4 - 680 ohm bussed resistor. Note that this resistor is polarized and only can go in one way.  The dot on the package denotes pin1.[[File:PX1-R5-Pin1.jpg|100px]] <br />  Pin 1 goes in the square hole on the left side. <br />[[File:PX1-R5.jpg|150px]]
##<span style="font-size:21px">□</span> R4 - 330 ohm bussed resistor. Note that this resistor is polarized and only can go in one way.  The dot on the package denotes pin1.[[File:PX1-R5-Pin1.jpg|100px]] <br />  Pin 1 goes in the square hole on the left side. <br />[[File:PX1-R5.jpg|150px]]
#<span style="font-size:21px">□</span> Install Capacitors
#<span style="font-size:21px">□</span> Install Capacitors
##<span style="font-size:21px">□</span> C1 - 0.1 uf capacitor. The marking on the capacitor says "104".[[File:PX1-104.jpg|50px]] <br />  It is not polarized and it can go either way.<br />[[File:PX1-C1.jpg|150px]]
##<span style="font-size:21px">□</span> C1 - 0.1 uf capacitor. The marking on the capacitor says "104".[[File:PX1-104.jpg|50px]] <br />  It is not polarized and it can go either way.<br />[[File:PX1-C1.jpg|150px]]
Line 147: Line 148:
##<span style="font-size:21px">□</span> U2 - 14 pin socket.  The socket has a notch on one end and the notch must be installed to match the direction on the silkscreen. [[File:PX1-14pin.jpg|50px]] <br /> The Notch faces right. <br />[[File:PX1-U2.jpg|150px]]
##<span style="font-size:21px">□</span> U2 - 14 pin socket.  The socket has a notch on one end and the notch must be installed to match the direction on the silkscreen. [[File:PX1-14pin.jpg|50px]] <br /> The Notch faces right. <br />[[File:PX1-U2.jpg|150px]]
#<span style="font-size:21px">□</span> Install LEDs
#<span style="font-size:21px">□</span> Install LEDs
##<span style="font-size:21px">□</span> D3,D4 - Red LED.  LEDs are polarized and they have to be installed with the correct orientation.  The anode side of the LED with the longer leg goes in the top round hole. <br />[[File:PX1-D3D4.jpg|150px]]
##<span style="font-size:21px">□</span> D3,D4 - Yellow LED.  LEDs are polarized and they have to be installed with the correct orientation.  The anode side of the LED with the longer leg goes in the top round hole. <br />[[File:PX1-D3D4.jpg|150px]]
##<span style="font-size:21px">□</span> D5,D6 - Green LED. LEDs are polarized and they have to be installed with the correct orientation. The anode side of the LED with the longer leg goes in the top round hole. <br />[[File:PX1-D5D6.jpg|150px]]
##<span style="font-size:21px">□</span> D5,D6 - Green LED. LEDs are polarized and they have to be installed with the correct orientation. The anode side of the LED with the longer leg goes in the top round hole. <br />[[File:PX1-D5D6.jpg|150px]]
#<span style="font-size:21px">□</span> Install Headers.  '''The short end of the header is soldered into the PCB.'''
#<span style="font-size:21px">□</span> Install Headers.  '''The short end of the header is soldered into the PCB.'''
Line 174: Line 175:
====J1- DMX Termination Resistor / RS232 Input====
====J1- DMX Termination Resistor / RS232 Input====
[[File:PX1-J1CLOSEUP.jpg|50 px]] <br />
[[File:PX1-J1CLOSEUP.jpg|50 px]] <br />
Install a shunt (jumper) across Pin 1 and Pin2 if you are using RS232 Input to the controller.  Install a jumper across Pins 2 and Pin 3 if you are using regular RS485 input. Otherwise, don't install any shunt here<br/>
Install a shunt (jumper) across Pin 1 and Pin2 if you are using RS232 Input to the controller.  Install a jumper across Pins 2 and Pin 3 if you are using regular RS485 input.<br/>


====J3- 2x5 Options Connector====
====J3- 2x5 Options Connector====
This connector is used to set various options.  '''TBD'''<br/>
This connector is used to set various special options.  The default is no jumpers used on this header.<br/>
If and only if you are using WS2801 pixels and have issues with stray flashing on older pixels, you can put a single jumper on the two most left pins of the header (up and down) and restart the PX1.  This option uses a slightly different timing that will only work with WS2801 pixels.  Generally most WS2801 pixels will not need this jumper.<br/>


====J4- Options Programing====
====J4- Inline Settings Programming====
Do not install any jumper here until instructed to do so.'''TBD'''</br>
Do not install any jumper here until instructed to do so. This jumper is only used to change the settings in a PX1 by using a specially formatted vixen or other control software data stream.  See [[Renard_PX1_Pixel_Controller#Configuring_the_Settings_via_a_Renard_Data_Stream|Configuring the Settings via a Renard Data Stream]]<br/>


====J7- Voltage Selector====
====J7- Voltage Selector====
Line 191: Line 193:
You must configure the firmware to match your system settings and then build the firmware (create a .hex file) as outlined [[Renard_PX1_Pixel_Controller#Firmware|below]].   
You must configure the firmware to match your system settings and then build the firmware (create a .hex file) as outlined [[Renard_PX1_Pixel_Controller#Firmware|below]].   


The PX1 Pixel Controller has a built  in [[Renard_PX1_Pixel_Controller#J2-ICSP_Programming_Header|ICSP programming header]] that you can connect directly to a PICKIT 2 or PICKIT3 programmer and program the firmware into the PIC without removing the PIC from the PCB.  Pin 1 of the ICSP header is on the right side of the 6 pin header.  After building the .hex file in MPLAB you must then download the firmware into the PIC using either the PICKIT 2 or MPLAB IDE software.  Once you have successfully download the firmware into the PIC the controller is ready to be tested.
The PX1 Pixel Controller has a built  in [[Renard_PX1_Pixel_Controller#J2-ICSP_Programming_Header|ICSP programming header]] that you can connect directly to a PICKIT 2 or PICKIT3 programmer and program the firmware into the PIC without removing the PIC from the PCB.  [[media: ICSPpin1.JPG | Pin 1 of the ICSP header]]  is on the right side of the 6 pin header.  After building the .hex file in MPLAB you must then download the firmware into the PIC using either the PICKIT 2 or MPLAB IDE software. Remove the external power from the PX1 and use the power from the Pickit2 to program the  PIC. '''Disconnect the Pixels from the controller while you are programming the PIC.''' Once you have successfully download the firmware into the PIC the controller is ready to be tested.


Do not install any shunt in J4 while programming the PIC.
*Do not install any shunt in J4 while programming the PIC.


====J2-ICSP Programming Header====
====J2-ICSP Programming Header====
J2 is the 6 pin header located in the top center of the board that allows '''I'''n '''C'''ircuit '''S'''erial '''P'''rogramming.  J2 allows the PIC microprocessor to be programmed in place on the board by directly connecting a [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805 PICKIT2] or [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en538340 PICKIT3] programer.  It eliminates the need to remove the PIC from the PCB to program or modify the programming in the PIC.<br/>
J2 is the 6 pin header located in the top center of the board that allows '''I'''n '''C'''ircuit '''S'''erial '''P'''rogramming.  J2 allows the PIC microprocessor to be programmed in place on the board by directly connecting a [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en023805 PICKIT2] or [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en538340 PICKIT3] programer.  It eliminates the need to remove the PIC from the PCB to program or modify the programming in the PIC.<br/>
Pin 1 is the square hole towards the right side of the board closest to the mounting hole.<br/>
'''Pin 1 is the square hole towards the right side of the board closest to the mounting hole.<br/>'''
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
|colspan="3" align="center" style="background:#FBEC5D; color:black"| '''J2 ICSP Pin Assignments'''
|colspan="3" align="center" style="background:#FBEC5D; color:black"| '''J2 ICSP Pin Assignments'''
Line 235: Line 237:


===J5 and J6-Renard Input and Output===
===J5 and J6-Renard Input and Output===
The two RJ45 Connectors J5&J6 near the bottom left of the board are used to bring data signals to and from the board.  J5 on the left side is the signal input from the PC or previous Renard controller.  J6 on the right side is the output to be daisy-chained to the next Renard controller.  The pins on these connectors are used as follows:<br/>
The two RJ45 Connectors J5&J6 near the bottom left of the board are used to bring data signals to and from the board.  '''J5 on the left side is the signal input from the PC or previous Renard controller'''.  J6 on the right side is the output to be daisy-chained to the next Renard controller.  These connections are the standard Renard daisy chain configurations.  The pins on these connectors are used as follows:<br/>
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
|+ RJ45 Pin Assignments
|+ RJ45 Pin Assignments
Line 267: Line 269:


|}
|}


===J8-Pixel Power Input===
===J8-Pixel Power Input===
Line 288: Line 288:


===J9 - Output to Pixels===
===J9 - Output to Pixels===
J9 is located along the bottom right side of the board and is a 4 pin Euro style plugable connector used to connect to the Pixels.  Pin1 of the connector is on the left side and is marked by the square hole on the silkscreen.<br/>
[[File:PX1-EURO.jpg|50px]]
J9 is located along the bottom right side of the board and is a 4 pin Euro style plugable connector used to connect to the Pixels.  '''Pin 1 of the connector is on the left side and is marked by the square hole on the silkscreen.'''  You must wire the plug onto your pixel string according to the correct wire color code for your pixels.  Please check with your vendor to confirm the color code of the various wires and how to determine the input end of your pixel string. Some examples of the various wiring color codes can be found [[Pixel_Wiring_Colors|here]].  Another common choice is to wire a waterproof connector to the euro plug and use [[Pixel_Connectors|waterproof connections]] to their pixels. Note that WS2811 pixels only have 3 wires( V+, Data, GND) and they do not require a Clock wire.<br/>


{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
Line 309: Line 310:
|style="background:#FBEC5D; color:black"| V+
|style="background:#FBEC5D; color:black"| V+
|}
|}


==Indicator LEDs==
==Indicator LEDs==
===Attn===
===Attn===
TBD</br>
'''ON''' (flashing) when J4 jumper for [[Renard_PX1_Pixel_Controller#Configuring_the_Settings_via_a_Renard_Data_Stream|Renard Data Stream Configuration]] is in place.


===Rx===
===Rx===
Line 328: Line 328:
* Number of Pixel Groups: Allows you to set the specific number of pixels to be attached to controller (1-200)
* Number of Pixel Groups: Allows you to set the specific number of pixels to be attached to controller (1-200)
* Renard Start Address:  This uses the standard Renard protocol of defaulting to Channel 1, but can be set to higher channels in multiples of 8.
* Renard Start Address:  This uses the standard Renard protocol of defaulting to Channel 1, but can be set to higher channels in multiples of 8.
* RGB Order:  Allows to make corrections for strings where the pixels respond in a different color order '''UNDER DEVELOPMENT'''
* RGB Order:  Allows to make corrections for strings where the pixels respond in a different color order  
* Grouping: Allows you to treat multiple pixel as one pixel, cutting down on the number of channels used.  '''UNDER DEVELOPMENT'''
* Grouping: Allows you to treat multiple pixel as one pixel, cutting down on the number of channels used.
 
These configuration parameters can be changed in the assembly file (see below), which causes these values to be stored in the EEPROM on the PIC.  These parameters can be changed later on by installing a shunt in J4 and sending a specially crafted sequence from Vixen or other similar software.   


These configuration parameters can be changed in the assembly file (see below), which causes these values to be stored in the EEPROM on the PIC.  These parameters can be changed later on by installing a shunt in J4 and sending a specially crafted sequence from Vixen or other similar software.


The firmware is available in an assembly file (.asm) file that needs to be compiled and built with Microchip's free [http://www.microchip.com/Microchip.WWW.SecureSoftwareList/secsoftwaredownload.aspx?device=en019469&lang=en&ReturnURL=http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469# MPLAB IDE software] or [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469 MPLAB X IDE].   
The firmware is available in an assembly file (.asm) file that needs to be compiled and built with Microchip's free [http://www.microchip.com/Microchip.WWW.SecureSoftwareList/secsoftwaredownload.aspx?device=en019469&lang=en&ReturnURL=http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469# MPLAB IDE software] or [http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469 MPLAB X IDE].   
Line 337: Line 338:
If you have never compiled firmware before, there is an excellent series of tutorials available [[Beginners_Guide_To_Programming_A_PIC|here]].
If you have never compiled firmware before, there is an excellent series of tutorials available [[Beginners_Guide_To_Programming_A_PIC|here]].


Older versions of MPLAB IDE maynot support the 16F1825 PIC and you my need to update the MPLAB IDE to a later version.  You may also have to update the PICKIT2 software to support the 16F1825.  [http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit%202%20v2.61.00%20Setup%20A.zip Version 2.61] supports the 16F1825 PIC and allows you to program the firmware into the PIC.  While you are updating the PICKIT 2 software, you might want to also download the latest device file [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2DFUpdate-1-62-14.zip Version 1.62.14] and replace the file in the PICKIT 2 program directory with this file.  
Older versions of MPLAB IDE may not support the 16F1825 PIC and you my need to update the MPLAB IDE to a later version.  You may also have to update the PICKIT2 software to support the 16F1825.  [http://ww1.microchip.com/downloads/en/DeviceDoc/PICkit%202%20v2.61.00%20Setup%20A.zip Version 2.61] supports the 16F1825 PIC and allows you to program the firmware into the PIC.  While you are updating the PICKIT 2 software, you might want to also download the latest device file [http://ww1.microchip.com/downloads/en/DeviceDoc/PK2DFUpdate-1-62-14.zip Version 1.62.14] and replace the file in the PICKIT 2 program directory with this file.
 
 
'''For a step by step guide to program the pic for a PX1 using the Pickit  [http://doityourselfchristmas.com/forums/showthread.php?32618-Programming-the-16F1825-in-the-PX-1&p=326092#post326092 Click here].
 
'''One note:  When compiling the firmware you must choose Relocatable code as the compile option.'''
 
'''The firmware file can be found TBA.
 
 
===Configuring the Settings via the Firmware===
Before you build the code using MPLAB, you can set the variables associated with the controller and how you plan to use it in the .asm file.  By adjusting the parameters and then building the code with those parameters, you result in a .hex file specific for your project.  The parameters that can be set are:
* <ul>'''Baud Rate:'''</ul>  Allows you to set the controller to match the speed of your existing Renard network. The default is 115200.
**Find the line in the code that says "''' #define BAUDRATE_INDEX_DEFAULT BAUDRATE_115200'''"  and adjust the baudrate to one of the following values:
***19200, 38400, 57600, 76800, 115200, 230400, 460800
* <ul>''' Number of Pixel Groups:'''</ul> Allows you to set the specific number of pixels to be attached to controller.  The default is 50
**Find the line in the code the says "''' #DEFINE GROUP_COUNT 50'''" and adjust it from 1 -200
* <ul>'''Renard Start Address:'''</ul>  This uses the standard Renard protocol of defaulting to Channel 1, but can be set to higher channels in multiples of 8.
**Find the line in the code that says "'''#define Renard_START_ADDRESS 1'''" and set it your start channel.
* <ul>'''RGB Order:'''</ul>  Allows to make corrections for strings where the pixels respond in a different color order.  The default is RGB. '''UNDER DEVELOPMENT'''
**Find the line in the code that says "'''#DEFINE DEFAULT_RGB_ORDER_CODE RGB'''" and set it to one of the following values:
***RGB, RBG, GRB, GBR, BRG, BGR
* <ul>'''Grouping:'''</ul> Allows you to treat multiple pixel as one pixel, cutting down on the number of channels used.  '''UNDER DEVELOPMENT'''
**Find the line in the code that says "''' #DEFINE GROUP_SIZE 1'''" and change it you the number of pixels you want in a group.  The default is 1.
 
===Configuring the Settings via a Renard Data Stream===
The PX1 can be configured inline by using a specially formatted Renard Data stream.  The basic process using Vixen is as follows:
#Choose your start address
#Create a vixen sequence with 6 channels and make it just 1 time period long
#Then you need to enter the start address into the two channels by using the intensity value feature of vixen set the values from 0-255 (Not 0-100%)
##Enter into Channel 1 the Start Address MSB as found in the table below.
##Enter into Channel 2 the Start Address LSB as found in the table below.
##Example:
###If start address = 1
####Channel 1 = 0
####Channel 2 = 1
###If start address = 45
####Channel 1 = “0”
####Channel 2 = “45”
###If start address = 257
####Channel 1 = 1
####Channel 2 = 1
## Enter into Channel 3 the Baudrate code as found in the table below.
## Enter into Channel 4 the Group Size, the number of pixels you want to cluster into a group.
## Enter into Channel 5 the Group Count, the number of pixels directly connected to the controller from 1-200.
## Enter into channel 6 the rgb_order_code as found in the table below.
#Power off the PX1, install the jumper J4 on the PX1 ''then'' power ON the PX1 (the ATTN LED should be blinking) and set up Vixen to send out the Renard data packets with the new address or configuration change.
#Run the sequence. When the controller has accepted the new address and stored in the EEPROM, the ATTN, RX and FE LEDs will come on and stay on solid.
#Power off the PX1 and remove the jumper J4 ''then'' power ON the PX1. The changes are now in effect.
'''NOTE: You must have a value in each channel even if you do not wish it to change'''
<br>Example - If you only want to change the RGB order, you must set the default values in the other packet channels.
====PX1 Programming Packet Format====
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
|colspan="3" align="center" style="background:#FBEC5D; color:black"| '''Inline PX1 Programming Settings'''
|-
|rowspan="2" style="background:#AFEEEE; color:black"| '''Packet (Channel)'''
|-
!width="150" style="background:#D3D3D3; color:black"| '''Value'''
!width="50" style="background:#D3D3D3; color:black"| '''Default'''
|-
|style="background:#AFEEEE; color:black"| '''1'''
|style="background:#FBEC5D; color:black"| Start Address (MSB)
|style="background:#FBEC5D; color:black"| 0
|-
|style="background:#AFEEEE; color:black"| '''2'''
|style="background:#FBEC5D; color:black"| Start Address (LSB)
|style="background:#FBEC5D; color:black"| 1
|-
|style="background:#AFEEEE; color:black"| '''3'''
|style="background:#FBEC5D; color:black"| Baudrate Code
|style="background:#FBEC5D; color:black"| 4
|-
|style="background:#AFEEEE; color:black"| '''4'''
|style="background:#FBEC5D; color:black"| Group Size
|style="background:#FBEC5D; color:black"| 1
|-
|style="background:#AFEEEE; color:black"| '''5'''
|style="background:#FBEC5D; color:black"| Group Count
|style="background:#FBEC5D; color:black"| 50
|-
|style="background:#AFEEEE; color:black"| '''6'''
|style="background:#FBEC5D; color:black"| RGB Order Code
|style="background:#FBEC5D; color:black"| 0
|}
 
====Start Address Packet Format====
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
|+ Number of Channels (*)
|colspan="7" align="center" style="background:#FBEC5D; color:black"| '''Inline PX1 Programming Settings'''
|-
!width="60" style="background:#AFEEEE; color:black"| '''Start Address'''
!width="60" style="background:#D3D3D3; color:black"| Packet 1<br/>MSB<br/>(Channel 1)
!width="120" style="background:#D3D3D3; color:black"| Packet 2<br/>LSB<br/>(Channel 2)
|-
|style="background:#AFEEEE; color:black"| '''1-255'''
|style="background:#FBEC5D; color:black"| 0
|style="background:#FBEC5D; color:black"| Actual Start Address
|-
|style="background:#AFEEEE; color:black"| '''256-511 ''' 
|style="background:#FBEC5D; color:black"| 1
|style="background:#FBEC5D; color:black"| Start Address - 256
|-
|style="background:#AFEEEE; color:black"| '''512-767'''
|style="background:#FBEC5D; color:black"| 2
|style="background:#FBEC5D; color:black"| Start Address - 512
|-
|style="background:#AFEEEE; color:black"| '''768- 1023'''
|style="background:#FBEC5D; color:black"| 3
|style="background:#FBEC5D; color:black"| Start Address - 768
|-
|style="background:#AFEEEE; color:black"| '''1024-1279'''
|style="background:#FBEC5D; color:black"| 4
|style="background:#FBEC5D; color:black"| Start Address - 1024
|}
 
====Baud Rate Packet Format====
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
|colspan="3" align="center" style="background:#FBEC5D; color:black"| '''Inline PX1 Programming Settings'''
|-
|rowspan="2" style="background:#AFEEEE; color:black"| '''Baud Rate'''
|-
!width="200" style="background:#D3D3D3; color:black"| '''Baud Rate Code<br/>Packet 3<br/>(Channel 3)'''
|-
|style="background:#AFEEEE; color:black"| '''19200'''
|style="background:#FBEC5D; color:black"| 0
|-
|style="background:#AFEEEE; color:black"| '''38400'''
|style="background:#FBEC5D; color:black"| 1
|-
|style="background:#AFEEEE; color:black"| '''57600'''
|style="background:#FBEC5D; color:black"| 2
|-
|style="background:#AFEEEE; color:black"| '''76800'''
|style="background:#FBEC5D; color:black"| 3
|-
|style="background:#AFEEEE; color:black"| '''115200'''
|style="background:#FBEC5D; color:black"| 4 (Default)
|-
|style="background:#AFEEEE; color:black"| '''230400'''
|style="background:#FBEC5D; color:black"| 5
|-
|style="background:#AFEEEE; color:black"| '''460800'''
|style="background:#FBEC5D; color:black"| 6
|}
 
====Color Packet Format====
{| border="1"; cellpadding="10" style="text-align: center; background:black; color:white"
|colspan="3" align="center" style="background:#FBEC5D; color:black"| '''Inline PX1 Programming Settings'''
|-
|rowspan="2" style="background:#AFEEEE; color:black"| '''Color Order'''
|-
!width="200" style="background:#D3D3D3; color:black"| '''RGB Code<br/>Packet 6<br/>(Channel 6)'''
|-
|style="background:#AFEEEE; color:black"| '''RGB'''
|style="background:#FBEC5D; color:black"| 0 (Default)
|-
|style="background:#AFEEEE; color:black"| '''RBG'''
|style="background:#FBEC5D; color:black"| 1
|-
|style="background:#AFEEEE; color:black"| '''GRB'''
|style="background:#FBEC5D; color:black"| 2
|-
|style="background:#AFEEEE; color:black"| '''GBR'''
|style="background:#FBEC5D; color:black"| 3
|-
|style="background:#AFEEEE; color:black"| '''BRG'''
|style="background:#FBEC5D; color:black"| 4
|-
|style="background:#AFEEEE; color:black"| '''BGR'''
|style="background:#FBEC5D; color:black"| 5
|}
.


One note:  When compiling the firmware you must choose Relocatable code as the compile option.
.


The firmware file can be found here. '''TBD'''
.
 
===Configuring the Settings via the PX1 Setup Application===
 
DIYC member "bolwire" created a small application which assists in setting up a PX1 pixel controller. This takes the place of using a vixen sequence to configure the PX1, as outlined above.
 
The information entered into the app, should be as directed above. The only difference is that you do not need to enter the MSB bit, this is determined by the application.
 
After entering your setup details, simply connect your PX1 and click *Write Data*, you will get a confirmation if the data was sent successfully, but as before, the LEDs on the PX1 should behave as according to the wiki as and indication as to the data being accepted and saved.
 
[[File:RenPX1_Setup.jpg]]
 
'''Download the application [http://www.doityourselfchristmas.com/wiki/images/6/6f/RenPX1Setup.zip here]'''
 
The initial thread is [http://doityourselfchristmas.com/forums/showthread.php?32557-Ren-PX1-Setup-application here].


==Enclosure==
==Enclosure==
The Renard PX1 pixel controller can be mounted in the users choice of enclosures.  One common choice is the [[Enclosure#TA-200_.28Terminal_Access_TA-200_Terminal_Enclosure.29|TA-200]] enclosure.<br />
The Renard PX1 pixel controller can be mounted in the users choice of enclosures.  One common choice is the [[Enclosure#TA-200_.28Terminal_Access_TA-200_Terminal_Enclosure.29|TA-200]] enclosure.<br >
[[File:TA-200.png| 100px|TA-200]]
[[File:TA-200.png| 100px|TA-200]]<br> 
The PX1 has three screw holes that line up perfectly with the plastic standoffs in the inside of the TA-200 enclosure.[[File:PX1-TA200.JPG|200px|PX1 in TA-200]]<br>


=Other Information=
=Other Information=
==Renard PX1 Pixel Controller Discussion Threads==
==Renard PX1 Pixel Controller Discussion Threads==
[http://doityourselfchristmas.com/forums/showthread.php?26133-Renard-Pixel-String-Controller Initial Thread]<br/>
[http://doityourselfchristmas.com/forums/showthread.php?26133-Renard-Pixel-String-Controller Initial Thread]<br/>
[http://doityourselfchristmas.com/forums/showthread.php?26909-Renard-PX1-BETA-Test Beta Test Thread]<br/>
[http://doityourselfchristmas.com/forums/showthread.php?27194-Renard-PX1-Pixel-String-Controller-quot-INTEREST-quot Group Buy Interest Thread]<br/>


==Video==
==Video==
Line 355: Line 544:


==FAQ==
==FAQ==
TBD<br/>
*Question: I have never used pixels before,how can I learn more about where to begin and how to use pixels and the Renard PX1 Pixel Controller? 
**Answer: Read [http://doityourselfchristmas.com/forums/attachment.php?attachmentid=19639&d=1372636708 The Pixel Newbie] for step by step information about setting up your first pixels.<br/>
 
==Related Links==


[[Different Styles of Pixels]] <br>
[[Controllers]] <br>
[[Dumb RGB or Intelligent Pixels??]] <br>
[[Things You Will Need To Get Started With Pixels]] <br>
[[Pixel Wiring Colors]] <br>
[[Power Supplies]] <br>
[[Pixel Connectors]] <br>
[[Power Injection]]<br>
[[Waterproofing Pixels]]


[[Category:RGB]]
[[Category:RGB]]
[[Category:Renard]]
[[Category:DIYC Index]]
[[Category:DIYC Index]]
[[Category:Pixel]]
[[Category:Pixel]]

Latest revision as of 15:14, 23 February 2022

General

The Renard PX1 was designed by Phil Short as an inexpensive Pixel controller designed to work with standard Renard systems. It can be daisy chained with other Renard controllers. The PX1 provides a low cost solution that allows a user to add pixels to an existing display setup using just a simple Renard setup.

The design consists of a controller board with a PIC16F1825PIC microcotroller that connects via a simple RS485 connection protocol like all Renard controllers. The PX1 Controller is capable of driving up to 200 pixels per controller (with power injection after 50 pixels) or 50 pixels directly. It supports both 12VDC and 5VDC pixels. The PX1 Controller is designed to support pixels that use the WS2811 and WS2801 IC.

The PX1 is available to purchase anytime. Purchase info is available HERE

Disclaimers

The standard disclaimers pertaining to the information contained on this wiki page are listed here.
THIS BOARD IS STILL IN DEVELOPMENT AND SUBJECT TO CHANGE.
THIS WIKI PAGE IS NOT COMPLETE YET.

Features

  • Standard Renard RJ45 (Cat 5 style) data connections
  • Capable of driving either 5VDC or 12VDC pixels
  • Supports only WS2801 and WS2811 pixels
  • Some Design Details:
  1. One output connector (uses the same 3.5mm Eurostyle connector and pinout as the E682 controller)
  2. Supports up to 200 pixels per controller with power injection
  3. Supports up to 50 pixels from the onboard power connection (depends on wire gauge and length)
  4. Supports both RS232 (Serial) or RS485 input
  5. Uses the same RJ45 pinout and protocol as standard Renard controllers
  6. Supports upto 115200 input baudrate from standard Renard Output Plugin
  7. Uses PIC16F1825 microprocessor, so it can be programed with traditional PICKIT 2 or PICKIT 3 programmers.
  8. Supports WS2811 strings at with either 400KHz or 800 KHz data rate (Under Development)
  9. Uses external 5VDC or 12VDC supply (depends on pixel needs)
  10. Power, RxD (receiving data), FE (framing error)and Attn LED status indicators
  11. Jumper to select pixel speed (400 KHz vs 800 KHz)(Under Development)
  12. Designed to fit inside a TA-200 enclosure

Maximum Number of Pixels per Controller

The Renard PX1 can support up to a maximum of 200 pixels per controller. To achieve more then 200 pixels in a Renard system, multiple Renard PX1 pixel controllers must be used. The total number of pixels that may be supported per serial port depends on both the baud rate and on the frequency of updates that has been programmed into the Vixen sequence. The most common PC control software is Vixen, which easily supports multiple serial ports (including USB-RS232 and USB-485 converters). The maximum number of pixels in a Renard system (per comm port) is directly related to the maximum number of channels in a Renard system (per comm port) since each pixel uses 3 channels. The maximum number of pixels is also limited if you are using other controllers in the Renard daisy chain since they use channels and limit the number available for the pixels to use.

Number of Channels (*)
Total Number of Pixels Capable
for a given Baud Rate/Refresh Interval*
in a Renard Network per Comm Port
Baud Rate Refresh Interval
100 ms 50 ms 25 ms
230400* 764 382 191
115200 382 191 95
57600 191 95 47
38400 127 63 31
19200 63 31 15

The Vixen 2.x Plugin for Renard supports baudrates up to 115200.
*A new Vixen 2.x plugin is required to support higher baudrates.
*The E1.31 Bridge from diyledexpress.com allows baudrates up to 460,800 with a firmware update.

Typical Pixels require power injection every 50 pixels. The Renard PX1 only supports up to 50 Pixels directly powered from the controller. If you use more then 50 Pixels (or if the cable is too long for the wire gauge), you must provide an off-board fused power source to provide Power Injection downstream.

Schematic

Renard PX1 schematic

PCB Layout

The current PCB is Rev:E1

BOM - Bill Of Materials

To build Renard PX1 Pixel Controller you will need parts from Mouser and a Renard PX1 Pixel Controller PCB.

Mouser

PartMouser PNDescriptionQty
R6291-120-RCCarbon Film Resistors - Through Hole 120ohms 0.051
R5,R7299-1K-RCCarbon Film Resistors - Through Hole 1Kohms 5%2
R1,R2299-27K-RCCarbon Film Resistors - Through Hole 27Kohms 0.052
R4264-330-RCResistor Network, 330 Ohm, Bussed, 6-pin1
R3,R8299-47-RCCarbon Film Resistors - Through Hole 47ohms 0.052
C2,C3810-FK28X5R1C105KMultilayer Ceramic Capacitors MLCC - Leaded 1.0uF 16volts X5R +/-10%2
C180-C322C104K5RMultilayer Ceramic Capacitors (MLCC) - Leaded 50volts 0.1uF 10% X7R1
D178-1N5239BDiode, Zener 9.1V .5W1
D278-1N5229BDiode, Zener 4.3V .5W1
D3,D4604-WP710A10YTLED, 3mm Yellow2
D5,D6604-WP710A10GTLED, 3mm Green2
IC1595-SN65LBC179PBuffers & Line Drivers1
IC2579-PIC16F1825-I/PMicrocontroller1
IC3926-2950CZ-5.0/NOPBLDO 5.0/100mA 1
U1571-1-2199298-2IC & Component Sockets 8P ECONOMY TIN1
U2571-1-2199298-3IC & Component Sockets 14P ECONOMY TIN1
J5,J6571-5556416-1Jack, Modular RJ45 PCB Mount Top Entry2
J4538-22-03-2021Headers & Wire Housings VERT PCB HDR 2P TIN PLATING1
J3649-77313-122-10LFHeaders & Wire Housings 10P STR DR TMT HDR .76 AU .526IN LENGTH1
J2538-22-03-2061Headers & Wire Housings VERT PCB HDR 6P TIN PLATING1
J1,J7538-22-03-2031Headers & Wire Housings VERT PCB HDR 3P TIN PLATING2
J8571-2828372Fixed Terminal Blocks 5.08MM PCB MOUNT 2P1
Jumpers151-8000-EHeaders & Wire Housings MINI JUMPER GF 6.0MM OPEN TYPE BLACK4
J9538-39501-6004Pluggable Terminal Blocks 3.5MM EURO HEADER VE HEADER VERT GRN 4CKT1
Pixel Connector538-39503-2004Pluggable Terminal Blocks 3.50MM EURO PLUG VER UG VERT RWE BLK 4CKT1
Fuse504-ATM-5Fuses 5A 32Vdc 1kA IR Tan1
Fuse Holder534-3544-2Fuse Holder1


The Mouser Project BOM can be found here. On 09/28/18 the price for a single BOM was $21.21 from Mouser.

Note: If J9 is on backorder, you can substitute 538-39501-1004
If Pixel Connector is on backorder, you can substitute 538-39500-0004, this is an inline plug like the one used with the E682.

Assembly Instructions

Assembly of the Renard PX1 is done in three steps:

  1. Assemble PCB and Solder parts
  2. Configure Jumpers
  3. Program the PIC microcontroller

Renard PX1 Pixel Controller Assembly

Click on photos to see a larger view.

  1. Begin by inspecting the PCBs to look for any defects such as cracks or breaks. The holes on the board should be open on both sides. Then inspect and sort out the various parts for the boards.
  2. Install Resistors
    1. R1,R2 - 27K ohm (red, violet, orange, gold) resistor.
    2. R3,R8 - 47 ohm (yellow, violet, black, gold) resistor.
    3. R5,R7 - 1K ohm (brown, black, red, gold) resistor.
    4. R6 - 120 ohm (brown, red, brown, gold) resistor.
    5. R4 - 330 ohm bussed resistor. Note that this resistor is polarized and only can go in one way. The dot on the package denotes pin1.
      Pin 1 goes in the square hole on the left side.
  3. Install Capacitors
    1. C1 - 0.1 uf capacitor. The marking on the capacitor says "104".
      It is not polarized and it can go either way.
    2. C2,C3 - 1.0uf capacitor. The marking on the capacitor says "105".
      It is not polarized and it can go either way.
  4. Install Diodes
    1. D1 - 1N5239B diode. Diodes are polarized and they have to be installed with the correct orientation. The end of the diode with the band goes towards the bottom of the board and in the square hole.
    2. D2 - 1N5229B diode. Diodes are polarized and they have to be installed with the correct orientation. The end of the diode with the band goes towards the bottom of the board and in the square hole.
  5. Install IC Sockets
    1. U1 - 8 pin socket. The socket has a notch on one end and the notch must be installed to match the direction on the silkscreen.
      The notch faces right.
    2. U2 - 14 pin socket. The socket has a notch on one end and the notch must be installed to match the direction on the silkscreen.
      The Notch faces right.
  6. Install LEDs
    1. D3,D4 - Yellow LED. LEDs are polarized and they have to be installed with the correct orientation. The anode side of the LED with the longer leg goes in the top round hole.
    2. D5,D6 - Green LED. LEDs are polarized and they have to be installed with the correct orientation. The anode side of the LED with the longer leg goes in the top round hole.
  7. Install Headers. The short end of the header is soldered into the PCB.
    1. J4 - 2 pin header.
    2. J1, J7 - 3 pin header.
    3. J2 - 6 pin header.
    4. J3 - 2x5 (10) pin header.
  8. Install Voltage Regulator
    1. IC3 - LP2950CZ-5.0/NOPB voltage regulator. The voltage regulator is polarized and it has to be installed with the correct orientation. Install in location U3 with the flatside of the regulator facing the top of the board and matching the orientation on the silkscreen.
  9. Install Fuse Holder
    1. Fuse holder.
  10. Install Connectors
    1. J8 - 2 pin screw terminal. Install so the wire opening faces off the edge of the board.
    2. J9 - 4 pin euro style header. This connector is polarized.
      The euro style connector is installed with the slotted side to the top.
  11. Install RJ45 Jacks
    1. J5,J6 - RJ45 Jack. The jacks are polarized and they have to be installed with the correct orientation. Gently install all 8 pins into the holes and them firmly press down on the socket to seat the plastic pins in the holes in the PCB.
  12. Install Fuse
    1. Install 5A fuse.
  13. Install ICs
    1. IC1 - SN65LBC179PE4, RS485 line chip. The IC is polarized and it has to be installed with the correct orientation.
      The IC has a notch on one end and the notch must be installed to match the direction on the silkscreen.
    2. IC2 - PIC16F1825-I/P PIC microprocessor. The IC is polarized and it has to be installed with the correct orientation.
      The IC has a notch on one end and the notch must be installed to match the direction on the silkscreen.

Configure Jumpers

You must place the appropriate jumpers on the various headers to configure the Renard PX1 Pixel Controller.

J1- DMX Termination Resistor / RS232 Input


Install a shunt (jumper) across Pin 1 and Pin2 if you are using RS232 Input to the controller. Install a jumper across Pins 2 and Pin 3 if you are using regular RS485 input.

J3- 2x5 Options Connector

This connector is used to set various special options. The default is no jumpers used on this header.
If and only if you are using WS2801 pixels and have issues with stray flashing on older pixels, you can put a single jumper on the two most left pins of the header (up and down) and restart the PX1. This option uses a slightly different timing that will only work with WS2801 pixels. Generally most WS2801 pixels will not need this jumper.

J4- Inline Settings Programming

Do not install any jumper here until instructed to do so. This jumper is only used to change the settings in a PX1 by using a specially formatted vixen or other control software data stream. See Configuring the Settings via a Renard Data Stream

J7- Voltage Selector


This 3 pin jumper is used to select the power source of the control circuit on the board. This jumper must be set to match the voltage requirements of your pixels. If the power input to the board is 12VDC, then jumper must be placed on the two left pins. If the power input to the board is 5VDC, then the jumper must be placed on the right two pins.

IT IS CRITICAL THAT YOU CONNECT THE CORRECT VOLTAGE TO THE UNIT AND HAVE THE CORRECT VOLTAGE INPUT SETTINGS! YOU MAY DAMAGE THE CONTROLLER AND PIXELS IF YOU CONNECT THE WRONG VOLTAGE OR HAVE THE WRONG VOLTAGE SETTINGS ON J7!

Program PIC

You must configure the firmware to match your system settings and then build the firmware (create a .hex file) as outlined below.

The PX1 Pixel Controller has a built in ICSP programming header that you can connect directly to a PICKIT 2 or PICKIT3 programmer and program the firmware into the PIC without removing the PIC from the PCB. Pin 1 of the ICSP header is on the right side of the 6 pin header. After building the .hex file in MPLAB you must then download the firmware into the PIC using either the PICKIT 2 or MPLAB IDE software. Remove the external power from the PX1 and use the power from the Pickit2 to program the PIC. Disconnect the Pixels from the controller while you are programming the PIC. Once you have successfully download the firmware into the PIC the controller is ready to be tested.

  • Do not install any shunt in J4 while programming the PIC.

J2-ICSP Programming Header

J2 is the 6 pin header located in the top center of the board that allows In Circuit Serial Programming. J2 allows the PIC microprocessor to be programmed in place on the board by directly connecting a PICKIT2 or PICKIT3 programer. It eliminates the need to remove the PIC from the PCB to program or modify the programming in the PIC.
Pin 1 is the square hole towards the right side of the board closest to the mounting hole.

J2 ICSP Pin Assignments
Pin #
Signal
1 VPP/MCLR
2 VDD Target
3 VSS (Ground)
4 ICSPDAT/PGD
5 ICSPCLK/PGC
6 N/C



Congratulations, you have finished constructing your Renard PX1 Pixel Controller.

Connections

After you have finished building the PX1 Pixel controller you need to make the appropriate connections to power the board, connect the pixels and supply data to and from the Renard network that you are connecting the controller to. The connectors on the PCB are as follows:


J5 and J6-Renard Input and Output

The two RJ45 Connectors J5&J6 near the bottom left of the board are used to bring data signals to and from the board. J5 on the left side is the signal input from the PC or previous Renard controller. J6 on the right side is the output to be daisy-chained to the next Renard controller. These connections are the standard Renard daisy chain configurations. The pins on these connectors are used as follows:

RJ45 Pin Assignments
Serial Data Connector Pin Assignments
Pin # RJ45 Connector
J5 Input J6 Output
1,2 GND GND
3 NC NC
4 Data- (Rx) Data- (Tx)
5 Data+ (Rx) Data+ (Tx)
6,7,8 NC NC

J8-Pixel Power Input

J8 is the 2 pin terminal block located at the bottom center of the PCB. The Renard PX1 can be powered by either 5 or 12VDC (depending on pixel type). If you are using 5VDC, you can omit the voltage regulator and set Jumper J7 to the two right pins (5v position).If you are using 12VDC, then you must use the on board voltage regulator and set Jumper J7 to the two left pins (12v position). IT IS CRITICAL THAT YOU CONNECT THE CORRECT VOLTAGE TO THE UNIT AND HAVE THE CORRECT VOLTAGE INPUT SETTINGS! YOU MAY DAMAGE THE CONTROLLER AND PIXELS IF YOU CONNECT THE WRONG VOLTAGE OR HAVE THE WRONG VOLTAGE SETTINGS ON J7!

J8 Power Input
Pin #
Voltage
1 (square pad on left) GND (V-)
2 (round pad on right) V+

J9 - Output to Pixels

J9 is located along the bottom right side of the board and is a 4 pin Euro style plugable connector used to connect to the Pixels. Pin 1 of the connector is on the left side and is marked by the square hole on the silkscreen. You must wire the plug onto your pixel string according to the correct wire color code for your pixels. Please check with your vendor to confirm the color code of the various wires and how to determine the input end of your pixel string. Some examples of the various wiring color codes can be found here. Another common choice is to wire a waterproof connector to the euro plug and use waterproof connections to their pixels. Note that WS2811 pixels only have 3 wires( V+, Data, GND) and they do not require a Clock wire.

J9 Pixel Output Pin Assignments
Pin #
Signal
1 GND (V-)
2 Clock (C)
3 Data (D)
4 V+

Indicator LEDs

Attn

ON (flashing) when J4 jumper for Renard Data Stream Configuration is in place.

Rx

This LED flashes as it is receiving data from the input connector.

FE

This LED flashes if there is a framing error in the incoming data stream. This is likely due to the PIC or the PC output signal using different baud rates.

Pwr

This LED lights if there is power supplied to the board.

Firmware

The firmware for the Renard PX1 Pixel Controller needs to be optimized and configured for your specific use. There are several parameters that can be set in the firmware including:

  • Baud Rate: Allows you to set the controller to match the speed of your existing Renard network. The default is 115200.
  • Number of Pixel Groups: Allows you to set the specific number of pixels to be attached to controller (1-200)
  • Renard Start Address: This uses the standard Renard protocol of defaulting to Channel 1, but can be set to higher channels in multiples of 8.
  • RGB Order: Allows to make corrections for strings where the pixels respond in a different color order
  • Grouping: Allows you to treat multiple pixel as one pixel, cutting down on the number of channels used.

These configuration parameters can be changed in the assembly file (see below), which causes these values to be stored in the EEPROM on the PIC. These parameters can be changed later on by installing a shunt in J4 and sending a specially crafted sequence from Vixen or other similar software.


The firmware is available in an assembly file (.asm) file that needs to be compiled and built with Microchip's free MPLAB IDE software or MPLAB X IDE.

If you have never compiled firmware before, there is an excellent series of tutorials available here.

Older versions of MPLAB IDE may not support the 16F1825 PIC and you my need to update the MPLAB IDE to a later version. You may also have to update the PICKIT2 software to support the 16F1825. Version 2.61 supports the 16F1825 PIC and allows you to program the firmware into the PIC. While you are updating the PICKIT 2 software, you might want to also download the latest device file Version 1.62.14 and replace the file in the PICKIT 2 program directory with this file.


For a step by step guide to program the pic for a PX1 using the Pickit Click here.

One note: When compiling the firmware you must choose Relocatable code as the compile option.

The firmware file can be found TBA.


Configuring the Settings via the Firmware

Before you build the code using MPLAB, you can set the variables associated with the controller and how you plan to use it in the .asm file. By adjusting the parameters and then building the code with those parameters, you result in a .hex file specific for your project. The parameters that can be set are:

    • Baud Rate:
    Allows you to set the controller to match the speed of your existing Renard network. The default is 115200.
    • Find the line in the code that says " #define BAUDRATE_INDEX_DEFAULT BAUDRATE_115200" and adjust the baudrate to one of the following values:
      • 19200, 38400, 57600, 76800, 115200, 230400, 460800
    • Number of Pixel Groups:
    Allows you to set the specific number of pixels to be attached to controller. The default is 50
    • Find the line in the code the says " #DEFINE GROUP_COUNT 50" and adjust it from 1 -200
    • Renard Start Address:
    This uses the standard Renard protocol of defaulting to Channel 1, but can be set to higher channels in multiples of 8.
    • Find the line in the code that says "#define Renard_START_ADDRESS 1" and set it your start channel.
    • RGB Order:
    Allows to make corrections for strings where the pixels respond in a different color order. The default is RGB. UNDER DEVELOPMENT
    • Find the line in the code that says "#DEFINE DEFAULT_RGB_ORDER_CODE RGB" and set it to one of the following values:
      • RGB, RBG, GRB, GBR, BRG, BGR
    • Grouping:
    Allows you to treat multiple pixel as one pixel, cutting down on the number of channels used. UNDER DEVELOPMENT
    • Find the line in the code that says " #DEFINE GROUP_SIZE 1" and change it you the number of pixels you want in a group. The default is 1.

Configuring the Settings via a Renard Data Stream

The PX1 can be configured inline by using a specially formatted Renard Data stream. The basic process using Vixen is as follows:

  1. Choose your start address
  2. Create a vixen sequence with 6 channels and make it just 1 time period long
  3. Then you need to enter the start address into the two channels by using the intensity value feature of vixen set the values from 0-255 (Not 0-100%)
    1. Enter into Channel 1 the Start Address MSB as found in the table below.
    2. Enter into Channel 2 the Start Address LSB as found in the table below.
    3. Example:
      1. If start address = 1
        1. Channel 1 = 0
        2. Channel 2 = 1
      2. If start address = 45
        1. Channel 1 = “0”
        2. Channel 2 = “45”
      3. If start address = 257
        1. Channel 1 = 1
        2. Channel 2 = 1
    4. Enter into Channel 3 the Baudrate code as found in the table below.
    5. Enter into Channel 4 the Group Size, the number of pixels you want to cluster into a group.
    6. Enter into Channel 5 the Group Count, the number of pixels directly connected to the controller from 1-200.
    7. Enter into channel 6 the rgb_order_code as found in the table below.
  4. Power off the PX1, install the jumper J4 on the PX1 then power ON the PX1 (the ATTN LED should be blinking) and set up Vixen to send out the Renard data packets with the new address or configuration change.
  5. Run the sequence. When the controller has accepted the new address and stored in the EEPROM, the ATTN, RX and FE LEDs will come on and stay on solid.
  6. Power off the PX1 and remove the jumper J4 then power ON the PX1. The changes are now in effect.

NOTE: You must have a value in each channel even if you do not wish it to change
Example - If you only want to change the RGB order, you must set the default values in the other packet channels.

PX1 Programming Packet Format

Inline PX1 Programming Settings
Packet (Channel)
Value Default
1 Start Address (MSB) 0
2 Start Address (LSB) 1
3 Baudrate Code 4
4 Group Size 1
5 Group Count 50
6 RGB Order Code 0

Start Address Packet Format

Number of Channels (*)
Inline PX1 Programming Settings
Start Address Packet 1
MSB
(Channel 1)
Packet 2
LSB
(Channel 2)
1-255 0 Actual Start Address
256-511 1 Start Address - 256
512-767 2 Start Address - 512
768- 1023 3 Start Address - 768
1024-1279 4 Start Address - 1024

Baud Rate Packet Format

Inline PX1 Programming Settings
Baud Rate
Baud Rate Code
Packet 3
(Channel 3)
19200 0
38400 1
57600 2
76800 3
115200 4 (Default)
230400 5
460800 6

Color Packet Format

Inline PX1 Programming Settings
Color Order
RGB Code
Packet 6
(Channel 6)
RGB 0 (Default)
RBG 1
GRB 2
GBR 3
BRG 4
BGR 5

.

.

.

Configuring the Settings via the PX1 Setup Application

DIYC member "bolwire" created a small application which assists in setting up a PX1 pixel controller. This takes the place of using a vixen sequence to configure the PX1, as outlined above.

The information entered into the app, should be as directed above. The only difference is that you do not need to enter the MSB bit, this is determined by the application.

After entering your setup details, simply connect your PX1 and click *Write Data*, you will get a confirmation if the data was sent successfully, but as before, the LEDs on the PX1 should behave as according to the wiki as and indication as to the data being accepted and saved.

Download the application here

The initial thread is here.

Enclosure

The Renard PX1 pixel controller can be mounted in the users choice of enclosures. One common choice is the TA-200 enclosure.
TA-200
The PX1 has three screw holes that line up perfectly with the plastic standoffs in the inside of the TA-200 enclosure.PX1 in TA-200

Other Information

Renard PX1 Pixel Controller Discussion Threads

Initial Thread
Beta Test Thread
Group Buy Interest Thread

Video

TBD

FAQ

  • Question: I have never used pixels before,how can I learn more about where to begin and how to use pixels and the Renard PX1 Pixel Controller?
    • Answer: Read The Pixel Newbie for step by step information about setting up your first pixels.

Related Links

Different Styles of Pixels
Controllers
Dumb RGB or Intelligent Pixels??
Things You Will Need To Get Started With Pixels
Pixel Wiring Colors
Power Supplies
Pixel Connectors
Power Injection
Waterproofing Pixels