-
Notifications
You must be signed in to change notification settings - Fork 288
Revise 2027 addressable LEDs documentation for clarity #3195
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 2027
Are you sure you want to change the base?
Conversation
Updated documentation for addressable LEDs to include additional LED types and clarify connections. Added notes on powering and best practices.
rzblue
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The section after the first paragraph should be cleaned up; 5 admonitions in a row is excessive and some of the information there might be better to collect into its own section
| .. note:: WS281x LEDs (with the exception of the WS2815, see below warning) are designed for **5V**, but Systemcore ports output **3.3V**. This may cause issues with some LED strips, and a logic level shifter is needed, such as the [Adafruit Pixel Shifter](https://www.adafruit.com/product/6066). | ||
|
|
||
| .. seealso:: For detailed information about powering and best practices for addressable LEDs, see the [Adafruit NeoPixel Überguide](https://learn.adafruit.com/adafruit-neopixel-uberguide/powering-neopixels). | ||
| .. note:: The 300-500 ohm data line resistor and large 1000uF capactitor across the power pins are highly recommended. Also, use a VRM to power the LEDs, with the *grounds* tied together. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I can't say I've seen teams using a capacitor on their LED strips.
The VRM is a specific (discontinued) product; teams can use any 5v regulator
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fair, i'll change that
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the idea was mostly to avoid powering long strips of LEDs off of the systemcore
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| .. note:: The 300-500 ohm data line resistor and large 1000uF capactitor across the power pins are highly recommended. Also, use a VRM to power the LEDs, with the *grounds* tied together. | |
| .. note:: The 300-500 ohm data line resistor and large 1000uF capactitor across the power pins are highly recommended. Also, use an external 5V regulator to power the LEDs, with the *grounds* tied together. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I suspect the systemcore has a series resistor for current limiting that would make the data line resistor unnecessary (the roboRIO did)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
does it?
supposedly doubling up doesn't cause problems.
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
other than the removal of the neopixel uberguide, which was already previously there you can make the changes you mentioned.
Co-authored-by: Dan Katzuv <31829093+katzuv@users.noreply.github.com>
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made changes based on others' suggestions. If something is not working please let me know.
I agree, I think a wiring section could have a lot of the content and be more readable. There's also currently a rendering issue with one of them |
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Made more edits and fixes
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Removed duplicate lines and hopefully fixed indent issue
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fixing docs issues
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed more stuff and added a basic diagram
fixed the image hopefully
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed image, should hopefully fix error
|
|
||
| .. warning:: WS2815 LEDs (and maybe other products as well, **check the label**) are designed for **12V** but have **5V** data (see above note). The **backup line on the first strip** needs to be connected to **ground**, **not** connected to the data line despite what other guides may say. | ||
| Example wiring diagram: | ||
| .. image:: https://github.com/user-attachments/assets/2f1d7f05-f11b-4bed-bb91-267134f04f23) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| .. image:: https://github.com/user-attachments/assets/2f1d7f05-f11b-4bed-bb91-267134f04f23) | |
| (insert one here in the future) |
Another-Person1
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
removed wiring diagram, checking to see if it is fixed
| .. note:: The 300-500 Ohm data line resistor and large 1000μF capacitor across the power pins are recommended, especially with larger quantities of LEDs. Also, use an external 5V regulator to power the LEDs, with the **grounds** tied together. | ||
|
|
||
| .. warning:: WS2815 LEDs (and maybe other products as well, **check the label**) are designed for **12V** but have **5V** data (see above note). The **backup line on the first strip** needs to be connected to **ground**, **not** connected to the data line despite what other guides may say. | ||
| Example wiring diagram: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| Example wiring diagram: | |
| Example wiring diagram: |
| They allow teams to debug robot functionality from the audience, provide a visual marker for their robot, and can simply add some visual appeal. WPILib has an API for controlling WS2812, WS2812B, and potentially other LEDs that share the same protocol with their data pin connected to the SIGNAL pin of a SMART I/O connector. These types of addressable LEDs are also referred to as NeoPixels by other companies. | ||
|
|
||
| LEDs can also be controlled using this API while the robot is disabled. | ||
| .. note:: This **library only supports WS2812B-compliant addressable** LEDs. HUB-75 LED matrixes, DotStar LEDs, and other types of addressable LEDs are not supported by this API. In addition to that, some WS2812B-compliant strips with different timings (WS2815, etc.) may not work. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| .. note:: This **library only supports WS2812B-compliant addressable** LEDs. HUB-75 LED matrixes, DotStar LEDs, and other types of addressable LEDs are not supported by this API. In addition to that, some WS2812B-compliant strips with different timings (WS2815, etc.) may not work. | |
| .. note:: This **library only supports WS2812B-compliant addressable** LEDs. HUB-75 LED matrixes, DotStar LEDs, and other types of addressable LEDs are not supported by this API. In addition to that, some WS2812B-compliant strips with different timings (WS2815, etc.) may not work. |
Updated 2027 Systemcore documentation for addressable LEDs to include additional LED types and clarify connections. Added notes on powering and best practices.