element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet & Tria Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • About Us
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      • Japan
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Vietnam
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Raspberry Pi
  • Products
  • More
Raspberry Pi
Raspberry Pi Forum Raspberry Pi with WS2812b strips
  • Blog
  • Forum
  • Documents
  • Quiz
  • Events
  • Polls
  • Files
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
Join Raspberry Pi to participate - click to join for free!
Featured Articles
Announcing Pi
Technical Specifications
Raspberry Pi FAQs
Win a Pi
Raspberry Pi Wishlist
Actions
  • Share
  • More
  • Cancel
Forum Thread Details
  • Replies 20 replies
  • Subscribers 676 subscribers
  • Views 3027 views
  • Users 0 members are here
Related

Raspberry Pi with WS2812b strips

Former Member
Former Member over 11 years ago

Hi

       I am looking for advice regarding feasibility and future errors that I may face for my project. I am trying to control 300 led strips from Adafruit available at http://www.adafruit.com/products/1138

 

These strip require an input at voltage level 5V. I know that I must use a 3.3V to 5V voltage converter  to keep both strips and Pi safe.

 

IS there anything that I should be careful about?

 

Please help.

  • Sign in to reply
  • Cancel
Parents
  • Robert Peter Oakes
    Robert Peter Oakes over 11 years ago

    I have been looking into the feasibility of this too, I already have several Arduino custom solution running WS2811/2B LEDs, some on custom boards and some using the 60 LEDs per strip stuff. the issue you will find is that the PI can not guarantee maintaining the required 800Khz data rate reliably (A common issue with micro-processors running a multitasking OS like Linux, windows or other os), If you where to do this you will probably need to use C and directly interact with the hardware GPIO and may not be able to get more than a few LEDs working because of the above mentioned issue

     

    What most people are doing in this space is to have an Arduino (ATMega ) or other Micro-controller do the refreshing of the LEDS and have the PI instructing the controller what pattern it requires. All the clasic micro-controllers have SPI or I2C support (TI MSP430, ATMEL ATMEGA etc) and are easy to interface to. by nature the micro-controllers are much more reliable at this kind of task (From a timing perspective)

     

    A good platform to learn this technology and with the added benefit of learning distributed automation (More than one cpu in the system co-operating to perform a task) would be to get a Gertduino board from Element 14 ( http://www.element14.com/community/community/raspberry-pi/raspberry-pi-accessories/gertduino ), they are currently under review in the Road tests and there is plenty of information on how to use them. The AdaFruit Arduino libraries are the best I have found for driving the LED chips and I have tried quite a few) you can find the library here ( http://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library )

     

    The issue with the Micro-Controllers is typically how much memory or lack there of and so if you get them to do too much thinking vs simply running the lights then you will run into problems. Have the PI or PC do the thinking and simply upload the patterns to the controller and you'll be able to do amazing things

     

    If you need to know more, please let me know, ill see about digging out my code and stuff to share on the forum

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Reply
  • Robert Peter Oakes
    Robert Peter Oakes over 11 years ago

    I have been looking into the feasibility of this too, I already have several Arduino custom solution running WS2811/2B LEDs, some on custom boards and some using the 60 LEDs per strip stuff. the issue you will find is that the PI can not guarantee maintaining the required 800Khz data rate reliably (A common issue with micro-processors running a multitasking OS like Linux, windows or other os), If you where to do this you will probably need to use C and directly interact with the hardware GPIO and may not be able to get more than a few LEDs working because of the above mentioned issue

     

    What most people are doing in this space is to have an Arduino (ATMega ) or other Micro-controller do the refreshing of the LEDS and have the PI instructing the controller what pattern it requires. All the clasic micro-controllers have SPI or I2C support (TI MSP430, ATMEL ATMEGA etc) and are easy to interface to. by nature the micro-controllers are much more reliable at this kind of task (From a timing perspective)

     

    A good platform to learn this technology and with the added benefit of learning distributed automation (More than one cpu in the system co-operating to perform a task) would be to get a Gertduino board from Element 14 ( http://www.element14.com/community/community/raspberry-pi/raspberry-pi-accessories/gertduino ), they are currently under review in the Road tests and there is plenty of information on how to use them. The AdaFruit Arduino libraries are the best I have found for driving the LED chips and I have tried quite a few) you can find the library here ( http://learn.adafruit.com/adafruit-neopixel-uberguide/arduino-library )

     

    The issue with the Micro-Controllers is typically how much memory or lack there of and so if you get them to do too much thinking vs simply running the lights then you will run into problems. Have the PI or PC do the thinking and simply upload the patterns to the controller and you'll be able to do amazing things

     

    If you need to know more, please let me know, ill see about digging out my code and stuff to share on the forum

     

    Peter

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
Children
  • rew
    rew over 11 years ago in reply to Robert Peter Oakes

    At 54kbytes per "frame" the arduino-like processors are quite quickly "too small" for the intended number of leds. I think an STM32F4xx microcontroller has the DMA-capabilities to handle a significant number of led-chains in parallel. If I remember the specs correctly I'd say up to about 20kbytes of video-data per chip would be doable (you'd need to expand the raw video data to three bits-per-bit to allow the DMA engine to do its work (i.e. provide accurate timing) while the CPU does other things like expand the video data from one bit-per-bit to three bits-per-bit.)

     

    But with $7500 in led strips it sounds like an interesting project with a larger budget than what I have available for my projects... :-)

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube