OctoWS2811 with SD-Card on Teensy 3.1

velcrome

New member
Hello,

At the CCC we took some time to play around with the Teensy3.1, an OctoWS2811 adapter, and a WIZ820io alongside with the Adapter sold at the pjrc shop.
Utilizing TCP we were able to drive 1k LED with insane frame rates, well above 100. The possible fading smoothness is just amazing.

We were also pondering to use the SD slot (which we could not try yet for the lack of a card), but I did find the time to do some research.

As it seems there is a potential double usage of pin 4.
Also, in the Octo code there is a reference to pin 3, but not in the documentation.

Both seem to be used internally to generate the actual output to the led stripe pins by pwm.

The SDReader code mentions pin 3 as necessary, but Electrical Connections asks for pin 4.
Can someone clarify this confusion?

This picture seems related:
hardware.jpg


Would it be feasable to move the pwm-pins of the octo to pin 25 and 32, because breaking them out would not do much good to anyone?
 
more back info

... special wiring for the Micro SD card CS signal. Pin 4 is cut between the Teensy and WIZ820+SD, and between the WIZ820+SD and Octo board, pins 3 and 4 are shorted together. This routes the SD card's CS signal to pin 3. Pin 4, the default wiring for the WIZ820+SD adaptor, can't be used because pin 4 it's reserved by OctoWS2811.
 
As it seems there is a potential double usage of pin 4.

Yes, OctoWS2811 requires pin 4 to generate interrupts.

Traditionally, SD card examples using pin 4 or pin 10 for chip select. Fortunately, the SD library is very flexible, allowing any digital pin to be used. The solution for that project was this hardware hack, to use pin 3 for the SD card chip select.

The SDReader code mentions pin 3 as necessary, but Electrical Connections asks for pin 4.
Can someone clarify this confusion?

In File > Examples > OctoWS2811 > VideoSDcard

See the included "hardware.jpg" image for suggested pin connections,
with 2 cuts and 1 solder bridge needed for the SD card pin 3 chip select.

This hardware hack is necessary *because* the Wiz820+SD board was designed to bring the SD card CS signal to pin 4. The example needs that signal connected to pin 3. The wiring hack simply routes the wire from pin 4 on the Wiz820+SD board to pin 3 on Teensy 3.1.

Would it be feasable to move the pwm-pins of the octo to pin 25 and 32, because breaking them out would not do much good to anyone?

No. Or at least probably not, at least as I can see.

The issue is which native ports each pin uses. Refer to the schematic for details:

http://www.pjrc.com/teensy/schematic.html

OctoWS2811 requires interrupts on 3 separate ports. Pins 25 and 32 are both port B. Pins 15 and 16 are already using Ports B and C, which rules out using 25 or 32. Pin 4 is native port A (specifically, PTA13), which is why this scheme can work.

Perhaps it may be possible to use only 1 pin interrupt and trigger the other DMA channels using internal timer compares. In that case, either 25 or 32 could be used (only on Teensy 3.1... Teensy 3.0 doesn't have FTM2), and none of the other pins would be needed. I personally am not planning to work on this anytime soon. If you do give it a try and make progress, please post a followup here, or send a pull request on github.
 
Yes, OctoWS2811 requires pin 4 to generate interrupts.

Traditionally, SD card examples using pin 4 or pin 10 for chip select. Fortunately, the SD library is very flexible, allowing any digital pin to be used. The solution for that project was this hardware hack, to use pin 3 for the SD card chip select.



In File > Examples > OctoWS2811 > VideoSDcard



This hardware hack is necessary *because* the Wiz820+SD board was designed to bring the SD card CS signal to pin 4. The example needs that signal connected to pin 3. The wiring hack simply routes the wire from pin 4 on the Wiz820+SD board to pin 3 on Teensy 3.1.



No. Or at least probably not, at least as I can see.

The issue is which native ports each pin uses. Refer to the schematic for details:

http://www.pjrc.com/teensy/schematic.html

OctoWS2811 requires interrupts on 3 separate ports. Pins 25 and 32 are both port B. Pins 15 and 16 are already using Ports B and C, which rules out using 25 or 32. Pin 4 is native port A (specifically, PTA13), which is why this scheme can work.

Perhaps it may be possible to use only 1 pin interrupt and trigger the other DMA channels using internal timer compares. In that case, either 25 or 32 could be used (only on Teensy 3.1... Teensy 3.0 doesn't have FTM2), and none of the other pins would be needed. I personally am not planning to work on this anytime soon. If you do give it a try and make progress, please post a followup here, or send a pull request on github.


Hi Paul,
I mentioned this in another thread here, but this is really close to the subject.
The project here uses the same to adapters I would like to use with a Teensy 3.2. The difference is, I do not need access to an SD card, I need Ethernet.

If I just cut the pin 4 connection to the WIZ820io adapter and allow it to just go to the OctoWS2811, will that work?
Are there any other pins I need to avoid connecting to the WIZ820io so the OctoWS2811 will work?
 
Back
Top