ESPixelstick 4.0-ci trying to get LAN + SDcard + 4 ws2811 outputs working on an WT32-eth01 board but having GPIO issues #800
Replies: 32 comments
-
There are some ground rules you need to follow when setting up the GPIOs.
Yes you can do all of that. You just need to be careful in GPIO choices. |
Beta Was this translation helpful? Give feedback.
-
Hi Martin, Thanks for those pointers regarding the GPIO pin usage. Going to make a plan now what can be connected where and if it works. thanks |
Beta Was this translation helpful? Give feedback.
-
Hi Martin So I learned something about GPIO's and the WT32 board. I can not have 4 ws2811 outputs + LAN +SD. Simply because there are not enough physical ports on the WT32. Also GPIO 0 I can not use for ws2811 output. Because somehow the LAN is working (showing up in the gui), but I get no IP via DHCP (weird right?) So best I can do is LAN + SD and two ws2811 outputs: GPIO's available on WT32-eth0 For my project here I will skip the SD card implementation. So I will send realtime DDP traffic over the ethernet port. Plan was to use it in multisync mode and play the sequences locally from the SD card. But I think the LAN connection will be fast enough to handle live ddp data. Thanks for the info and the quick reply Martin. Besides the strange thing with GPIO 0 my questions are answered. edit: well not haha, is there a clean way to disable SD in the config? kind regards, |
Beta Was this translation helpful? Give feedback.
-
Did you look at the WT32 implementation that is already part of the build set? All you would have to do is customize the GPIO Defs file for the WT32 board type. Yes you CAN use GPIO zero as a pixel output. You need to add a 4K pull up from GPIO zero to the 3.3v pin on the WT32 board so that the device will boot properly. Same is true for GPIO two. |
Beta Was this translation helpful? Give feedback.
-
Hi Martin, The more I google, the more I get to know. The WT32 board has more IO ports. It just has other names printed on the PCB instead of just "IO+number". kind regards, |
Beta Was this translation helpful? Give feedback.
-
If you look at the pre built version, you will see that it has 5 output ports defined. And supports 16 external PWM channels AND supports the SD card and has the Ethernet port working. //Output Manager #define DEFAULT_RMT_2_GPIO gpio_num_t::GPIO_NUM_0 // #define SUPPORT_SPI_OUTPUT // File Manager |
Beta Was this translation helpful? Give feedback.
-
Hi Martin, Thanks for the help so far. It's all starting to make more sense. kind regards, |
Beta Was this translation helpful? Give feedback.
-
Hey Martin, A lot has changed in two days, you really got me haha. I'm still not able to get the SD card going.
And other info in the posts. So in the WT32 build set file GPIO 13 is used as default. Is that tested on a real board? Because GPIO13 is really not available on the board as an external pin as far as I can seen on all WT32 docs I found. Sorry for the questions. I can understand if you say that this is not a learning platform here and only for bug reports. If so then please close this (Or should I do it as I'm the one that created it?) Thanks for the help! kind regards, :) |
Beta Was this translation helpful? Give feedback.
-
Hi, To anybody :) This WT32 board is giving me headaches hehe I'm reading up on compiling espixelstick. I thought I had it going, but from here https://github.com/forkineye/ESPixelStick . Regarding the filesystem, is the part about "the Arduino IDE should be used for uploading" still valid? So far no success with getting an SD card working. I check with a "normal" ESP32 and the same SDcard reader and sd card is working. //Output Manager // #define DEFAULT_RMT_2_GPIO gpio_num_t::GPIO_NUM_0 // #define SUPPORT_SPI_OUTPUT // File Manager #include <ETH.h> /*
// Pin# of the enable signal for the external crystal oscillator (-1 to disable for internal APLL source) // Type of the Ethernet PHY (LAN8720 or TLK110) // I2C-address of Ethernet PHY (0 or 1 for LAN8720, 31 for TLK110) #define DEFAULT_ETH_ADDR ETH_ADDR_PHY_LAN8720 // Output Types But no success yesterday I tried to flash ESP4.0 beta 5 and that one won't even start-up br |
Beta Was this translation helpful? Give feedback.
-
Please don't tell me I forgot to uncomment this line ??: pfffffffffffffff Another thing. I'm not able to compile anymore. I get a lot of these kind of errors: ESPixelStick/src/network/WiFiDriver.cpp:316:27: error: assignment of read-only location '(((const char)(& CN_passphrase)) + ((sizetype)(& json)->ArduinoJson::V721PB22::JsonObject::operator bool()))' So I can't try to compile and upload my new config. |
Beta Was this translation helpful? Give feedback.
-
Yes you need to uncomment that for SD support. That is an odd error message. I would manually delete the entire .pio directory.
|
Beta Was this translation helpful? Give feedback.
-
Hi Martin, That didn't bring a solution. I also tried to open it again in a new folder with a fresh zipfile of espixelstick. Let everything install, but still the same problem. thanks, |
Beta Was this translation helpful? Give feedback.
-
It's broke in the pipeline as well and for me locally. Something with the ArduinoJson updates, I'm looking into it. |
Beta Was this translation helpful? Give feedback.
-
There was an error in how lib_deps had git repo versions pinned. It was grabbing ArduinoJson 7.2.1 which breaks. I just pushed a fix to pin it to 7.2.0 for now - https://github.com/bblanchon/ArduinoJson/blob/7.x/CHANGELOG.md#breaking-changes |
Beta Was this translation helpful? Give feedback.
-
Thanks, I can build again :) It's working. |
Beta Was this translation helpful? Give feedback.
-
It has been working for me but my branch is 40 commits ahead of you. It was also compiling at the time the PR request was made. |
Beta Was this translation helpful? Give feedback.
-
Not sure what was going on. It started failing a while back in the pipeline and even after I'd merged your fork. |
Beta Was this translation helpful? Give feedback.
-
okay, success finally :) :) got the sd card to work....more or less. tried another SD-controller board (accepts micro sd cards directy instead of the other board that accepts mini SD) And switched from 3.3 volts (coming of the esp01 programmer) to 5 volts on the WT32 and on the card controller board (has a voltage regulator) br |
Beta Was this translation helpful? Give feedback.
-
@dutch-anykey -- Note that WT32 has a history ... there are some fuse settings that may help you use the available pins more reliably. This is due to how WT32 configured the ETH settings, and the ESP32's use of certain pins at boot, causing the voltage setting to be incorrect. Full details at bootstrapping pins ... see the NOTE: fuses are a one-way street ... once you set the fuse, it cannot be undone. Risk of bricking device exists. |
Beta Was this translation helpful? Give feedback.
-
Hi, @henrygab So I have it running now, but very unstable. It reboots quite often and SD card may be there or not...trying to make sense of it all. Is it the lab setup wiring, open connections on unused pins, wrong high/low status because of connection towards SD card reader.... |
Beta Was this translation helpful? Give feedback.
-
Small form factor (~ D1 Mini size)Yes, I had so many stability problems with the WT32 (even after setting the efuses), I stopped using it. Reboots were common. I think some folks found adding a large capacitor between a couple pins (EN and V?) gave them better stability, but I was fed up at that point. I moved to using Twilight Lord's shield. I was very happy with it, but it's now been out of stock for a couple years. :( Olimex has a small PoE board, but it has no galvanic isolation. Danger! I would not use for this reason. I would definitely consider using the wESP32. (I couldn't find it in stock at the time I needed it.) The wESP32 supports PoE, isolates the power, supports multiple voltages / PoE configurations, and just generally appears to be a solid board. Currently priced ~$50, but at least it seems available via multiple channels now. If ethernet is not a hard requirement, other options include If you're open to using a larger board....I'm now using a QuinLed Dig-Octa; There's a distributor for US/CA, or direct from CN. This board has been rock-solid for me, and has a strong community on discord. If ethernet is not a hard requirement....ESPixelStick v3 hardware is great and fit in 1.25" PVC pipe... I still have a number of these (with external antenna out one PVC cap, using power from the LED connection. Very handy, just replace the top board with an appropriate ESP32 board. QuinLed also has a number of boards... check them out. Many varieties and form factors. Might be something you could use. |
Beta Was this translation helpful? Give feedback.
-
Thank you for the information. I was also already looking for alternatives and the quinled products are really nice. It basically covers what I wanted to achieve. So the "normal" esp32's are planned for mobile suits via wifi, but plan is to have them equipped with a SD card and controlled via FPP remote to sync with the main show. That's why went for espixelstick software. And so far this solution seems to be running stable. esp32+SD+4 outputs. Not sure when I have finished 10 of those how the sync and wifi network will hold up. But at least I could have them play a local fseq from the SD if connection is lost. So the espixelstick software covers all my needs, also the integration in Xlights for uploading sequence files and upload output configuration is brilliant. (lot's of things that wled doesn't have) And for expansion of the main show ports I planned to have these WT32 boards. Ethernet+ 4 outputs and SD card to run them also in FPP remote. But maybe for that SD is not needed or overkill perhaps? Maybe 100 Mbits/s and the WT32 performance it will keep up with normal DDP traffic? What is your opinion? Or is the instability also there without the SD config that you know? I'm already in to deep I guess. I bought lot's of stuff and components already (like sn74ahct125 ic's for level shifter, dc/dc buck convertors etc..) + I like to build things. I did spent a little time again this evening on the WT32, it seems to run okay as long as I don't try to write something to the SD card, then it will reboot. I placed the elco between EN and GND for boot delay and managed to do the fuse burn for the 3.3 voltage setting. But it doesn't make it better. Maybe leave it for a few days and start fresh again. br p.s. the reason I didn't buy additional kulp controllers and differential receivers is because I can not buy it locally here in Europe/Netherlands. It has to com from the U.S. and shipping fees and import duty is ridiculous at the moment. Also there was a shop in the U.K. But since they left the EU it is now basically the same as shopping in the US. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the background ... With F16v3 and Kulp controllers, you're well past the starting point with this hobby.... If I understand your design:
That seems a very solid design. Presuming that the WiFi signal isn't disrupted, I understand that I gave up on WT32 boards...
In my experience, when I tried to use WT32 boards, I was unable to achieve stability. One question you'll have to answer, based on your circumstances, is how much your time is worth vs. risk of hardware issues that are hard to track down. Is the WT32 issue caused by an undersized power regulator? Is it caused by insufficient power caps? Is it just much more sensitive to power supply noise? I never figured out the root cause ... I ended up throwing my WT32 boards away, because it wasn't worth the headache for me ... and as you can see in the gist, I did perform some investigations before I hit that point; It just wasn't something I could rely upon. For me, it was worth the price to pay more per board, and have a more stable hardware base to build on ... as I also wanted to stop being Griswold. |
Beta Was this translation helpful? Give feedback.
-
yeah, I think I have the falcon already for 4 or 5 years and the Kulp followed a few years later with buying remote receivers along the way each year. I really had to convince my friends that we needed those. (And they were cheaper a few years ago.) Being the only led-light enthusiast /electrician in our group that sometimes is a challenge. And then when you have the gadgets the other problems start like planning/programming, flickering leds, power injections I'm sure you know what I'm talking about :)
I think I'm going to call it quits as well on this wt32. The simple plan was to flash the wt32 with pixelstick, stick a SD reader, dc/dc converter and level convertors to it and start using it. How little did I know ... haha. I learned a lot the last few days, that's always nice :) |
Beta Was this translation helpful? Give feedback.
-
As I was adding platforms, two platforms went to the list of "Never, EVER, use these". WT32 and ESP32 CAM boards. Both had major problems in the brownout circuits and general issues with stability. |
Beta Was this translation helpful? Give feedback.
-
I'm still fumbling with the wt32 - no sd card. (can't let it go, while I should probably) Looks more stable. Just to share what we are doing with all of this :) kind regard, |
Beta Was this translation helpful? Give feedback.
-
That would be an xlights issue, |
Beta Was this translation helpful? Give feedback.
-
I opened a ticket @xlights two days ago. Let's wait and see. Got lucky, my friends gave a green light to order a kulp controller and remote receivers. That's a goodbye to the wt32 project for me and less stress to get that going. Now busy with the ESP32 (generic?) boards. Test is doing well. It's running for more than a day now with SD and 4 outputs. That's a nice change to see compared to the wt32. |
Beta Was this translation helpful? Give feedback.
-
Yes you need to upload the filesystem yourself using VSCODE. That is one way to reset the configuration. another is to use the factory reset on the admin page. |
Beta Was this translation helpful? Give feedback.
-
@MartinMueller2003 via https://espixelstickwebflasher.from-ct.com:5000/ I flashed it, but in the GUI still the old version is shown: However in the serial console I can see: #0 0x400805e4 in c_OutputPixel::PixelAppendNulls() at src/output/OutputPixel.cpp:598 E (451) esp_core_dump_flash: No core dum����ѥѥ���found! [ ESP] ESPixelStick v4.0-ci12216055840 (Dec 7 2024 - 21:04:45) Not sure what to make of it now. Also factory reset via GUI doesn't clear data/settings. Console says reset successful, but al settings are still there (output settings / DDP etc.) |
Beta Was this translation helpful? Give feedback.
-
ESPixelStick Firmware Version
4.0-ci11448233108
Hardware Version
esp32_wt32eth01
Binary release or compiled yourself?
Binary release
Operating System (and version)
Windows 11 Pro
Web Browser (and version)
Version 131.0.6778.69
Access Point
TP-link omada platform
Describe the bug
I'm not able to get all the features working on a wt32:
Somehow I can get each working separately but not all features together due to GPIO assignments problems.
For now I have LAN + 4 x ws2811 working. But when I want to add SD support It won't boot, or won't start LAN or any other combination.
Question is if there are things that I have to keep in mind when assigning GPIO's?
on the board the following GPIO's are physically available:
0, 39, 36,15,14,12, 35, 4, 2
for LAN interface the GPIO's (non external GPIO's I guess) 17, 23, 18, 16 and 1 are assigned. I didn't change anything there.
For SD card a few predefined GPIO's were assigned, but I can't remember the exact numbers. I think mine were:
SD MISO Pin 12
SD MOSI Pin 13
SD Clock Pin 14
SD Chip Select Pin 15
For MOSI I changed to another free physical port since GPIO 13 is not on the boards output on the WT32
For led outputs:
ws2811 port1 GPIO 2
ws2811 port1 GPIO 4
ws2811 port1 GPIO 36
ws2811 port1 GPIO 39
It all was not working. I had various outcomes when changing GPIO numbers around for led and SD card connections. Mostly that resulted in LAN not being initialized and the other result was the board not booting. (I wanted to include the serial console output,but I forgot to save it. If needed I can reproduce and include it)
Next step I did was skipping the need for SD card. So I configured non existing GPIO numbers:
SD MISO Pin 8
SD MOSI Pin 10
SD Clock Pin 9
SD Chip Select Pin 11
for WS2811 outputs:
ws2811 port1 GPIO 2
ws2811 port1 GPIO 4
ws2811 port1 GPIO 14
ws2811 port1 GPIO 15
Now all seems to be okay. (I haven't checked yet if those led GPIO's are realy outputting data)
So question is, should it be possible to have all functions working (SD, LAN, 4 WS2811 outputs)? And to even stretch it more have the last free GPIO available for en external button.?
kind regards,
Maurice
Beta Was this translation helpful? Give feedback.
All reactions