View attachment 22734
View attachment 22735
Made a new board, going to flexio2 those pins are closer. Going to test out if I get the software to work before ordering this PCB with assembly, because no way I can solder this by hand anymore....
Hopefully this board will work do the job....
Any comments on the design? I started 2 years ago with microcontrollers and electronics as a hobby and the first thing I did was explode my lights in the house, came a long way since then
#include <Arduino.h>
#include "TDWS2811.h"
TDWS2811 td;
uint8_t channel = 0;
void setup() {
Serial.begin(115200);
pinMode(0, OUTPUT);
pinMode(13, OUTPUT);
Serial.println("Start Setup");
td.setChannelType(channel,RGB);
td.setChannelType(channel+1,RGB);
Serial.printf("Setup complete!\n");
}
void loop() {
digitalWrite(13, !digitalRead(13));
color_t col1 = {0,0,128};
color_t col2 = {0,128,0};
for(uint8_t i=0; i<50; i++){
td.setLed(channel,i,col1);
td.setLed(channel+1,i,col1);
}
delay(1000);
for(uint8_t i=0; i<50; i++){
td.setLed(channel,i,col2);
td.setLed(channel+1,i,col2);
}
delay(1000);
}
Awesome! Thanks this library works perfect, and also I really like that you also implemented a framesync mechanism
For the WS2811 leds I had to increase the dmaBufferLow array to a size of 220 because the datasheed I had seems to be quite outdatet. Newer version of the WS2811 chips need a 280µs low period instead of 50µs to latch the data into the leds.
PCB board was delivered from China today. I can confirm it working without any glitches for PL9823 leds 128 leds/channel all 32 channels. Not tested anything else, life gets in the way....
Can't believe there isn't any more interest in this, only 3 wires, cheap pcb with level shifter, ability to control thousands of leds..... at zero processor cycles. I think if you parallel the FlexIO to shift more than 1 bit, for example 4 bits, you can have 4x32 channels with no problem. I think 16x32 is the max for flexio2? So it's likely this can be scaled up beyond insane.... and there is also flexio1.. Flexio3 has no DMA so this is a bit useless...
Since not many responses/interest i'll leave it at this.
You upload the board with assembly instructions. The components to use are in the assembly file. I used jlcpcb (in the assembly file are their components id’s) Some through hole / connectors you need to solder yourself. But the smd components will all be placed.
I ordered 5 boards so i have 4 spares.
The small cube won’t use this board, that would be major overkill.
- which example did you find ??hi,
I have almost finished my 15x LED cube. First attempts with Octows2811 + Teensy 4.0 or WLED + ESP 32 were satisfactory.
Now I found this example, I even had the shift registers lying around... and put it together temporarily
Unfortunately it does not work. only some LED lights are static white, after reset... What am I doing wrong
#include <Arduino.h>
#include "TDWS2811.h"
TDWS2811 td;
uint8_t channel = 0;
void setup() {
Serial.begin(115200);
pinMode(0, OUTPUT);
pinMode(13, OUTPUT);
Serial.println("Start Setup");
td.setChannelType(channel,RGB);
td.setChannelType(channel+1,RGB);
Serial.printf("Setup complete!\n");
}
void loop() {
digitalWrite(13, !digitalRead(13));
color_t col1 = {0,0,128};
color_t col2 = {0,128,0};
for(uint8_t i=0; i<50; i++){
td.setLed(channel,i,col1);
td.setLed(channel+1,i,col1);
}
delay(1000);
for(uint8_t i=0; i<50; i++){
td.setLed(channel,i,col2);
td.setLed(channel+1,i,col2);
}
delay(1000);
}