Artnet to OctoWS2811?

I wonder if any future version of the Teensy Artnet lib should default to using 2.x.x.x in the example code. However, I really think that anyone digging in to using artnet via teensy will most likely think about this. (however, maybe not - i missed the use of same address for device and sender, above).
hello morton et al,

I've been trying to get the cc3000 sketch that you posted to work. I'm not sure what the issue is.

Is there a chance you could post a working pixelcontroller/ & cc3000_common.h?

I think my issue is here since I have my setup working via tpm2, cc3000 connects to my subnet fine, test led display is fine.
@kimoknowles, I have not looked at the cc3000 sketch for a while as moved over to artnet with the wiznet 820 module, the cc3000 did not handle a high enough data rate and so frame rate was too low. What is the issue? Have you tried sending the data that the cc3000 is receiving to the serial monitor so that you can see what is being received. I'm a bit rusty on this sketch and the cc3000 though.
@Marc W - when you load the ArtnetReceive sketch to the Teensy, you wait till it has completed updating and then open the serial monitor. That sketch is specifically designed to view the data packets being received by the Teensy. It will spit out the data received via artnet to the serial monitor with some useful text to describe the universe and packet numbers coming in. If this sketch does not print data to the monitor you most likely have a problem with either data not being sent from your artnet data software or with the ethernet module. This is the simplest sketch to get going in the first instance.

Hi thanks for the help, i got wasn't getting any data coming in but it worked with the W5200 and with the wiz820 adaptor!
Hey folks - I want to thank you all for the amazing work you've done figuring this out!

I've read through the thread a couple times - and I think I know what to do, but I have a question concerning the wiz820io.

Every photo of the wiz820io attached to the Teensy would appear to go through this sd card adapter board :

Is it necessary? Or is it possible to connect the wiz directly to the teensy?

I have on order:

Teensy 3.1
OctoWS2811 Adaptor

I'm planning on using either PixelController or Jinx in the near future to control a small led array.

You can connect the WIZ820io directly to a Teensy, however, there are two things to watch out for.

  1. Connect the PWDWN pin on the WIZ820io to GND.
  2. The WIZ820io needs to be powered with 3.3V with up to at 300mA when transmitting. Thats what the LDO Voltage regulator on the adapter is doing. I believe it is an MCP1825S33. You cannot power it from the Teensy as the 3.3V voltage regulator on the Teensy only can deliver max 100mA.
Thats much clearer! Thank you.

I think I may just go ahead and purchase the adapter board for simplicities sake. I'm very new to all this, so I'd like to avoid any further complications.

So if I'm not mistaken, the SD slot just happens to be an added (yet unused) feature?
Has anyone here hit a speed bottleneck yet using the setup in this thread?
Wondering how many bytes can be transfered / read via ethernet while maintaining roughly 60 fps?
So I've put together the required pieces:

Teensy 3.1
SD/WIZ Adapter board
WS2811 Adapter board

I'm working with a Macbook Air.

So far I've been able to successfully drive my array via TPM2 With Pixelcontroller and Jinx via a Windows VM.

However I've been unable to get anywhere with Artnet.

I've used the sketch by mortonkopf to test the setup ( but have had no luck.

By sending ArtNet out via Jinx I am able to get the green led on the WIZ820 to blink, but nothing else is happening.

If I understand the comments in the test sketch correctly I should be seeing something via Serial Monitor.
I've checked, and serial monitor is blank.

I've tried a whole host of different settings in Jinx and PixelController, nothing seems to work.

I would greatly appreciate any ideas you folks may have. I feel like I must be missing something simple.

Last edited:
I've used the sketch by mortonkopf to test the setup ( but have had no luck.
There is a sketch in the examples folder of the Teensyduino that should be used, it is called ArtnetReceive. All this ino sketch does is read what has come in via ethernet and print it out to the serial monitor in a readable format, giving universe and package info. The idea of this sketch is, as you recognised, a simple check to see if you have set the ethernet components up correctly. If nothing is showing up on the serial monitor, you have to check a few things. I would firstly check that you have the ethernet module set up by running a basic ethernet test, then make sure that you have your artnet output on the computer set up properly. I do not use Jinx, so can't comment on that, but in pixelcontroller you will need to set the port in the artnet section. If you are using windows this will be something like COM7 (the serial monitor of the IDE will show the port number). You will also need to set the address of the ethernet correctly. You need to be in the same local network, so check you addresses.
I finally managed to get it all sorted out. It seems that the header sockets/header pins on the SD/WIZ adapter weren't making complete contact with the Teensy. Once I got that sorted out, the rest was child's play thanks to your hard work!

Thanks for all the brilliant work you've done!
From my experience, the bottle neck is the WIZ820. It starts missing packet when going over 9 or 10 universe with LightJams (which only refresh affected universes).

I need to drive 16 universes, so for now I ended up, turning my BeagleBone Black into an ArtNet node with code inspired by natcl's Artnet library. The ethernet performances are way better. When the Beaglebone receive the Artnet packet it validates it and send it via Serial to the teensy which in turns drive the 2688 led pixels via the OctoWS lib. It's working great, but I'm not too found to wait 2minutes for the Beagle Bone to boot up and would be happy to cut the middle man.

Is there any way to improve performances with the WIZ820 ?
I would be ready to split the task to multiples teensies but I'm not sure how it will work: It seems with the current Artnet code, Lightjams falls back to "broadcast" mode (instead of unicast) so it sends all packets to all nodes. So I'm afraid all nodes will choke on the amount of packets.

Thanks, I'm really enjoying this thread.
No I didn't, I'm not really sure how to do that.

I tried with Manitou ethernet lib, the result was slightly different but not really better. The code seemed a bit outdated and did not compile as is with the Arduino 1.6.x IDE, so I had to mix a bit of the actual teensyduino ethernet lib with manitou's version. I wasn't really sure what I was doing.

For now I'm using Arduino 1.6.3 with latest teensyduino, is there an easy way to switch to 24Mhz ?
Thank you for your help !
I'm not 100% that's the right thing to do, perhaps Paul can confirm, but try changing line 56 in this file :



SPIFIFO.begin(W5200_SS_PIN, SPI_CLOCK_12MHz);  // W5100 is 14 MHz max


SPIFIFO.begin(W5200_SS_PIN, SPI_CLOCK_24MHz);  // W5100 is 14 MHz max
@ quadbyte

Do let us know how that turns out! I have seemed to hit the same bottleneck at roughly the same number of universes. Would be great to know that has more room to grow in terms of led counts per teensy.
And you're certain it's compiling using the built-in library ? (not another version in your documents folder ?)
Perhaps the bottleneck is not the speed of spi...
Unfortunately I'm certain.
I have zero libraries in my documents/arduino folder and to be 100% sure I added a #error inside the #ifdef USE_SPIFIFO to check that the code was actually compiled.