With an ESP8266 based board (at least), you can simply refer to pins by their 'D'-number, so you don't have to do things like in your code
#define EN_PIN 5 // D1
just do it like this
#define EN_PIN D1
Also, I can recommend to use platformio, it allows you to build and upload code directly from the command-line. You can specify the libraries and framework you need, so they will automatically be downloaded (and cached locally).
If you like to experiment with that, I can easily give you an example platformio.ini file that works with your ESP8266 board.