Hi Guys,
I just completed a big project to control my Horizon Express train with a NodeMCU (ESP8266). I also use a Raspberry Pi running Node-RED for the dashboard and IoT logic. I agree that the ESP8266 is awesome for IoT and LEGO projects, but it was annoying to program and build the supporting circuit, etc. I did it, but I felt like it was a time suck. I then stumbled on the NodeMCU, which is the lazy mans approach.. and that's me ;)
I bought the NodeMCU with motor shield on eBay for under $10. It works really well, but I think the motor shield was a little difficult to cram in the train. I was able to do it, but I would go for an external H-bridge motor driver, for flexibility.
The complete write-up is on my Internet of LEGO blog:
http://www.interneto...odemcu-esp8266/
Let me know what you think! I also am working on sensing the train location using reed switches. Since the train has magnetic couplers, the reed switch works perfectly for detecting the train.