Skip to content

Hardware

Juraj Andrássy edited this page Apr 26, 2024 · 3 revisions

ENC28J60 is powered with 3.3 V and the SPI pins have 3.3 V logic, but are 5 V tolerant.

The 5 V tolerace means it can be directly connected to 5 V SPI and reset pins of host MCU. The 5 V AVR MCUs read everything above 3 V as HIGH. This means there is no need to add level conversion between a 5 V AVR MCU and the ENC28J60.

The ENC8266 is powered by 3.3 V and can require 180 mA as top current draw while sending a packet over Ethernet cable. 3.3 V pins on common 5 V Arduino boards can't deliver this current. Uno and Mega R3 can supply max 150 mA on 3.3 V pin and the small Arduinos like Nano and Mini only around 50 mA. This means, for use with a 5 V Arduino use ENC28J60 modules with 5 V Vcc option and power them from the 5 V pin.

Almost all Arduino ENC28J60 shields for Uno and Nano on the market use the schematics recommended in the ENC28J60 datasheet for a 5 V MCU, but they use logic gates (74HCT08) instead of a Tri-State Digital Buffer (74HC125) to convert the MISO line to 5 V. This creates problems. SPI device not selected by CS pin should release the MISO line by setting the output pin to HI-Z state. The enc28j60 of course does this, but the logic gate can't. It stays HIGH, blocking the bus. No other device can be used on SPI with this shield attached. (Many 5 V SD card adapters have the same problem with then level conversion on the MISO line.) The problem can be solved by removing the 74HCT08 IC and adding a solder bridge for MISO line continuity.

The 3.3 V Arduino boards (Zero, Due, Giga, Adafruit Metro with a 3.3 V MCU) could be damaged by ENC28J60 shields with 5 V logic level conversion, while without the 5 V conversion the ENC28J60 is OK with a 3.3 V Arduino. The shields can be modified to work with a 3.3 V Arduino by removing the 74HCT08 and the 5 V pull-up resistors use on some shields. The shield will still work with a 5 V Arduino.

74HCT08 removed 74HCT08 removed

On the left picture the 74HCT08 is removed and the solder bridge in yellow circle is for MISO, the bridge in the blue circle is for the INT line. On the right picture a 4 resistors IC is removed. It pulled to 5 V the INT, RESET and CS pins of the ENC28J60. (Yes, on this shield they pull the INT line (active LOW) to 5 V and then lead it to the logic level conversion IC.) On some shields the pull-up resistors are connected to 3.3 V, then it is not necessary to remove them.

Clone this wiki locally