I'm experimenting adding DHCP option 160 to dhcpserver.c in the Arduino core for ESP8266 and therefor need to rebuild the relevant parts.

I made an initial guess that I might be able to make the change by installing using git according to the instructions in the readme and just restarting the IDE. I wasn't surprised to learn that this didn't help. The modifications to dhcpserver.c did not make it to the device following restart of the IDE and a new upload.

From another forum I saw a suggestion that the following commands could be used to rebuild from source:

$ cd esp8266/tools/sdk/lwip/src
$ make install

Again the changes didn't make it to the device after restarting and uploading the sketch again.

Does anyone have any clearer instructions for how to build a new Arduino core for esp8266?

  • You do have the right LwIP variant selected in the menu don't you?
    – Majenko
    Apr 16, 2018 at 22:01
  • I'm away from the keyboard now but I don't remember even seeing a menu for lwip. I've selected a board from those available for esp8266 (nodemcu v1) and run a sketch that starts a WiFi AP. Apr 17, 2018 at 0:07
  • @Majenko That would work as an answer; once I chose the "Compile from source" setting the additional DHCP option was seen in wireshark. Thanks! Apr 17, 2018 at 20:13

1 Answer 1


There are four variants of LwIP bundled with the ESP8266 core:

  • V1.4 (Compile from source)
  • V1.4 (Precompiled)
  • V2 Lower Memory
  • V2 Higher Bandwidth

By default (for most boards) one of the V2 variants is selected. You need to change that to the V1.4 (Compile from source) for it to use the version that you have modified.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.