Author Topic: Introducing the Pi WS281x Pixel Board  (Read 973 times)

Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Introducing the Pi WS281x Pixel Board
« on: February 17, 2019, 10:01:24 AM »
I wonder if there might be any interest in this little board.  In modest quantities, I expect it can be produced for under $5.  If there is significant interest via this thread, I will ask for volume pricing.  Please reply if you are interested and with an estimate of how many of these boards you may like to purchase.

Here are the board's features:
  • Small footprint.  Will fit directly on full size Raspberry Pi or Raspberry Pi Zero boards.
  • Feeds up to 6 WS2812 or WS2812 strings from a single GPIO pin (pin 12) on the Raspberry Pi.
  • Can be powered from either the micro-SD port of the RPi or an on-board 2-pin header (5 Volts DC only).
  • Supports an on-board u-Amp repeater.  (The F-Amp should also work.)
  • Supports 6 Amperes @5VDC when fed from the on-board 2-pin header.
  • All Raspberry Pi pins except Pin 12 are available for HAT boards.  Note:  FPP also uses Pin 35 for WS281x output, but this board does not use pin 35.
    Pi WS281x Pixel Board (shown attached to a Raspberry Pi Zero W and with a u-Amp installed):



Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Re: Introducing the Pi WS281x Pixel Board
« Reply #1 on: February 17, 2019, 10:01:45 AM »
Reserved

Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Re: Introducing the Pi WS281x Pixel Board
« Reply #2 on: February 17, 2019, 10:01:56 AM »
Reserved

Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Re: Introducing the Pi WS281x Pixel Board
« Reply #3 on: February 17, 2019, 10:02:07 AM »
Reserved

Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Re: Introducing the Pi WS281x Pixel Board
« Reply #4 on: February 17, 2019, 10:02:17 AM »
Reserved

Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Re: Introducing the Pi WS281x Pixel Board
« Reply #5 on: February 17, 2019, 12:07:05 PM »
    I am also considering additional features for these boards, if people are interested:
  • A double-sized board that supports an additional 6 strings on pin 35.
  • A 12V-24 volt version supplying separate power for the strings and the RPi from a single 12-24 Volt supply.
  • Status LEDs for each string input.
  • Integrated RTC.

Offline Emuney18

  • Hero Member
  • *****
  • Join Date: Nov 2015
  • Location: Apex, NC
  • Posts: 593
  • Kudos: 7
Re: Introducing the Pi WS281x Pixel Board
« Reply #6 on: February 17, 2019, 06:11:46 PM »
Can you explain how you get 6 outputs from one pin?


Sent from my iPhone using Tapatalk

Offline mararunr

  • Hero Member
  • *****
  • Join Date: Dec 2013
  • Location:
  • Posts: 606
  • Kudos: 14
    • Bentonville Heart Lites
Re: Introducing the Pi WS281x Pixel Board
« Reply #7 on: February 18, 2019, 06:56:27 AM »
Can you explain how you get 6 outputs from one pin?

