Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use ENC28J60 Ethernet Board: Examples, Pinouts, and Specs

Image of ENC28J60 Ethernet Board
Cirkit Designer LogoDesign with ENC28J60 Ethernet Board in Cirkit Designer

Introduction

The ENC28J60 Ethernet Board is a versatile network module that enables Ethernet communication for embedded systems. It integrates a Microchip ENC28J60 Ethernet controller and PHY (Physical Layer Transceiver), providing a cost-effective solution for adding network connectivity to microcontroller projects. This module is commonly used in applications such as home automation, IoT devices, and web server implementation in microcontroller-based systems.

Explore Projects Built with ENC28J60 Ethernet Board

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
STM32F4 and ENC28J60 Ethernet-Enabled Microcontroller Project
Image of youssef: A project utilizing ENC28J60 Ethernet Board in a practical application
This circuit integrates an STM32F4 BlackPill microcontroller with an ENC28J60 Ethernet Board to enable Ethernet connectivity. The microcontroller communicates with the Ethernet board via SPI, with connections for power, ground, and SPI signals (SI, SO, SCK, and CS). The provided code is a basic template for further development.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32 and W5500 Ethernet Module Controlled 8-Channel Relay
Image of ESP32 38Pin 8 Channel Relay USB-C: A project utilizing ENC28J60 Ethernet Board in a practical application
This circuit enables Ethernet connectivity and device control through an ESP32 microcontroller. It uses the W5500 Ethernet module for network communication and controls an 8-channel relay module for switching external devices or loads.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Environmental Monitoring and Home Automation System with Ethernet Connectivity
Image of ESP32 30Pin 3Phase AC Box W5500 Ethernet Standard: A project utilizing ENC28J60 Ethernet Board in a practical application
This circuit features an ESP32 microcontroller interfaced with a W5500 Ethernet module for network connectivity, a DHT22 sensor for measuring temperature and humidity, a ZMPT101B module for AC voltage sensing, and an Adafruit SHTC3 sensor for additional temperature and humidity readings. The ESP32 also controls a 4-channel relay module for switching external devices. The sensors and Ethernet module communicate with the ESP32 via GPIO pins, with the W5500 using SPI and the SHTC3 using I2C. Common ground and power lines are shared among the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Environmental Monitoring and Home Automation System with Ethernet Connectivity
Image of ESP32 38Pin 3Phase Air Conditioner USB-C: A project utilizing ENC28J60 Ethernet Board in a practical application
This circuit is designed for environmental monitoring and home automation, featuring an ESP32 microcontroller connected to a W5500 Ethernet module, DHT22 and Adafruit SHTC3 sensors for temperature and humidity readings, a ZMPT101B module for voltage sensing, and a 4-channel relay for controlling external devices. Network connectivity enables remote data access and control functions.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with ENC28J60 Ethernet Board

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of youssef: A project utilizing ENC28J60 Ethernet Board in a practical application
STM32F4 and ENC28J60 Ethernet-Enabled Microcontroller Project
This circuit integrates an STM32F4 BlackPill microcontroller with an ENC28J60 Ethernet Board to enable Ethernet connectivity. The microcontroller communicates with the Ethernet board via SPI, with connections for power, ground, and SPI signals (SI, SO, SCK, and CS). The provided code is a basic template for further development.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32 38Pin 8 Channel Relay USB-C: A project utilizing ENC28J60 Ethernet Board in a practical application
ESP32 and W5500 Ethernet Module Controlled 8-Channel Relay
This circuit enables Ethernet connectivity and device control through an ESP32 microcontroller. It uses the W5500 Ethernet module for network communication and controls an 8-channel relay module for switching external devices or loads.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32 30Pin 3Phase AC Box W5500 Ethernet Standard: A project utilizing ENC28J60 Ethernet Board in a practical application
ESP32-Based Environmental Monitoring and Home Automation System with Ethernet Connectivity
This circuit features an ESP32 microcontroller interfaced with a W5500 Ethernet module for network connectivity, a DHT22 sensor for measuring temperature and humidity, a ZMPT101B module for AC voltage sensing, and an Adafruit SHTC3 sensor for additional temperature and humidity readings. The ESP32 also controls a 4-channel relay module for switching external devices. The sensors and Ethernet module communicate with the ESP32 via GPIO pins, with the W5500 using SPI and the SHTC3 using I2C. Common ground and power lines are shared among the components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of ESP32 38Pin 3Phase Air Conditioner USB-C: A project utilizing ENC28J60 Ethernet Board in a practical application
ESP32-Based Environmental Monitoring and Home Automation System with Ethernet Connectivity
This circuit is designed for environmental monitoring and home automation, featuring an ESP32 microcontroller connected to a W5500 Ethernet module, DHT22 and Adafruit SHTC3 sensors for temperature and humidity readings, a ZMPT101B module for voltage sensing, and a 4-channel relay for controlling external devices. Network connectivity enables remote data access and control functions.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Internet of Things (IoT) devices
  • Home automation systems
  • Simple web servers
  • Networked sensors and controllers
  • Remote monitoring and control

Technical Specifications

Key Technical Details

  • Voltage: 3.3V
  • Current: 150 mA (typical)
  • Temperature Range: -40°C to +85°C
  • Ethernet Controller: Microchip ENC28J60
  • Speed: 10 Mbps (Ethernet)
  • Interface: SPI (Serial Peripheral Interface)
  • Buffer Size: 8 KB

Pin Configuration and Descriptions

Pin Number Pin Name Description
1 VCC 3.3V Power Supply
2 GND Ground
3 CS Chip Select for SPI Interface
4 SI SPI Data Input
5 SO SPI Data Output
6 SCK SPI Clock Input
7 RESET Reset Pin (Active Low)
8 INT Interrupt Output (Active Low)

Usage Instructions

How to Use the Component in a Circuit

  1. Power Supply: Connect the VCC pin to a 3.3V source and the GND pin to ground.
  2. SPI Interface: Connect the CS, SI, SO, and SCK pins to the corresponding SPI pins on your microcontroller.
  3. Reset: Connect the RESET pin to a digital pin on your microcontroller for software reset capability.
  4. Interrupts (Optional): Connect the INT pin to an interrupt-capable pin on your microcontroller if you wish to use interrupt-driven communication.

Important Considerations and Best Practices

  • Ensure that the power supply is 3.3V, as higher voltages can damage the board.
  • Use a level shifter if interfacing with a 5V microcontroller like the Arduino UNO.
  • Keep the SPI clock speed within the limits specified by the ENC28J60 datasheet.
  • Use a proper decoupling capacitor close to the VCC and GND pins to minimize noise.
  • For long cable runs, ensure that the Ethernet cable is of good quality and properly shielded.

Example Code for Arduino UNO

#include <SPI.h>
#include <Ethernet.h>

// MAC address for the Ethernet shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// Initialize the Ethernet client library
EthernetClient client;

void setup() {
  // Start the Ethernet connection
  Ethernet.begin(mac);
}

void loop() {
  // Your code here to handle Ethernet communication
}

Code Comments

  • The Ethernet.h library is used to handle Ethernet communication.
  • The mac array holds the MAC address for the Ethernet board.
  • The EthernetClient object is used to create clients that can connect to a specified internet IP address and port.
  • Ethernet.begin(mac) initializes the Ethernet shield with the provided MAC address.

Troubleshooting and FAQs

Common Issues

  • No Network Connection: Ensure that the Ethernet cable is properly connected and that the router or switch is functioning.
  • SPI Communication Failure: Check the wiring of the SPI pins and ensure that the correct pins are used for the microcontroller.
  • Board Not Resetting: Verify that the RESET pin is correctly wired and that the microcontroller is configured to control it.

Solutions and Tips for Troubleshooting

  • Use the Ethernet.h library's diagnostic functions to check for connectivity and obtain IP address information.
  • Ensure that the ENC28J60 module is not exposed to temperatures outside its operating range.
  • If using with a 5V microcontroller, confirm that a level shifter is in place to protect the 3.3V logic of the ENC28J60.

FAQs

Q: Can the ENC28J60 Ethernet Board be used with a 5V microcontroller? A: Yes, but a level shifter is required to convert the 5V signals to 3.3V to avoid damaging the ENC28J60.

Q: Does the ENC28J60 support Power over Ethernet (PoE)? A: No, the ENC28J60 does not natively support PoE. External circuitry would be required to implement PoE functionality.

Q: Can I use multiple ENC28J60 boards with one microcontroller? A: Yes, you can use multiple boards with a microcontroller by using separate Chip Select (CS) lines for each ENC28J60 board.

Q: How do I assign an IP address to the ENC28J60 Ethernet Board? A: The IP address can be assigned programmatically using the Ethernet.begin() function in your code. It can also be set to obtain an IP address automatically via DHCP.

This documentation provides a comprehensive guide to integrating the ENC28J60 Ethernet Board into your projects. For further information, consult the ENC28J60 datasheet and the Ethernet library documentation for your specific platform.