       // Check packet ID
       if (memcmp(header->ID, "Art-Net", 8) == 0) {
 
+        // Read the rest of the packet
+        udp.read(buffer+sizeof(ArtHeader), udp.available());
+
         // Package Op-Code determines type of packet
         switch(header->OpCode) {
 
           // Poll packet. Send poll reply.
           case OpPoll:
-            udp.read(buffer, min(udp.available(), (int)sizeof(buffer)));
+            //udp.read(buffer, min(udp.available(), (int)sizeof(buffer)));
             node.createPollReply();
             artnetSend(buffer, sizeof(ArtPollReply));
             break;
 
           // DMX packet
           case OpDmx: {
-            udp.read(buffer, min(sizeof(ArtDmx), sizeof(buffer)));
             ArtDmx* dmx = (ArtDmx*)buffer;
             int port = node.getPort(dmx->SubUni, dmx->Net);
             switch (port) {
               case 0:
-                mergeRGBtoRGBW(dmx->Data, pixels1, 144);
-                port1.show((CRGB*)pixels1, 196, 255);
+                mergeRGBtoRGBW(dmx->Data, (byte*)leds1, NUM_RGBW);
+                FastLED[0].show(leds1, NUM_RGB, 255);
                 break;
               case 1:
-                mergeWtoRGBW(dmx->Data, pixels1, 144);
-                port1.show((CRGB*)pixels1, 170, 255);
+                mergeWtoRGBW(dmx->Data, (byte*)leds1, NUM_RGBW);
+                FastLED[0].show(leds1, NUM_RGB, 255);
                 break;
               case 2:
+                mergeRGBtoRGBW(dmx->Data, (byte*)leds2, NUM_RGBW);
+                FastLED[1].show(leds2, NUM_RGB, 255);
                 break;
               case 3:
+                mergeWtoRGBW(dmx->Data, (byte*)leds2, NUM_RGBW);
+                FastLED[1].show(leds2, NUM_RGB, 255);
                 break;
             }
           }

#include <SPI.h>
#include <Ethernet.h>
#include <ArtNode.h>
#include <FastLED.h>

#pragma pack(1)

#define PIN_RESET 9

EthernetUDP udp;
byte buffer[600];

byte pixels1[144*2*4];
byte pixels2[144*2*4];

WS2811Controller800Khz<5, RGB> port1;
//WS2811Controller800Khz<5, RGB> port2;
//WS2811Controller800Khz<5, RGB> port3;
//WS2811Controller800Khz<5, RGB> port4;

////////////////////////////////////////////////////////////
ArtConfig config = {

  Ethernet.begin(config.mac, config.ip);
  udp.begin(config.udpPort);

  FastLED.addLeds<WS2812, 5, RGB>(leds1, NUM_RGB);
  FastLED.addLeds<WS2812, 21, RGB>(leds2, NUM_RGB);
}

////////////////////////////////////////////////////////////