FPP can run 800 pixels (16 strings) at 40fps or 1600 pixels (32 strings) at 20fps off one pin (natively, without a hat, that's pin 12 or GPIO18 and pin 35 or GPIO19).  So 6 strings or 300 pixels is quite doable.
Bentonville Heart Lites (www.facebook.com/bheartlites)
 This is just my opinion/suggestion/viewpoint.  Others with other viewpoints/experiences may have different advice.  I am a hobbyist with a couple years real world experience, not an expert.

Offline dkulp

  • Developer
  • ******
  • Join Date: Sep 2013
  • Location: Framingham, MA
  • Posts: 1,679
  • Kudos: 96
    • KulpLights.com
Re: Introducing the Pi WS281x Pixel Board
« Reply #8 on: February 18, 2019, 07:11:01 AM »

FPP can run 800 pixels (16 strings) at 40fps or 1600 pixels (32 strings) at 20fps off one pin (natively, without a hat, that's pin 12 or GPIO18 and pin 35 or GPIO19).  So 6 strings or 300 pixels is quite doable.


Actually, it's just over 600 pixels for 40fps, about 1400 for 20fps.   But that's not the issue.    You are not using "string" as we normally do so you need to define it.   For us, a string is any arbitrary length of pixels connected to a port.   That could be all 600 pixels on the port is considered a single string.  A string is not defined as "50 pixels". 


You need to describe better how this works.  It looks like you need custom wiring on the strings to return the out data line from the last pixel on the string back to the controller to feed to the next string.   That's very bizzare wiring. 




Offline mararunr

  • Hero Member
  • *****
  • Join Date: Dec 2013
  • Location:
  • Posts: 606
  • Kudos: 14
    • Bentonville Heart Lites
Re: Introducing the Pi WS281x Pixel Board
« Reply #9 on: February 18, 2019, 12:17:53 PM »
Dan, I was using pixelpuppy's numbers from Nov, 2018 - have the limits been back down in newer version?


Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Re: Introducing the Pi WS281x Pixel Board
« Reply #10 on: February 18, 2019, 12:31:33 PM »
That is correct, and no, it isn't bizarre, at all.  If one is employing one of RayWu's 4-pin WS2811 or WS2812 strings, one merely wires pin 2 on the output side of the last pixel to pin 4, and the signal passes back from the output of the last pixel to pin 4 of the first pixel.  If one has deployed 3-pin pixels, then one merely runs a wire from the output of the last pixel of the string back to the board.  It is how I wire almost all of my fixtures, including my mini-tree, all my StarBursts, both porcupine balls, all of my candy canes, and all my meteor tubes.  It is really the only practical way one can create icicles - certainly it is how Ray Wu's icicles are wired.  It is also the way Ray wires his meteor tubes, and his 3 watt floodlights.  See:

https://www.aliexpress.com/store/product/Milky-tube-DC12V-addressable-0-5M-long-3D-SK6812-RGB-meteor-tube-light-32pcs-SK6812-LEDs/701799_32970334793.html?spm=2114.12010615.8148356.1.45663ed6ksSgUF

https://www.aliexpress.com/store/product/individually-LED-full-color-Icicles-string-DC12V-WS2811-controlled-all-white-wire-IP68-60nodes-set/701799_32310871722.html?spm=2114.12010608.0.0.e8557e59O3BAPa

https://www.aliexpress.com/store/product/3W-high-power-led-WS2811-controlled-RGB-flood-light-addressable-IP66/701799_32850545852.html?spm=2114.12010615.8148356.5.718b31c4gGA8sF

https://www.aliexpress.com/store/product/DC12V-WS2811-addressable-pixel-PCBA-without-LED-with-signal-return-back/701799_32469136653.html?spm=2114.12010615.8148356.45.72592459vKFgjD
https://www.aliexpress.com/store/product/4wires-with-returned-signal-addressable-5m-30LEDs-m-DC5V-WS2812B-led-pixel-strip-NON-waterproof-with/701799_32691577882.html?spm=2114.12010615.8148356.3.558c53f3O2nF4H
https://www.aliexpress.com/store/product/4-wires-with-returned-signal-50pcs-string-DC12V-WS2811-bullet-type-pixel-nodes-IP68-rated-RGB/701799_32878412309.html?spm=2114.12010615.8148356.7.558c53f3nGjNNN

I define a string as any number of linear elements fed both data and power from a single connection point.  Multiple strings can be fed by a single data stream, as long as the total number of unique pixel elements does not exceed the capability of the controller.  No one said anything about any fixed number of pixels defining a string.  If you insist, we could limit the definition of a string to be some number of elements fed by a single port.   Well that would be OK, of course.  All definitions are arbitrary.  I submit, then, we would require a separate term for the definition above.  In that case, however, some number of pixels connected together serially is no longer a string.  It is something else.  At least for the time being, however, please let us continue to use the term "string" as defined by the first sentence above.

Any time one has a centralized multi-string display, wiring the power serially is very cumbersome, time consuming, and hugely inefficient.  Let us take for example an ordinary 8-spoke StarBurst with 30 pixels per spoke wired 10cm between pixels, with spokes 1m long.  Assuming a peak of 60ma per pixel, that is a peak of 14.4 amperes over a span of 31 meters.  Using 12V pixels, even 18AWG wire won't make it.  What's more, one will face soldering possibly as many as perhaps 88 connections per fixture.  With a hubbed design such as this one employing 1 string per spoke, the maximum current in any string is only 1.8 amperes over a distance of only 1 meter.  Even 24AWG wire will suffice, and one only needs to solder at most 48 connections.
Wiring a porcupine ball of any reasonable size at all would be essentially impossible without hubbing.  My large porcupine ball has 25 strings of 15 pixels each, 1 meter long.  If they were wired serially, the lines would have to carry up to 22.5 amperes over a span of more than 49 meters.  Assuming the power leads are not tapered, they would have to be 6AWG.  Since they are hubbed, however, 22AWG is fine.

There are of course situations where hubbing is not practical.  In particular if the last pixel in a fixture is physically a relatively long way from the input, then hubbing may be more trouble than it is worth.  Otherwise, however, most displays can be made much more efficient and enjoy far more pixels per port without power insertion if the strings are hubbed, rather than wired serially.
In any case, semantics aside, take any one of the products listed above (or quite a few others), wire five strands of them into the PC board and a sixth with only 3 wires utilized, and it will work just fine.  That, or take six of whatever 3 wire strings you like, wire them into the board, and run a wire from the last pixel output of five of the strings to the 4th pad of the respective string ports, and it will also work just fine.  All that of course assumes the last pixel of each string is not too far away - perhaps 30 feet or so - from the board.  What one will not be able to do is take those six strands, wire them serially, plug them into a Raspberry Pi, and get then to work unless the strands are quite short or one employs power insertion.
« Last Edit: February 18, 2019, 01:13:40 PM by lrhorer »

Offline Bwinter

  • Sr. Member
  • ****
  • Join Date: Jul 2016
  • Location:
  • Posts: 436
  • Kudos: 10
    • First Show 2016
Re: Introducing the Pi WS281x Pixel Board
« Reply #11 on: February 18, 2019, 01:03:49 PM »
What type of connections are you making for those six terminals?

Which is the first output?  S1?  And S6 is the last?  S6 only has DI (which Im not understanding).

I think a bit more information would be helpful.

Offline lrhorer

  • Sr. Member
  • ****
  • Join Date: Feb 2015
  • Location:
  • Posts: 280
  • Kudos: -11
Re: Introducing the Pi WS281x Pixel Board
« Reply #12 on: February 18, 2019, 01:25:24 PM »
What type of connections are you making for those six terminals?
Do you mean how are the strings physically attached to the board?  That's rather up to you.  One can simply solder them directly to the board, or if one wishes to be able to easily disassemble the display, one could use regular 4-pin 2.54mm headers.

Which is the first output?  S1?  And S6 is the last?
Yes.  One must not skip any, either, unless one employs custom wiring.  I can think of reasons to do this (indeed I have done it), but ordinarily one would fill up the module from left to right, with no spaces.  Of course, there is nothing at all wrong with only using one or two ports and leaving the rest empty if one is only using rather short strings.


S6 only has DI (which Im not understanding).
Well, there is nothing to be done with the return (if any) from the last string, so I didn't bother to add a pad for it.  As a matter of course, I prefer not to interrupt the high current copper areas on a PC board unless necessary.  I did not feel it necessary, especially since there is nothing to which to attach the 6th return pad.

I think a bit more information would be helpful.
Please feel free to ask away.

Offline Bwinter

  • Sr. Member
  • ****
  • Join Date: Jul 2016
  • Location:
  • Posts: 436
  • Kudos: 10
    • First Show 2016
Re: Introducing the Pi WS281x Pixel Board
« Reply #13 on: February 18, 2019, 01:35:44 PM »
1)  I'm not familiar with any type of headers that would fit into that PCB.  Can you provide a link, or do you have a picture of what that looks like?
2)  S6 is labelled DI.  Yet it's the last port in the series.  Shouldn't this be labelled "DO" (data-OUT)?
3)  What ports have the u-Amp/f-Amp?  Each of the 6 ports have their own line-driver/amp?


I've done something very similar with my 8-port icicle distribution board (cascading the data-signal from one icicle to the next), also driven by a Pi Zero.  So I understand the concepts--I'm just not able to wrap my head around what you're presenting.

Offline Bwinter

  • Sr. Member
  • ****
  • Join Date: Jul 2016
  • Location:
  • Posts: 436
  • Kudos: 10
    • First Show 2016
Re: Introducing the Pi WS281x Pixel Board
« Reply #14 on: February 18, 2019, 01:45:42 PM »
That is correct, and no, it isn't bizarre, at all.  If one is employing one of RayWu's 4-pin WS2811 or WS2812 strings, one merely wires pin 2 on the output side of the last pixel to pin 4, and the signal passes back from the output of the last pixel to pin 4 of the first pixel.  If one has deployed 3-pin pixels, then one merely runs a wire from the output of the last pixel of the string back to the board.  It is how I wire almost all of my fixtures, including my mini-tree, all my StarBursts, both porcupine balls, all of my candy canes, and all my meteor tubes.  It is really the only practical way one can create icicles - certainly it is how Ray Wu's icicles are wired.  It is also the way Ray wires his meteor tubes, and his 3 watt floodlights.


I've also not used these 4-pin strands (but I understand conceptually how they work).  One question/concern:  is this return-signal buffered from each node as it makes its way back?  We all know that data straight off the WS2811 DO can only travel limited distance--and this is okay when one node is only 3-12" from the next one.  However, the "data-return" path on these strands can be quite long.

 

Back to top