Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GW6205 + ESP32 #746

Closed
erikbrodnick opened this issue Mar 1, 2019 · 9 comments
Closed

GW6205 + ESP32 #746

erikbrodnick opened this issue Mar 1, 2019 · 9 comments

Comments

@erikbrodnick
Copy link

I am unable to successfully get my GW6205 pixels controlled properly using a Node ESP32 MCU. I have even tried with SN74HCT245 level shifter. I am not sure what the problem is and have tried several different GPIO. For a sample string of 20 pixels, simply trying to blink an individual pixel is unresponsive and sometimes will display completely different color on the wrong pixel. I'm happy to provide any further information to help figure out how to get this working. I will also say that these pixels run off 24V DC power. I have a separate power supply for the pixel string and then have the data coming in from the esp32, sharing common ground.

Appreciate the help in advance.

@focalintent
Copy link
Contributor

For laughs, try GW6205_400 as the led type - also make sure you’re using the most recent version of FastLED (3.2.6) as there have been esp32 fixes to the clock less code.

@erikbrodnick
Copy link
Author

Tried the GW6205_400 to no avail. I have also updated the FastLED library to the latest 3.2.6. I am using the example sketch from FastLED "Blink" for my testing.

@erikbrodnick
Copy link
Author

I have the Adafruit ESP32 feather as well as the Node-MCU ESP32. Have tried both with and without the level shifter and various GPIO pins still to no avail.

I found this video https://www.youtube.com/watch?v=ykwkaPpUBZY on youtube where they are using the FastLED library with another type of mcu and seem to get it working with the GW6205.

@focalintent
Copy link
Contributor

Ah - I see the problem -- I forgot that the GW6205 is a 12-bit per color channel chipset, vs. almost everything else which is 8-bit per color. The esp32 implementations of the clockless controller are locked at 8-bits at the moment.

@erikbrodnick
Copy link
Author

erikbrodnick commented Jun 12, 2019 via email

@focalintent
Copy link
Contributor

There's a template parameter for the clockless controller - XTRA0 - which it looks like the esp32 implementations are ignoring. On other platforms, it just writes out a handful of extra 0's -- I don't remember how widespread the support for 12-bit output is, though - since I never had any leds that supported it so it wasn't part of my regular testing. (Side effect of what I'm going to do for rgb/rgbw/rgb16/rgbw16 - support for chipsets like this will become more trivial/complete)

@erikbrodnick
Copy link
Author

erikbrodnick commented Jun 13, 2019 via email

@focalintent
Copy link
Contributor

focalintent commented Jun 13, 2019

That’s correct - I’ll have to check through the code to see what platforms support the 12-bit output.

As for how many pixels to drive - that’s a complicated question to answer. What frame rate are you looking for? The gw6205’s take 45us to write a single led’s worth of data, or 36ms to write a frame - which means you’re looking at a max of 20-30fps. Then there’s a question of memory - 800 leds will want 2400 bytes of ram - which knocks out most of the avr based Arduinos outside of the mega.

@erikbrodnick
Copy link
Author

erikbrodnick commented Jun 14, 2019 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants