ESP8266 with ethernet connection

Jimmy Westberg
  • ESP8266 with ethernet connection Jimmy Westberg

    I was wondering if someone knows a way to convert a ESP8266 to non-WiFi. I.e. have it connected through Ethernet, preferably with PoE possibility.

    Reason for asking: My plan is to have sensors in a locker which is not a wifi-friendly environment. I want to monitor humidity and temperature in particular. I have a lot of ESP8266 units and like the firmware ESPeasy, thus wanting to stick to that platform.

  • The simplest solution is to add an external ethernet interface driven over SPI, as used in this example.

    It's also possible to bit-bang the ethernet interface directly, as decsribed in this article, Ethernet Controller Discovered in the ESP8266. Performance might not be as good as with a dedicated interface though.

    Neither of these include Power over Ethernet, and the latter will probably not leave you with very much spare compute resource (although your application many not care).

    If you're interested specifically in PoE, this Teensy forum thread discusses building a shield for a board. Although the base board is in production, it doesn't look like the ethernet shield is yet.

  • The ESP8266 was not designed with an Ethernet MAC, but this should not stop you. However, as Sean has said, it imposes a set of pretty severe restrictions on you.

    You say that you wish to stay with the ESP8266 platform, but if your project cannot deal with the measly data rates provided by using an ENC28J60-style chip, or bit-banging Ethernet, then there is an alternative. The ESP32 has a 10/100 Mb/s Ethernet MAC that only requires a PHY, magnetics, and an RJ45 connector, and the ESP32 modules are just as cheap (if not cheaper) than the ESP8266 ones.

    The unfortunate downside to this approach is that it does not appear that many ESP32 shields have made it to market yet.

Tags
ethernet interfacing power-sources esp8266
Related questions and answers
  • I was wondering if someone knows a way to convert a ESP8266 to non-WiFi. I.e. have it connected through Ethernet, preferably with PoE possibility. Reason for asking: My plan is to have sensors in a locker which is not a wifi-friendly environment. I want to monitor humidity and temperature in particular. I have a lot of ESP8266 units and like the firmware ESPeasy, thus wanting to stick to that platform.

  • : %s, IP address: %s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str()); } void callback(uint8_t device_id, const char * device_name, bool state) { Serial.print("Device "); Serial.print...I'm trying to control an ESP8266 using fauxmo. The programme compiles correctly, but when I run the Alexa app to find devices the ESP doesn't show up. The ESP is definitely connected to my home... // ----------------------------------------------------------------------------- void wifiSetup() { // Set WIFI module to STA mode WiFi.mode(WIFI_STA); // Connect Serial.printf("[WIFI] Connecting to %s ", WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASS

  • : %s, IP address: %s\n", WiFi.SSID().c_str(), WiFi.localIP().toString().c_str()); } void callback(uint8_t device_id, const char * device_name, bool state) { Serial.print("Device "); Serial.print...I'm trying to control an ESP8266 using fauxmo. The programme compiles correctly, but when I run the Alexa app to find devices the ESP doesn't show up. The ESP is definitely connected to my home... // ----------------------------------------------------------------------------- void wifiSetup() { // Set WIFI module to STA mode WiFi.mode(WIFI_STA); // Connect Serial.printf("[WIFI] Connecting to %s ", WIFI_SSID); WiFi.begin(WIFI_SSID, WIFI_PASS

  • I am stuck with a peculiar situation at home, and would appreciate any help. I have: Marantz NR1504 AV receiver, connected via PowerLan and Ethernet to the router/modem. Samsung SmartTV, connected via WiFi to the same router. Android smartphones, with BubbleUPnP, connected via WiFi to the same router. Synology DS414 connected via Ethernet directly to the same router. Synology carries a collection of musical files, MP3 and FLAC. I could access this collection from the TV, the receiver and BubbleUPnP. I could play them directly from the receiver, play them using the TV using HDMI

  • I am stuck with a peculiar situation at home, and would appreciate any help. I have: Marantz NR1504 AV receiver, connected via PowerLan and Ethernet to the router/modem. Samsung SmartTV, connected via WiFi to the same router. Android smartphones, with BubbleUPnP, connected via WiFi to the same router. Synology DS414 connected via Ethernet directly to the same router. Synology carries a collection of musical files, MP3 and FLAC. I could access this collection from the TV, the receiver and BubbleUPnP. I could play them directly from the receiver, play them using the TV using HDMI

  • Is it possible to gain access to 802.11 action frames TX/RX from software? There's a proprietary protocol based on vendor-specific action frames called ESP-NOW for ESP8266 and ESP32 chips, and I'd like to try to implement it on a Raspberry Pi. It began with my private project where I connected Raspberry Pi with ESP8266 (to exchange short messages), then I've noticed there are additional APIs for ESP8266 (ESP-NOW and Simple Pair) and wanted to compare the performance to ordinary WiFi connection. If my search for details on accessing WiFi Action frames succeeds, I will post any results

  • Is it possible to gain access to 802.11 action frames TX/RX from software? There's a proprietary protocol based on vendor-specific action frames called ESP-NOW for ESP8266 and ESP32 chips, and I'd like to try to implement it on a Raspberry Pi. It began with my private project where I connected Raspberry Pi with ESP8266 (to exchange short messages), then I've noticed there are additional APIs for ESP8266 (ESP-NOW and Simple Pair) and wanted to compare the performance to ordinary WiFi connection. If my search for details on accessing WiFi Action frames succeeds, I will post any results

  • I am working on a home automation project. The basic objective of my project is to control relays and other sensors located at different locations. I have set up my Raspberry Pi as an MQTT broker. Mosquitto is running fine. For now, what I am trying to do is trigger a relay wired up with esp8266 (GPIO2). Here is my Python web server code: import paho.mqtt.client as mqtt from flask import Flask... state: pins = { 2 : {'name' : 'GPIO 2', 'board' : 'esp8266', 'topic' : 'esp8266/2', 'state' : 'False'} } # Put the pin dictionary into the template data dictionary: templateData = { 'pins' : pins

  • I am working on a home automation project. The basic objective of my project is to control relays and other sensors located at different locations. I have set up my Raspberry Pi as an MQTT broker. Mosquitto is running fine. For now, what I am trying to do is trigger a relay wired up with esp8266 (GPIO2). Here is my Python web server code: import paho.mqtt.client as mqtt from flask import Flask... state: pins = { 2 : {'name' : 'GPIO 2', 'board' : 'esp8266', 'topic' : 'esp8266/2', 'state' : 'False'} } # Put the pin dictionary into the template data dictionary: templateData = { 'pins' : pins

Data information