ESP32 Command Station

Atani Dec 10, 2017

  1. Curn

    Curn TrainBoard Member

    751
    497
    31
    It should be fine depending on what ESP32 board you selected. I think that board has 19 pins in row that can be used to add the header pins for the ESP32 board to plug into. The back row is ground and power. The breadboard it comes with has 16 pins. So if you have a ESP32 board with more than 19 pins (like the ones with screens) on each side you will want a board that is just all pin holes. Also at that price, get more than one, because mistakes happen. You can also tie the A & B track LEDs to the prototype shields LEDs if you put it on top of the motor shield.

    When I made mine I put header pins on everything, placed temporary jumpers, and tested everything (especially the current sense pins to the right A&B channel. Once I got it workin I soldered connecting wires on the bottom of the shield to clean it up and make things permanent.
     
    Atani likes this.
  2. dompondaco

    dompondaco TrainBoard Member

    47
    6
    6
    atani, tried both 1 and 2 above with same errors coming up. While waiting for PIO team response I just went ahead and generated my own index_html.h based on comments made in some older posts on this thread. I was able to finally get the V1.1.0 code to compile and load into my ESP32/Arduino motor shield. Got it to work finally after about three weeks of fiddling around. Have not hook up track power or tried a decoder. Hope to do this next. Having a bit of trouble getting code to compile with OLED screen lines un commented in config.h, is the OLED very important or can I ignore it??
     
  3. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
    Pull the development branch, I just encountered this issue with reliability and found a temporary solution that works. Basically moving the header file to the src tree instead of build directory.

    Sent from my ONEPLUS A5010 using Tapatalk
     
  4. Jimbo20

    Jimbo20 TrainBoard Member

    274
    178
    11
  5. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
  6. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
    For those trying to add Arduino-ESP32 to the Arduino IDE you can now use https://dl.espressif.com/dl/package_esp32_dev_index.json to get the process going via the additional boards url. Add this url, restart the IDE and then go into boards manager to install the platform.

    I have done limited testing with this approach on win7 just to confirm the steps, however, I did not verify that DCC++ESP32 is able to compile in the IDE but with the ability to add libraries via github urls it should be possible to.

    The ability to use the boards url is tracked via https://github.com/espressif/arduino-esp32/issues/515
     
  7. RCMan

    RCMan TrainBoard Member

    271
    132
    12
    It does not have the ESP8266 so deleted it and went back to my standard setup.

    I am not using ESP32's right now, but will in the future.
     
  8. MegaBlackJoe

    MegaBlackJoe TrainBoard Member

    43
    58
    10
  9. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
    Yes it is possible but it is not supported by the DCC++ESP32 project. Primary reason is the number of connections between the two would not leave many (or any) pins for the DCC signal or related functionality.

    Sent from my ONEPLUS A5010 using Tapatalk
     
    MegaBlackJoe likes this.
  10. MegaBlackJoe

    MegaBlackJoe TrainBoard Member

    43
    58
    10
    It's a real pity. There are ESP boards with built in displays, but I think the size of the built in screen is very small. Is there any other way to retrofit a larger display?
     
  11. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
    The current release of the base station supports both LCD screen (2x16 or 4x20) and OLED screens, both via i2c. You can get some larger i2c OLED acreens but they get pricy, that is part of why the integrated ones are small.

    However, the next release of the DCC++ESP32 will support a Nextion screen with a default screen size of 3.2" (slightly larger than the TFT you linked above). The interface will have a throttle and base station configuration screens. Once we have that available I'll also be releasing a standalone throttle based on the same screen design.

    I have also looked at the ePaper displays but have not picked one up yet to see how usable it will be for the base station.

    Sent from my ONEPLUS A5010 using Tapatalk
     
    MegaBlackJoe likes this.
  12. Shdwdrgn

    Shdwdrgn TrainBoard Member

    251
    182
    13
    Sorry folks, been away from trains for awhile. Regarding questions about the build process, I do use the ArduinoIDE but my esp32 code is probably a year old or more. Also I'm building on a linux box so there may be differences if you are using Windows. For the index_html.h file, I built it by hand following the instructions on earlier pages of this thread, I've never tried the python script.

    @Atani, speaking of throttles has there been any updates made to the html code lately? I have a 3.5" touchscreen on my raspberry pi that I'm using as the wifi access point, and the old code doesn't resize to the screen or work well in general with a limited viewing area. So if you're taking wish-lists, having a useable web page on the Pi screen would probably be at the top of mine.

    Too many Summer projects eating up my time right now, but I'm hoping to get some paint on my HOn3 loco kit and then get back to trying to use an ESP32 as a loco decoder one of these days.
     
  13. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
    I'll be releasing the index_html.h file via github going forward for new releases so you can avoid rebuilding it yourself.

    Not much has changed on it lately but I am working in there for a few new features. I'll do some testing on smaller screens and see if I can figure something out for resizing. I have tested the interface on my phone screen (a little bigger than your screen) and for the throttle it works for the most part but there are some issues.
     
  14. Shdwdrgn

    Shdwdrgn TrainBoard Member

    251
    182
    13
    How about for smaller screens just using a slider for the throttle and hiding the big speedometer? Perhaps creating a screen of bare-minimum info and having a pop-up div at the bottom when you want to control functions? Oh and for reference, the Pi screen is 320x240, so it doesn't leave much room for fluff. My phone screen is about the same size, but a bit higher resolution, so it's easier to see things there.

    Also, I know you said there was a way in the interface to change the loco cab numbers, but I can never remember what it is (and trying to find anything on the Pi screen just isn't worth the effort). For simplicity, why not add a config icon that takes you to a specific page for managing those items?
     
  15. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
    If you double tap on a loco radio button it should let you change the number. The defaults are going to be coming from a config setup in the next release as well.. So the throttle is going to get a bit of a workover...

    I'll be reworking the format and will look at doing both of these as part of that. I'm not thrilled with the current setup even on a larger screen... Moving the functions into a "group box" that hides is doable as well.

    Thanks for the sizing, I'll use this as an "extra small" display format. There are a few options for shrinking/hiding content based on display size.
     
  16. dompondaco

    dompondaco TrainBoard Member

    47
    6
    6
    Can you provide the link to V1.1.1 (or whatever is the latest verisioin) of the software? I cant seem to find on GIthub. Thank you
     
  17. Atani

    Atani TrainBoard Member

    1,460
    1,697
    36
  18. dompondaco

    dompondaco TrainBoard Member

    47
    6
    6
    Atani likes this.
  19. dompondaco

    dompondaco TrainBoard Member

    47
    6
    6
    Anyone have any idea as to why starting the serial monitor in PIO would kill the DCCPP ESP32 base station software? Code assembles, loads and runs up to the point I try to see whats going on via the serial monitor in PIO, then everything just freezes including the serial monitor.
     
  20. UK Steve

    UK Steve TrainBoard Member

    453
    683
    12
    I would first try using an external terminal app to determine whether or not the problem is within PIO

    One I use regularly and is free, here........ https://www.compuphase.com/software_termite.htm
     

Share This Page