Concentic Rings questions

I had a request from my wife to create two LED Rings for highlighting her displays. I ordered two sets of Concentric Rings each consist of 241 LEDs total (will be in tomorrow):

I did read number of related posts but still have few questions related to the wiring, mapping and patterns:

  • How should I wire these rings (inward, outward, does not matter because mapping will take care)?
  • Where to find the best mapping code for this rings (I found at least two but I am not sure they are right one)?
  • At least for the beginning these two lights are planned to run exactly the same pattern. I am planning to use a single PB with IO Expander. If I configure each IO Expander channel starting with Index-0 will it work and if “yes” will it be running the same pattern (logical parallel vs physical wiring in parallel)?
  • And which pattern or patterns to try?

Wiring direction inward vs. outward will not matter because, yes, mapping will take care of it.

For a mapping function, I’d use the one from this thread - I think it was made with LED sets like yours in mind.

I don’t know if the output expander will repeat data if you start multiple channels at index 0. But I have successfully driven multiple sets of identical LEDs from an expander channel simply by connecting multiple data lines to the output. (How well this works is dependent on wire run length and the specific LEDs involved, but it’s worth doing the experiment.)

Any 2D pattern should look good on that display, especially things that are radial to start with.


Yrs, this is a mapping I am using for the latest ring lighting projects. After adjusting parameters to the wiring (inward, index-0 at the bottom left) and verifying mapping with Red/Green XY Sweep Test pattern everything looks very good. I tried number of existing 2D patterns (I am sure, I cannot create anything better than already existing) and all they are looks very good. Now it is time to pick which one to run. Since everything is controlled by HE choosing/switching patterns will be very easy task.

I was hopping the Expander(and/or PB) firmware “as is” could be used as a simple logical “output multiplier”. Unfortunately this is not working but I am sure it can be done by modifying Expander or/and PB firmware. It will be nice to have this option.

Driving multiple lines from single output is possible but as you mentioned it could be very tricky and better to be avoided. In order to get it right used wires should/must be with controlled impendence (twisted pair from CAT-5,6,7,8 wire is a good and practical choice). Output impendence must be matched to the combined impendence of the connected wires and this twisted pair should be used only for the Data Signal(s). Power to the LEDs must be provided by a separate two wires cable (with a right gage) connected right at the LED power points. If anything is not quite right it could/will manifest itself as a random LED flickering which will be very hard to debug. Another words, driving multiple LED assembly from a single output better to be avoided. Thai is why i was thinking about Expander as a logical output multiplier.

In my case I will use an individual PBs for each ring. This setup is far more logically flexible and electrically cleaner. Since everything is controlled from HE there will not be a problem how to control these two PBs (running the same pattern or different, brightness for the day/night and whatever else).

1 Like

You can also map the rings as a Pyramid. Using the largest outer ring with the most pixels as the bottom keeping the mapping in the sequential as in the rings. Which you can most likely tell by the GRN DATA wire jumps of the Data IN/Data OUT connectors. Similar to the images posted of the Pyramid and a custom pixel ring i made. Not much help but just an idea/thought…

1 Like

It used to be able to do this, but I think that was causing bugs elsewhere. You can support it with a PB firmware downgrade if this this best option for you but you’ll miss other new features and bug fixes unfortunately. See the recent post on this here:

Really appreciate you sharing your EE knowledge! I’ve also read that people have used cheap buffer ICs (essentially op amps) to duplicate signal paths and avoid impedance mismatch issues. I suspect that’s what’s inside this SP901E device that people sometimes recommend:

I was no aware about existence of this option. It looks like this was clear SW solution. I am/was thinking about HW solution. I am not sure about Extender CPU capabilities in terms of IO configuration, i.e. if it is possible to drive multiple outputs from the same logical signal and if it is possible to reconfigure IO on a fly by sw commands. I not sure how to explain this better but basically my idea is to drive multiple output from the same logical source.

Op Amps are not a right parts for this application. There is a special fanout buffers designed for exactly for this reason (i.e. creating a multiple copies of the same signal).

1 Like

Ah thanks for the clarification. I thought I remembered fanouts were composed of unity gain buffers, but I see now definitely not the 74HCTs that are commonly recommended for this.