Idiots guide to setting up ESP32 CS?

AndyH Aug 10, 2019

  1. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    I'm looking for something which tells me in very simple terms how to install ESP32 CS on an ESP32. I've got Platform IO open on Visual Studio Code, and I've had a browse around and can see the various configuration files. I just don't know what I need to do to edit them prior to compiling, nor do I know how to compile and upload to the ESP32. I could work out the Arduino IDE - that was very easy, but this I don't know.

    For motorboards I am using a L298N board for the programming track (yes, I know I need to solder a 1.5O resistor to feed the current sensor for ESP32) and a BTS7960B for the ops track. I have a 20x4 LCD for info output. I don't see a need for LCC, Loconet or Nextion (but happy to include these in the programme build so I can add later with minimum fuss, if that works).

    I'm guessing I need to edit the config files for my particular setup, based on the info on the \\ lines, but any suggestions? Treat me like an idiot. A clever idiot, but an idiot nonetheless.

    Board I have is a WROOM 32 based board, and appears to be an espressif 32 board, pinout as below. I've also got a T8 coming from China at some point.

    Thanks in advance.

    [​IMG]
     
  2. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    Also, any info on setting up the GPIO22 LEDs would be useful as well thanks. I quite like that feature on the PCB kit.
     
  3. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    Seems it is a clone of the board above, but the pinout is identical. Seems to be a guoyun esp32f board.
     
  4. Atani

    Atani TrainBoard Member

    1,337
    1,047
    28
    Welcome AndyH to the ESP32 CS world :) All of the questions you have asked can be answered from the ESP32 CS homepage under the how to build. I'm also active on here to help as needed.

    But you are on the right track for how to build things, edit Config.h to uncomment the modules you need (Config_LCD.h will be needed for your LCD).

    That board does indeed appear to be a clone of the DevKit-C. Note that the T8 will also work but some features will not be available on the default pins (WROVER uses GPIO 16 and 17 for PSRAM).

    Also note that LCC *WILL* be mandatory in the next release. You *WILL* want to explore it sooner rather than later.
     
  5. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    Hi Atani. Finally getting round to actually doing something about this.

    Can I edit what pins are used? For instance, I've got one ESP32 board that doesn't have pins 16 and 17 because it has an sd card slot, but it has other pins spare.
     
  6. Atani

    Atani TrainBoard Member

    1,337
    1,047
    28
    Yup, the only exception will be on the current sense pins which need to be configured to any of the pins above 30 (pins below 30 that have analog support will not work for analog while WiFi is active).

    Which board do you have? I haven't seen any that have an SD slot that uses those specific pins except for the PICO D4 and WROVER based modules which have PSRAM connected to these pins internally.
     
  7. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    This is the one I plan on using, but I've got a second one to look at as well.[​IMG][​IMG]

    Sent from my SM-N976B using Tapatalk
     
  8. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    Second one.[​IMG]

    Sent from my SM-N976B using Tapatalk
     
  9. Atani

    Atani TrainBoard Member

    1,337
    1,047
    28
    This is a TTGO T8 board with 4MB PSRAM and that is why GPIO 16 and 17 are "missing". This is a good one as it includes the SD slot which I'd highly recommend for v1.5.0+.

    Your second board looks like a standard DevKit-C module. The primary difference of this one to the other is the lack of PSRAM. This one should also be compatible with the PCB I've put together but I would highly recommend adding an SD card slot module to the PCB, it will connect on the same pins as the T8 board uses (you can see them listed on the underside of the PCB).
     
  10. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    How do you wire up the data legs on the notification leds? Are they just in series from the specified pin? Thanks.

    Sent from my SM-N976B using Tapatalk
     
  11. Atani

    Atani TrainBoard Member

    1,337
    1,047
    28
    Using the WS281x or APA106 LEDs you have four legs on them: 5v, gnd, data-in, data-out. You would wire three to five LEDs together sharing the 5v and gnd connections and daisy chain the data-in from one LED to the data-out of the previous. The first LED's data-in should be connected to the ESP32 LED data pin (configured in menuconfig).

    Note that the LEDs are optional but are a useful visual indicator of when the CS is connecting to the SSID or when OPS/PROG tracks are ON with a visual indicator of estimated usage (green = on, red = short/overcurrent, yellow = ~75% usage).
     
    AndyH likes this.
  12. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    Couple more Qs please.

    When configuring Wifi, do the name and password stay in " "?

    Also, when using an LCD, what pins do you connect SDA and SCL to? I can't see a definition in config_LCD.h.

    Also, I am using an L298 chip for my programming track. I know about the resister for current sensing, but can I use the 15v conversion on the chip to power the ESP32?

    Thanks
     
  13. Atani

    Atani TrainBoard Member

    1,337
    1,047
    28
    Yes, that would be correct.

    Add the following:
    Code:
    #define INFO_SCREEN_SDA_PIN <<< PIN >>>
    #define INFO_SCREEN_SCL_PIN <<< PIN >>>
    
    replacing "<<< PIN >>>" with the pin you have connected.

    Sending 15V to the esp32 will destroy it. The maximum power that should be fed into the ESP32 is either 3v3 or 5v depending on the model.
     
  14. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    Sorry, meant 5v. There is a stable 5v output on the red twin 298 boards.

    Sent from my SM-N976B using Tapatalk
     
  15. Atani

    Atani TrainBoard Member

    1,337
    1,047
    28
    Ok, that should be safe to provide to the 5V in on the esp32.
     
  16. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    Getting an error message when I go to compile it.

     
  17. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    When I look at the problems, it seems to be systematically failing to find any of the required src.
     
  18. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    I almost have it. and a way round issues. Needed to add a new user folder with the required files inside it. And install Python.

    The one thing stopping me now is:

     
  19. Atani

    Atani TrainBoard Member

    1,337
    1,047
    28
    You shouldn't need to install anything, this is a problem due to a PIO change since the v1.2.3 code was released since they changed from Python 2 to Python 3 ... You can apply this fix and it should work again.
     
    AndyH likes this.
  20. AndyH

    AndyH TrainBoard Member

    77
    9
    6
    {
    "resource": "/c:/Users/andy_/Documents/Downloads re Arduino and DCC++/ESP32/ESP32CommandStation-master/build_index_header.py",
    "owner": "python",
    "code": "undefined-variable",
    "severity": 8,
    "message": "Undefined variable 'Import'",
    "source": "pylint",
    "startLineNumber": 18,
    "startColumn": 1,
    "endLineNumber": 18,
    "endColumn": 1
    }

    {
    "resource": "/c:/Users/andy_/Documents/Downloads re Arduino and DCC++/ESP32/ESP32CommandStation-master/build_index_header.py",
    "owner": "python",
    "code": "undefined-variable",
    "severity": 8,
    "message": "Undefined variable 'env'",
    "source": "pylint",
    "startLineNumber": 60,
    "startColumn": 1,
    "endLineNumber": 60,
    "endColumn": 1
    }
     

Share This Page