Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 2 of 2

Thread: Replacing Arduino running WS2812B with the Octo Board

  1. #1

    Replacing Arduino running WS2812B with the Octo Board

    Hi team
    I have an arduino board that is running 8 separate FastLED sequences. It also timing when the sequences switch, strobes and other stuff via relays.
    It is just not fast enough despite a load of work to streamline the code.
    So have decided to switch to your Teensy boards...... some questions arise:
    Is it possible to use the Octo adapter board with the 3.5 and as simple as just plug in the leads direct to the WS2812B strips (and some lumpy 5V power being added in)? I see there are resistors in line.
    Am I right that my big 5v power supply connects to both the Teensy board and the LEDs?
    For FastLED do I simply need to tell it which pins are which and off I go, or will I need to rewrite some code?
    Can I use a second octo run from pins 24 to 32 and then plug the cat 6 outputs to switch 5V Relays (if I configure the pins)? This would seem a neat way to get back to a 5v system?
    I am also using wire.h on the board to control some DMX effects on another board do you clog up any of these pins- think I can use 18 and 19 off the side?
    Will I benefit from learning your timer to further improve speed functions as these seem pretty sophisticated?

    And finally can I use the wire.h to control your very cool music player that I am assembling too!
    The whole thing is for controlling music, DMX and lights and PWM in sync and automatically on a float.
    Thanks

  2. #2
    Senior Member PaulStoffregen's Avatar
    Join Date
    Nov 2012
    Posts
    16,236
    Quote Originally Posted by marcopolo303 View Post
    Is it possible to use the Octo adapter board with the 3.5
    Yes, Teensy 3.5 works with the OctoWS2811 adaptor board.

    Because Teensy 3.5 is 1 inch longer than Teensy 3.0 - 3.2 which this adaptor was originally designed to use, the recommended approach is the buy the these tall pins and also these sockets. Together they stack up to allow the longer Teensy 3.5 to overhang the RJ45 connectors.



    and as simple as just plug in the leads direct to the WS2812B strips (and some lumpy 5V power being added in)? I see there are resistors in line.
    I don't quite understand this question.

    But I can tell you the Octo board has the 100 ohm resistors for all 8 of its outputs, so no other resistors are supposed to be added.

    Am I right that my big 5v power supply connects to both the Teensy board and the LEDs?
    There are multiple correct ways to handle the power. You can choose to use the same power for both Teensy and the LEDs. If you go that route, the recommended way is to cut the VIN-VUSB pads apart on the bottom side of your Teensy, so the 5V LED power can't possibly flow back into your PC.

    For FastLED do I simply need to tell it which pins are which and off I go, or will I need to rewrite some code?
    FastLED can use OctoWS2811 as a driver. Or you can use OctoWS2811 directly without FastLED, but if you're already using FastLED's many nice functions for drawing & animation, you'll almost certainly want to use the driver approach.

    Either way, you have no way to specify the pins. OctoWS2811 always uses the same 8 pins. There are never any configuration options for the pins with OctoWS2811. You get amazing performance, but part of the cost of that performance is the DMA-to-GPIO is locked to exactly those 8 pins.

    Having said "never", there is a chance we'll someday have a 16 pin version. When/if that becomes supported, there will be a choice between 8 or 16 outputs. But the 16 pin choice will also be tightly locked to 16 specific pins, without any way to choose which 16 pins. As in the "never" not lasting forever, when we have Teensy 4.x with radically different hardware than Teensy 3.x, the engineering trade-offs will be different. I only mention these for the sake of people who might find this message in the distant future. Here and now with Teensy 3.x, you can't choose which 8 pins. Using those 8 pins is simply how the hardware works.

    Can I use a second octo run from pins 24 to 32 and then plug the cat 6 outputs to switch 5V Relays (if I configure the pins)? This would seem a neat way to get back to a 5v system?
    The Octo adaptor is only a 3.3V to 5V buffer chip and some resistors, so I'd say the answer is "maybe". Remember, it has 100 ohm resistors between the buffer chip and the RJ45 connectors, which will severely limit the current output if you try to use it for turning on relays. It also lacks diodes to protect against the inductive spike a relay creates when you turn off the current. I don't recommend trying to use it for relays or other inductive loads.

    Even if you have something a second Octo adaptor could drive, physically wiring up a 2nd adaptor board to a Teensy 3.5 would likely involve some pretty kludgey wiring... as you might imagine a set of wires dangling from the narrow space between the Teensy 3.5 and Octo adaptor in the photo above.

    I am also using wire.h on the board to control some DMX effects on another board do you clog up any of these pins- think I can use 18 and 19 off the side?
    Yes, you can access those 2 pins on the side of the adaptor board.

    Will I benefit from learning your timer to further improve speed functions as these seem pretty sophisticated?
    Teensy 3.5 has many hardware timers. There are also software features like elapsedMillis, IntervalTimer, Time, TimerOne, and others that could be called "timer". Can't really answer without understanding what you're asking. Even then, context matters, actually having an idea of what you wish to actually do with the timer. Often we get questions here that start with asking about timers, but with understanding the actual idea the answer turns out to be leveraging other features. A very recent thread asked about interrupts and IntervalTimer, but the best approach was actually the Bounce & Encoder libs.

    And finally can I use the wire.h to control your very cool music player that I am assembling too!
    The whole thing is for controlling music, DMX and lights and PWM in sync and automatically on a float.
    Sounds pretty awesome. I hope you'll share photos when it's built & used.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •