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

Add additional wled controller ESP32 WLED variant - WT32-ETH01 #4040

Closed
hoodlumj3 opened this issue Oct 10, 2023 · 10 comments
Closed

Add additional wled controller ESP32 WLED variant - WT32-ETH01 #4040

hoodlumj3 opened this issue Oct 10, 2023 · 10 comments

Comments

@hoodlumj3
Copy link
Contributor

WT32-ETH01 is a versatile controller which supports WLED firmware.
It has inputs and outputs
Supports at least 8 pixel outputs, relay output, button inputs and has a built-in ethernet controller to boot - its a widely used controller based on the ESP32 for running your xlights displays, have i said it runs WLED!
And sadly it doesnt appear to be a controller that is distinguished in xlights.

I'm offering to provide this detail in a PR - it's available here : new-controller-WT32-ETH01-variant

I have built a supporting PCB board that mounts the WT32-ETH01. (see images below)
I've manually added into the wled.controller a new ESP32 variant to support this controller board.
output pins in my design are
LED1: GPIO33
LED2: GPIO5
LED3: GPIO17
LED4: GPIO2
LED5: GPIO4
LED6: GPIO12
LED7: GPIO14
LED8: GPIO15
BTN1: GPIO35
BTN1: GPIO36
RELAY: GPIO32

Is your feature request related to a problem? Please describe.
Yes - My issue is whenever xlights is updated the wled.controller is overwritten and my controller changes dissapear until i put them back.

Describe the solution you'd like
To add into the wled.controller a new variant of the ESP32 with the above pin order

        <Variant Name="WT32-ETH01 MJ3" Base="WLED:ESP32WLEDSettings">
            <MaxPixelPort>8</MaxPixelPort>
            <MaxSerialPort>0</MaxSerialPort>
            <Port1>33</Port1>
            <Port2>5</Port2>
            <Port3>17</Port3>
            <Port4>2</Port4>
            <Port5>4</Port5>
            <Port6>12</Port6>
            <Port7>14</Port7>
            <Port8>15</Port8>
        </Variant>

Describe alternatives you've considered
Me having to copy back the above XML into the wled.controller every time i update xlights - please dont make me do this!

Additional context
PCB layout - yes I'm aware It resembles the QuinLed Dig-Octa layout but this is to utilise the QPowerPost feature
2023-10-10 23_26_19-Window
20231001_133432

@OnlineDynamic
Copy link

In my view that should be a config unique to the vendor board not a generic entry for wt32-eth01 - as I (and I'm sure others) have designs with different gpio mappings. If your config keeps getting over written don't change the existing one - create a unique config file in the controllers folder for your design

@dartunder
Copy link
Contributor

Do you have a link to this device? "WT32-ETH01 MJ3" does not come up in a google search.

@hoodlumj3
Copy link
Contributor Author

In my view that should be a config unique to the vendor board not a generic entry for wt32-eth01 - as I (and I'm sure others) have designs with different gpio mappings. If your config keeps getting over written don't change the existing one - create a unique config file in the controllers folder for your design

the WT32-ETH01 ( an ESP32 ) runs WLED and so logic would dictate it as a variant of the WLED.controller.

But yeah that works, I duplicated WLED.controller and called it WT32-ETH01.controller, stripped out every variant but mine, keeping the vendor as WLED and it overlays nicely in xlights just as if its defined as a variant in the WLED.controller file

This is my WT32-ETH01.controller file content

<Vendor Name="WLED">
    <Controller Name="WLED">
        <Variant Name="WT32-ETH01 MJ3" Base="WLED:ESP32WLEDSettings">
            <MaxPixelPort>8</MaxPixelPort>
            <MaxSerialPort>0</MaxSerialPort>
            <Port1>33</Port1>
            <Port2>5</Port2>
            <Port3>17</Port3>
            <Port4>2</Port4>
            <Port5>4</Port5>
            <Port6>12</Port6>
            <Port7>14</Port7>
            <Port8>15</Port8>
        </Variant>
    </Controller>
</Vendor>

@hoodlumj3
Copy link
Contributor Author

@dartunder

Do you have a link to this device? "WT32-ETH01 MJ3" does not come up in a google search.

I dont have link to my BOB (WT32-ETH01 MJ3) as its a prototype ATM and not in the wild (still in captivity).
but the WT32-ETH01 is easy enough to find

@dartunder
Copy link
Contributor

This looks complete are you ready to open your PR?

@hoodlumj3
Copy link
Contributor Author

This looks complete are you ready to open your PR?

cool TY @dartunder but...

Am I creating a PR for the new variant in WLED.controller ( original enhancement ) or a new WT32-ETH01.controller that overlay's the base "WLED:ESP32WLEDSettings" ?

@cybercop23
Copy link
Collaborator

@hoodlumj3 I think you would want a variant not to override the whole model. You can see how otehr WLED based ons are created. Please close this and when ready create the PR.

@hoodlumj3
Copy link
Contributor Author

Thank you, this is all good now as the local solution worked a treat for me (seperate controller file for my wt32)
I'll close and not PR as it's just dirtying the code base. Would prefer this to be in the xlights documentation though as a "can do" if building own WLED controllers so config upload of the visualiser through the layout tab.
KUDOS to the devs for building this ability, intentionally or not.

@wrcrooks
Copy link

wrcrooks commented Apr 7, 2024

Small thing... I noticed you swapped the silkscreen labels for GPIO39 and GND. Not criticism, just bringing it to your attention.

@hoodlumj3
Copy link
Contributor Author

Small thing... I noticed you swapped the silkscreen labels for GPIO39 and GND. Not criticism, just bringing it to your attention.

Thank you, nice pickup! Totally stuffed THAT up hey! haha!
The QA on this board dropped towards the end, likely so i could to get it produced for xmas rush. ;)

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

No branches or pull requests

5 participants