ESP32-EVB our new board for IoT first prototypes are ready


ESP32-EVB is our new board with ESP32-WROOM32 module. It has:

  • ESP32-WROOM32 module
  • two relays 10A/250VAC
  • Ethernet 100Mb interface
  • LiPo charger and step up converter allowing ESP32-EVB to run from LiPo battery
  • microSD card connector
  • two user buttons
  • UEXT connector to attach different sensors and modules
  • 40 pin GPIO 0.1″ step connector with all resources of ESP32
  • 5V power jack
  • three mount holes

Now time to write some examples and if everything works to launch production.

The saleΒ price will be EUR 22.00

57 Comments (+add yours?)

  1. Hamilton
    Feb 09, 2017 @ 15:59:03

    Lan8740a? Is cr1 for 32khz crystal or for phy? Sd is routed to sdio or spi?


  2. SK
    Feb 09, 2017 @ 17:17:10


  3. Luca
    Feb 09, 2017 @ 18:46:17

    Nice product! Can’t wait for writing tutorials about it πŸ˜‰


  4. ftc11292
    Feb 10, 2017 @ 05:46:43

    This is among the best ESP32 development board. I am waiting to get this and the ESP32 WIDORA-AIR for my Arduino projects. There is ESP32-EVB in DigiKey site, but without picture. Are there different revisions of this board?


  5. Trackback: 22€ Olimex ESP32-EVB ESP32 Development Board Features an Ethernet Port and Relays
  6. Uhrheber
    Feb 10, 2017 @ 10:13:35

    My 2ct:

    What I like:
    – Relay connectors have not only the NO, but also the NC contacts broken out.

    What I don’t like:
    – No PoE, and apparently not even the option to add a PoE buck converter
    – LiPo support doesn’t make sense in my eyes, because Ethernet is power hungry, so, see above

    Considering the usual IoT use cases, I’d suggest three variants:

    1.) Battery powered/Energy Harvesting/Mobile (outdoor sensors, mains independent, etc.)
    – Open Drain outputs instead of relays (lower power), PWMable
    – No Ethernet
    – smaller
    – 6..26V supply input
    – LiPo support

    2.) Low voltage (home) automation (switch, sensor, lighting, heating control, etc.)
    – Relays (2 or 4)
    – Open Drain outputs, PWMable
    – Ethernet with PoE
    – 6..26V supply input
    – No LiPo support
    – Logic inputs 3..26V
    – DIN Rail option

    3.) High voltage (home) automation
    – Relays (1, 2 or 4)
    – Ethernet without PoE
    – 90..240V AC supply
    – High voltage inputs (optically isolated)
    – optionally TRIAC dimming
    – DIN Rail option

    What do you think?
    Your module, while not bad, falls in between those use cases, and exactly doesn’t provide the option that I’d need.


    • OLIMEX Ltd
      Feb 10, 2017 @ 10:21:26

      PoE may not be interesting for anyone and easily could be solved by external module like this
      LiPo is just great way to have UPS-like backup for power blackouts
      we do not expect general purpose evaluation board to fit all customer corner cases they work on, this is why everything is exposed to GPIO connectos so if one wants to connect LCD, PWM, etc etc he is free to do it


      • Uhrheber
        Feb 10, 2017 @ 14:00:27

        Nevertheless, it would be great if you used a PoE capable socket, and break the pins out to some pads, so users can easily add a power converter.

      • Thomas
        Feb 10, 2017 @ 15:22:41

        You could at least provide the ability to use 802.3af Mode B or ‘passive PoE’ by exposing the 4 unused pins of Ethernet cable pairs 4/5 and 7/8 in a similar fashion as on Orange Pi Zero: ?

      • bb
        Feb 11, 2017 @ 18:03:09

        do proper PoE (not passive), external PoE misses the point of PoE begin built in. Making the converter optional is fine though so impact for those that don’t want it is almost zero

      • LubOLIMEX
        Feb 13, 2017 @ 09:48:26

        @Thomas there is no problem to adjust the PCB in the next hardware revision for this mode, so this would probably be included in the design, it is now listed in our future revision changes list

        @bb proper PoE won’t be included in ESP32-EVB for sure – it would increase the cost a lot and there are small enough external extractors anyway; we would consider if it is viable to make another product with PoE and ESP32

      • bb
        Feb 13, 2017 @ 20:52:07

        Interesting, you’ll change the PCB but not to standards compliant PoE. Really the cost is the much same.

        The changes needed are different magnetics jack, there may be one with the same footprint so you could fit the cheaper one and those wishing PoE could fit the slightly more expensive one as you might be quite price sensitive (you seem to stock both as you use them in another product). The only other requirement is some board holes to attach the DC converter module.

        The converter modules are small and cheap to add later or do your own board to sit on top

        So all you have to do is change some holes so more expensive parts can be added only by those needing them, seems simple if you’re going to change some holes anyway

  7. Trackback: Olimex ESP32 Development Board | esp8266hints
  8. Hamilton
    Feb 11, 2017 @ 03:09:11

    SD card in parallel with module flash is best for gpio conservation, but worst for performance.


  9. Max W
    Feb 15, 2017 @ 10:55:10

    great! when do you start shipping to germany?


    • OLIMEX Ltd
      Feb 15, 2017 @ 12:29:06

      I don’t know. This board got lot of exposure on web portals and drawn someone attention. We are having interesting correspondence with someone from “Bundesnetzagentur fΓΌr ElektrizitΓ€t, Gas, Telekommunikation, Post und Eisenbahnen” who claims we can’t ship evaluation boards even if the ESP32 module has CE. Although it’s obvious this is evaluation board dedicated for developers and normal user will be not able to do anything with it as it’s shipped without software. So we may ship only outside EU at beginning until this is sorted out.


  10. Robo
    Feb 16, 2017 @ 22:45:18

    WAT ???? Please.. They have a problem with this board or all eval boards ? πŸ™‚


    • OLIMEX Ltd
      Feb 17, 2017 @ 10:32:37

      EU law want to ensure someone with no knowledge will not get hurt if use this board not properly.
      This is not end product but board used by developers to experiment with and is exempt from CE marking as they are to be used by technically skilled people in labs.
      These guys try to interpret thing in their own favor to possible make some money from “testing” the boards and confirm things which are obvious. This testing will cost so much that will double the sale price easily and we try to avoid.
      The ESP32 module already has CE marking, this board will do nothing harmful if one power it up, without uploading software on it it will not work at all, but again this is money call πŸ™‚ nothing else.


      • robo
        Feb 17, 2017 @ 12:45:06

        “if you want to destroy something, start to regulate it by law” Keep doing your things forget about it. (P. S. I am from Poland – it is in EU)

      • OLIMEX Ltd
        Feb 17, 2017 @ 12:49:04

        regulations are good as otherwise will be chaos, and the regulation clearly exempt such boards from the costly certification procedures, but people who enforce these regulations always try to take as much advantage of them as possible from their position, so naturally they try to sell their “services” even in cases they are not necessary by the law, interpreting it by their own way

      • robo
        Feb 17, 2017 @ 14:43:26

        ok your are right – some regualtion are ok – but over regulation – not ok πŸ™‚ BTW keep this project πŸ˜‰

      • Marek Waszkiewicz
        Mar 22, 2017 @ 16:16:48

        The whole EU open market is myth as you can see now. Germany want to protect its own products. Grettings from Poland

      • OLIMEX Ltd
        Mar 22, 2017 @ 16:28:23

        not really, German manufacturers face same problems

  11. niko la
    Feb 18, 2017 @ 08:47:44

    seems like windows kicad 4.0.5 is unable to open the pcb file 😦


    • LubOLIMEX
      Feb 20, 2017 @ 11:46:35

      Yes, of course. This is very old version, despite that is being marked as stable. Try newer nightly builds.


    • OLIMEX Ltd
      Feb 20, 2017 @ 13:16:33

      We always use the latest nightly builds to work with as this guarantee us to work with the latest and the greatest version with most fixed bugs and most new features.
      The windows build is more than year old I guess and overall Windows is worst platform to work with KiCAD. Their nightly builds are for Ubuntu. If you want to use Windows you have to clone their nightly repository and build it each day yourself.


      • Sergio
        Feb 21, 2017 @ 02:27:44

        “We always use the latest nightly builds”

        This is very, VERY, ***VERY*** bad practice. How can you reproduce a bug and prove that it has been fixed if you do not have something stable to compare against.

        I have seen software bugs jump around between versions because nobody bothered to actually give a concrete way of reproducing it was a specific version of software.

        Change your practice – you will live longer and prosper (more) πŸ˜‰

      • OLIMEX Ltd
        Feb 21, 2017 @ 08:34:47

        Sorry but you look from user point of view, we look from contributor point of view
        KiCAD made long way and now is in usable shape, but there are still few things to polish.
        We want to help KiCAD developers to make better product, this is why we use it and force it to the edge with complex designs and report what we find as bugs or make suggestions.
        Working with the latest builds allow us to see what is taken care of and if these bugs are really fixed or still exist.
        We do not care that we work with the non stabile and completely tested product as we are part of the testing with what we do with it.

      • Sergio
        Feb 21, 2017 @ 17:29:02

        Yes you are right.

        From a users point of view it is important to me that anything I produce with software today will not be lost when the software is “bug-fixed” tomorrow. Also I want anything I produce with software X to be usable by others of software X. I do not want to be chasing problems that are buried deep inside software X and only manifest themselves when I try to co-operate with another user of software X.

        As I said previously, you are right – as a contributor. I do ***GREATLY*** appreciate your aim to help develop someone else’s software.

      • niko la
        Mar 02, 2017 @ 09:23:21

        sweet. I am going to set up a ubuntu computer.

        how often are you guys updating your nightly builds? and each time one must Uninstall the old kicad with the latest?

      • nikola
        Mar 02, 2017 @ 09:24:01

        sweet. I am going to set up a ubuntu computer.

        how often are you guys updating your nightly builds? and each time one must Uninstall the old kicad with the latest?

    • rudi ;-)
      Feb 27, 2017 @ 11:10:45

      download the last nightly for windows


  12. Andrei B
    Mar 04, 2017 @ 05:01:22

    On the board schematic, if the external oscillator is used for the Ethernet, I’m wondering if is necessary to feed the ESP32 module GPIO0 with the same external clock signal?


  13. Andrei B
    Mar 04, 2017 @ 23:36:55

    I download your revA schematic from here: On the schematic you have CR1 (integrated oscillator used for the Ethernet PHI) that currently is not used because the clock is feed by the ESP32 module. Now if you remove R35 and populate CR1 and R36 you switch to the external clock option. However if you check this document: (page 5), the ETH PHY in RMII mode (with external osc), per my understanding (if I’m not wrong) the ESP32 require on GPIO0 to have the same clock that feed the PHY.
    In your schematic GPIO0 is used for MDC(RMII), so without having this signal remapped, the external clock option will not be functional. If you are using external clock you can save 1 GPIO. Can you please comment that? It’s that a design mistake or do I miss something?



    • rudi ;-)
      Mar 06, 2017 @ 18:11:03

      GPIO0 is RMII clk in ( 50 MHz ) and can not be change to an other pin.
      MDC that goes to the same pin comes with 3 MHz and can be change to othe pin

      in REV A you have to separate RMII clk and MDC

      i did MDC to GPIO23 in this example.

      the design is very interessting, cause
      it use as 50 MHz CLK the CLK out from GPIO16
      that clk generate the esp32 from itself.


      in my test i can generate the 50MHz clk for RMII clk in
      i can setup the LAN8720, LAN8710 and can ping
      cause this xTask from 50 MHz clk need 80-99 prozent of one core ( must check again – it was a try ) there are sometimes packets loose or can not initialize sometimes ip. this was done with esp32 silicon revision v0.

      next step is from me, to solder a 50MHz hardware clk and relieve the core task.

      if the new revision v1 comes out, i will check again same procedure with generated 50MHz clk. it is glass clear signal

      hope this helps
      best wishes

      rudi πŸ˜‰


    • rudi ;-)
      Mar 06, 2017 @ 18:15:13

      in append to my post and your question
      yes you can save one pin ( gpio16 ) if you solder a 50 MHz clk
      best wishes
      rudi πŸ˜‰


  14. Andrei B
    Mar 04, 2017 @ 23:58:51

    It’s also require to handle the oscillator EN pin at startup in order to ensure booting from SPI…


  15. Re Quired
    Mar 05, 2017 @ 21:02:20

    Out of stock. 😦


  16. Andrei B
    Mar 07, 2017 @ 03:11:52

    After doing the modification, did you try with external clock? Works more effective as processor load?

    How you handle the booting problem during startup. I think the oscillator enable pin can have a capacitor to the ground; this will delay the oscillation during boot.



    • rudi ;-)
      Mar 07, 2017 @ 13:19:19

      Hi Andrei

      have no 5032 size just in time for soldering,
      try to get few next time

      so i soldered a size bigger and wiring on the fly for fast test.
      played with extern osz ( 50 MHz ) on XTAL1
      moved R35 to R36
      soldered R34
      used XTAL1/CLKIN for ESP32 RMII

      sig is ok with rigol,
      must check the rest.

      can reset the phy
      clk work
      can read register ( MDC , MDIO work fine )
      but get no ip

      think we must setup the header for LAN8710A too.
      do you see a thing that is not conform to LAN8710A
      –> cut –88—- paste

      phy adress itself is ok with 0x00
      and Registers are response.

      best wishes
      rudi πŸ˜‰


  17. Andrei B
    Mar 08, 2017 @ 15:20:33

    @rudi if LAN8720 is working, should be no difference for this one except the configuration as RMII


    • rudi ;-)
      Mar 08, 2017 @ 18:09:16

      Hi Andrei

      thank you.

      MDC, MDIO is working fine,
      DHCP ( IP ) / ISR fails
      next step is sort out this 2 lines
      need CRS_DV ( was done to GPIO18 on REV – A )
      to put on GPIO27 (FUNC_GPIO27_EMAC_RX_DV)

      cause this was thinked to go as I2C data, it is pulled up,
      think this is the mistake. will remove RM3 and make single Resistors
      and remove R21 ( pulled up I2C data )
      and then try to connect the lines.

      will update the thing on weekend here what happend πŸ˜‰
      best wishes
      rudi πŸ˜‰


  18. Andrei B
    Mar 08, 2017 @ 19:22:26

    Hi Rudi,
    Yes more likely this is the issue; in RMII mode you need CRS_DV that need to be connected to GPIO27.

    Please share after test your results.


    • rudi ;-)
      Mar 09, 2017 @ 02:26:44

      Hi Andrei
      have worked on today,
      yeap – LAN8710A now works.

      to do on REV-A

      have not remove RM3
      have cut the “pullup” line between LAN8710A and RM3
      so we can use the “pullup” later for other gpio by connect on the pin πŸ˜‰


      we must
      1) cut RM3 single line (LAN8710A) CRS_DV pulled up node
      2) remove R21 ( pulled up )
      3) cut GPIO18 line (backside ) from RM3 (LAN8710A CRS_DV) line
      4) connect on header 19(“CRS_DV”) ,26(“I2C_SDA”) by wire

      before cut RM3 single line

      and here steps

      you will see only a fine cut on the RM3 sinlge line πŸ˜‰
      R21 was removed

      we can use it later by connect a wire and connect to a pinheader pin
      so we save the gpio18 for later. we can connect the gpio18
      then on backside where we cut the line from CRS_DV
      this node to GPIO18 has also disturbed

      now i will remove the flying osz and
      i will use “GPIO16” as int CLK again and
      will update infos here at weekend

      best wishes
      rudi πŸ˜‰


    • rudi ;-)
      Mar 09, 2017 @ 14:19:24

      seems one comment i wrote yesterday is waiting for moderation

      short, it work’s now

      best wishes
      rudi πŸ˜‰


  19. Andrei B
    Mar 09, 2017 @ 15:02:23

    @rudi – thanks for your hard work, Most Appreciated!
    @olimex – guys? … a rev B of the board?

    @rudi can you please check the processor load with external clock (when pinging the device)



    • rudi ;-)
      Mar 09, 2017 @ 18:36:04

      here is a first test on it with telnet and switching the relay

      what you mean with processor load with external clock ( pinging ..)
      do you mean response time
      its OTC ( over the cable )

      we can use it as house bus
      and talk over wifi with sensoric



    • rudi ;-)
      Mar 09, 2017 @ 18:39:36


      what you mean with processor load with external clock ( pinging ..)
      do you mean response time
      its lower 1ms
      do you mean boot start hangs cause clk on GPIO 0 ?
      it boot’s
      let me know how i can help.

      best wishes
      rudi πŸ˜‰

      if you watch the video in big full solution
      you see on start a short “http get” in the terminal ( UART )

      check status
      and other..
      and i will test with this “boot over lan” πŸ˜‰ next steps
      we load a firmware over ETH PHY from a Server to the SPI Flash
      set a BIT in user key
      read the user key BIT for boot it
      then boot the downloaded Firmware.
      What you think – nice OTA “-> OTC ( over the cable )

      we can use it as house bus
      and talk over wifi with sensoric



  20. Andrei B
    Mar 09, 2017 @ 19:01:50


    Very Nice work! Thanks!

    processor load means: core usage prozent.

    Thanks and Most Appreciated!

    Best Regards,


  21. Ciprian
    Mar 12, 2017 @ 21:47:31

    Nice, nice! I see you’ve been busy. I like where Olimex is heading. Best of luck!


  22. Andrei B
    Mar 12, 2017 @ 23:29:57

    @rudi …I also think also the crystal clock needs to be delayed to boot properly; an RC circuit will do this job.



  23. Andrei B
    Mar 13, 2017 @ 02:27:14

    @rudi: the RC is on enable pin (R from Vcc and C connected to ground); this is supposed to delay oscillation (by putting the oscillator in high impedance) when de device is powered.


  24. Trackback: ESP32-EVB our new board for IoT first prototypes are ready | olimex | The Frogs blog
  25. Mich Zouthins
    Sep 05, 2017 @ 12:16:10

    Π¨Ρ‚ The PWR_FLAG signal is simultaneously connected to the GND and + 5V. Short circuit!
    In the latest edition of the circuit(2017-09-04), pay attention!


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: