logo elektroda
logo elektroda
X
logo elektroda

Olimex ESP32-EVB - ESP32 open source & open hardware development board with LAN

p.kaczmarek2 1143 7

TL;DR

  • Olimex ESP32-EVB is a fully open-source ESP32-WROOM-32E development board with wired Ethernet, LiPo charging, CAN, two relays, microSD, IR, USB-UART, and UEXT.
  • It uses PlatformIO/Arduino with ESP32-EVB support and LAN8710A settings, plus a manual controller reset and long delay to bring Ethernet up reliably.
  • The board cost PLN150 and includes an antenna and three plastic non-slip feet, with connectors for extra peripherals through Olimex’s UEXT header.
  • Ethernet worked well enough to serve a simple hello-world page over cable only, and the relays responded correctly to web buttons.
  • IRremoteESP8266 decoded two remotes correctly, but the price is high and the GitHub issue list may be long.
Generated by the language model.
ADVERTISEMENT
Treść została przetłumaczona polish » english Zobacz oryginalną wersję tematu
📢 Listen (AI):
  • Red Olimex ESP32-EVB dev board with Ethernet port, relays, and connected antenna cable on a white surface
    I would like to invite you to a presentation and launch of a fully open source ESP32 development board from Olimex. Everything is available for this project - you can even download the PCB design in KiCad and customise it to your needs. The ESP32-EVB features the ESP32-WROOM-32E Wi-Fi/BT module, an additional LAN8710A wired Ethernet controller, LiPo battery capability thanks to the TP4054 controller, a built-in CAN transceiver, two relays, a USB to UART converter (for programming, among other things), a microSD card slot, an IR transmitter and receiver, and abundant connectors, including Olimex's UEXT to connect additional peripherals.
    Olimex box with a label reading “ESP32‑EVB‑EA rev. K1” on a light surface
    And let's not forget the ability to connect an antenna.
    Close-up of a red Olimex ESP32‑EVB PCB showing LAN module area and dense SMD components Close-up of a red PCB with a relay, screw terminals, and a DC barrel power jack
    Close-up of Olimex ESP32-EVB red PCB with relay, screw terminals, DC barrel jack, and USB-C port Bottom side of a red Olimex ESP32‑EVB PCB with pin labels, solder pads, and printed logos
    I bought the board for PLN150.
    Project repository:
    https://github.com/OLIMEX/ESP32-EVB
    Schematic:
    Schematic of the Olimex ESP32-EVB board with blocks for power, Ethernet, relays, UEXT, SD, CAN, IR, and USB-UART
    It came with an antenna and three plastic non-slip feet. Apparently the price is quite high, but maybe it's worth it? Especially since the manufacturer plays open cards - everything is made available.

    Time to see if it's just as easy to run peripherals on this board.


    Ethernet
    I chose the PlatformIO environment, a Visual Code add-on, to work with the ESP32. As it happens, the ESP32-EVB board is already integrated with it - its profile is available in the repositories. Similarly, we already have the LAN driver ready.
    My platformio.ini:
    
    [env:esp32-evb]
    platform = espressif32
    board = esp32-evb
    framework = arduino
    monitor_speed = 115200
    
    build_flags = 
    	-D ETH_PHY_TYPE=ETH_PHY_LAN8720
    	-D ETH_PHY_ADDR=0
    	-D ETH_PHY_MDC=23
    	-D ETH_PHY_MDIO=18
    	-D ETH_PHY_POWER=-1
    	-D ETH_CLK_MODE=ETH_CLOCK_GPIO0_IN
    
    

    However, I had a bit of a problem with just getting the LAN up and running. I tried various ways, but it was only when I modified the example to manually reset the controller with a sufficiently long delay that communication started. In this configuration the communication works even when powered by a long USB cable. For verification on Ethernet, I put up a simple "hello world" page that downloads fully over the cable - no Wi-Fi.
    Code: C / C++
    Log in, to see the code

    The example works, which means we have the basics:
    Olimex ESP32-EVB board with Ethernet cable and USB power connected, LEDs lit
    Screenshot: “Hello World from ESP32-POE2!” web page and RealTerm window showing Ethernet startup log



    Transmitters
    Another thing worth checking are the relays. There's not much philosophy here anymore - they are simply connected (via transistors) to two specific GPIOs. All you need is a simple pinMode and digitalWrite and you can control them. For the example, I have connected them to simple buttons on the page:
    Code: C / C++
    Log in, to see the code

    Full HTML code:
    https://pastebin.com/ES6dYX0u
    The result:
    Screenshot of “ESP32-EVB” web page showing Ethernet status and buttons Relay 1 ON and Relay 2 OFF
    The relays respond correctly to the buttons, this is how we made the simplest substitute for Tasmota.



    IR receiver
    The last thing I decided to test is the IR receiver. This should work with most IR remote controls from various appliances such as TVs, DVD players, radios or there air conditioners etc. On ESP, it's probably best to use the IRremoteESP8266 library for this. We still have the Arduino-IRRemote library, it too supports ESP, but it supports fewer protocols.
    We update the platformio.ini:
    
    lib_deps =
    	crankyoldgit/IRremoteESP8266 @ ^2.8.6
    
    

    The rest according to the examples - set the pin and decode.
    Code: C / C++
    Log in, to see the code

    I took two remotes from the living room - one from the TV, the other from the Internet TV decoder. Both are seen correctly, one transmits in RC5, the other in NEC.
    Screenshot of RealTerm showing IR event logs with RC5 and NEC protocols and hex codes

    Summary
    How do I rate this tile? Undoubtedly a lot can be done on it, although the price is quite high compared to the simplest base USB to UART + ESP32 converter connections such as the NodeMCU-32S. I certainly praise the variety of projects that can be realised with it - we have relays, we have IR, and there is even an option to connect a microSD card or there CAN bus. In addition, there are ready-made libraries for everything - there were no major problems at all getting the wired Ethernet up and running.
    Of the downsides of this board, I guess I could mention a potentially long list of issues from GitHub, although personally I haven't come across any of these problems yet. Additionally, I would have preferred that this 40-pin connector be replaced with something that is better described, and more accurately described on the description layer so that I know at a glance in advance which pin is which - this is just more convenient for me.
    On the plus side, however, there's also the UEXT connector - as far as I can see, Olimex has spent a bit on these modules and they're not that horrendously expensive, although PLN30 for an RTC, for example, is not the best deal of a lifetime either.
    Have you used the boards from Olimex? Is it worth paying more for such a ready-made board, or is it better to use the minimal version with ESP32 and possibly connect a module with LAN in bulk?
    Attachments:
    • ESP32-EVB-user-manual.pdf (482.92 KB) You must be logged in to download this attachment.
    • ESP32-EVB_Rev_L.pdf (1.99 MB) You must be logged in to download this attachment.

    Cool? Ranking DIY
    Helpful post? Buy me a coffee.
    About Author
    p.kaczmarek2
    Moderator Smart Home
    Offline 
    p.kaczmarek2 wrote 14324 posts with rating 12224, helped 648 times. Been with us since 2014 year.
  • ADVERTISEMENT
  • #2 21844904
    androot
    VIP Meritorious for electroda.pl
    I don't understand the point of such boards. I buy an ESP32 S3 (C3) Zero for $3 and sometimes less. For prototyping it is sufficient. Then I design my own board and for another $3-4 I have it ready for my project.
    I want an ETH connector then I add it, I need a micro SD card then I add it, I add the display as I need it. The board is smaller and tailored to my needs. Plus the satisfaction of having built something.
  • ADVERTISEMENT
  • #3 21844910
    zigipl
    Level 15  
    >>21844904 Different people different needs. Let there be someone who takes up the subject for the first time then immediately has all these elements connected to each other. No misconnections. No disconnecting cable. Just upload your program and you can move on.
  • ADVERTISEMENT
  • #4 21845119
    oscil1
    Level 23  
    For a serious project, jtag is missing so that it can be debugged. As a toy - too expensive.

    Added after 1 [minute]:

    androot wrote:
    ESP32 S3


    The newer ones have the nice feature that they have a built-in jtag - you plug in the usb and you're good to go.
  • #5 21845193
    gregor124
    Level 28  
    androot wrote:
    I don't understand the point of such boards. I buy an ESP32 S3 (C3) Zero for $3 and sometimes less. For prototyping it is sufficient. Then I design my own board and for another $3-4 I have it ready for my project.
    I want an ETH connector then I add it, I need a micro SD card then I add it, I add a display as I need it.


    I was reminded of the story of an American who, in the 1960s, bought the first real programmable calculator in the USA from Olivetti for a huge amount of money.
    Everyone tapped their heads as to why he had spent a fortune on a calculator when you could count structures on logarithmic sliders.
    And he, while the rest of us were counting 1 construction with the help of slide rules, was making 4 designs and making fewer mistakes in the process.
    150PLN is a lot not to have to do the board design, ordering, assembling, then commissioning, and in the meantime looking for the cheapest and altogether unknown thing to get?
    By the time you get all those blocks together, someone with a board like that will have already finished that project and taken on another one.
    Helpful post? Buy me a coffee.
  • #6 21845220
    oscil1
    Level 23  
    gregor124 wrote:
    Before you get all these blocks together, someone with a plate like this will have already finished this project and taken on another.

    Definitely ROTFL
  • ADVERTISEMENT
  • #7 21845376
    krzbor
    Level 29  
    Strange these relays - only for 120V?

    Added after 1 [hour] 28 [minutes]:

    p.kaczmarek2 wrote:
    Is it worth paying more, for such a ready-made one, or is it better to use the minimal version with ESP32 and possibly connect a bulk module with LAN?

    I think as a developer and for learning, it's OK. But building something based on it is a bit of form over content - it's big and it's hard to find a project that uses most of its peripherals. On the electrode I presented a ready-made controller Link costing half the price of the module described here (in the version with 2 relays). It has relays, Ethernet and WiFi, I/O inputs, DIN housing and ready-to-use software with MQTT. You can order a version without preloaded software and write it yourself.
  • #8 21845543
    elektronik999
    Level 26  
    After all, that's what you're prototyping on. I use the B revision myself. Great perk for the Ethernet on the board and the microSD slot because that's the hardest thing to connect on a contact board so that it's stable. I make the firmware while a colleague designs the board.
📢 Listen (AI):
ADVERTISEMENT