A place users can post their projects. If you have a small project and would like your own dedicated place to post and have others chat about it then this is your spot.

User avatar
By cassyarduino
#59239 Hi All!

UIPEthernet arduino library ported to ESP8266.
This library have compatible API with Wiznet W5100 Ethernet library.

I uploaded modified UIPEthernet library to https://github.com/UIPEthernet/UIPEthernet
I modified the following:
- Set the version to 1.1.0
(This version tested on ESP8266 too. Working properly. Without watchdog resets.)
- Correct ESP8266 exception(28).
- Add watchdog reset calls in functions for stable running on ESP8266.
- Add geterevid function to get ENC28j60 chip erevid (revision information).
- Change linkStatus to static for outside call.
- Add functions bypass, if can't communicate with ethernet device.
- Add SPI bus instabil communication detection.
- Change debuging/logging. Remove individual debuging. Add global and scalable debuging feature.
You can setup debuging/logging level in utility/logging.h
You can use this header file in Your scetch too.
Add "LogObject" define for serial logging/debuging with board specific default setting.

Best Regards
User avatar
By JZesp
#59262
cassyarduino wrote:Hi All!

UIPEthernet arduino library ported to ESP8266.
This library have compatible API with Wiznet W5100 Ethernet library.

I uploaded modified UIPEthernet library to https://github.com/UIPEthernet/UIPEthernet
I modified the following:
- Set the version to 1.1.0
(This version tested on ESP8266 too. Working properly. Without watchdog resets.)
- Correct ESP8266 exception(28).
- Add watchdog reset calls in functions for stable running on ESP8266.
- Add geterevid function to get ENC28j60 chip erevid (revision information).
- Change linkStatus to static for outside call.
- Add functions bypass, if can't communicate with ethernet device.
- Add SPI bus instabil communication detection.
- Change debuging/logging. Remove individual debuging. Add global and scalable debuging feature.
You can setup debuging/logging level in utility/logging.h
You can use this header file in Your scetch too.
Add "LogObject" define for serial logging/debuging with board specific default setting.

Best Regards


Very cool, thanks for the effort!!!

Few questions:
1) Any plans to try a NodeMCU rather than the minimal ESP8266 where capacitors and resistors are needed to interface with an ENC28J60? I'd love to see a wiring diagram for a NodeMCU if possible. Been having a terrible time with it :)

2) It would seem that samples should be different for AVR vs. ESP/ARM, etc. considering that different connected pins are used on the multiple wiring diagrams you posed on GitHub. Is the new library smart enough to figure out the device type and use the proper pins per your diagrams?

All the best!
User avatar
By cassyarduino
#59273
JZesp wrote:
Very cool, thanks for the effort!!!

Few questions:
1) Any plans to try a NodeMCU rather than the minimal ESP8266 where capacitors and resistors are needed to interface with an ENC28J60? I'd love to see a wiring diagram for a NodeMCU if possible. Been having a terrible time with it :)

2) It would seem that samples should be different for AVR vs. ESP/ARM, etc. considering that different connected pins are used on the multiple wiring diagrams you posed on GitHub. Is the new library smart enough to figure out the device type and use the proper pins per your diagrams?

All the best!


I have only ESP-07, but i will draw wiring for Node-MCU.
The Node-MCU is a extended ESP-12E with internal power regulator and configuraion resistors.
The power consumption of the ESP8266 and ENC28j60 with this library NOT little. (~800mA)
You must use capacitor between GND and 3,3V power. (470uF)
The IO pins of Node-MCU and ESP-07 is same.
You must use two FETS with 1k resistor between gpio15 of ESP8266 and SS of ENC28j60.

This library is smart. The code writen that compiler detect MCU and use proper pins.
You can change SS pin at begining "utility/Enc28J60Network.h
".
If You don't change the default (gpio15) pins will use.
The wirings of repository use default configuration too.

Best regards
User avatar
By JZesp
#59294
cassyarduino wrote:I have only ESP-07, but i will draw wiring for Node-MCU.
The Node-MCU is a extended ESP-12E with internal power regulator and configuraion resistors.
The power consumption of the ESP8266 and ENC28j60 with this library NOT little. (~800mA)
You must use capacitor between GND and 3,3V power. (470uF)
The IO pins of Node-MCU and ESP-07 is same.
You must use two FETS with 1k resistor between gpio15 of ESP8266 and SS of ENC28j60.

This library is smart. The code writen that compiler detect MCU and use proper pins.
You can change SS pin at begining "utility/Enc28J60Network.h
".
If You don't change the default (gpio15) pins will use.
The wirings of repository use default configuration too.

Best regards


Thanks for the feedback! The cap is easy between GND & 3V3. Power consumption of 800mA should be fine if I use a higher quality cable measurable with Ampere app on my Android. Using gpio15 for SS is simple enough until the resistor and the FETS came into play, not sure how to wire that up so I'll take a look at your updated wiring diagrams, thanks for doing that!!! I also bought another ENC28J60 looking different than the one I already have. Using SPI or I2C has been a bit of a nightmare with Arduino UNO & Nano, NodeMCU and D1 Mini. The only success I had was Arduino Nano with an ENC28J60 shield which was made to fit that Nano. That works pretty well with the original UIP library, haven't tried this library yet. Any other manual wiring for SPI/I2C has been terrible and unreliable, including proximity sensor NFC/RFID. Works once in 50 times and never again :) I see posts on the web that clock speed is a problem, but not sure.

All the best!