ENC28J60 SPI Ethernet Module — 10- and 12-Pin Versions

Ce produit est actuellement en rupture et indisponible.

UGS : 0190 Catégories : ,

Description

ENC28J60 SPI Ethernet Module — 10- and 12-Pin Versions

Add wired Ethernet to Arduino, ESP32, STM32, PIC, AVR and other microcontroller projects with this ENC28J60 module. The board provides an RJ45 connector and connects to the host controller over SPI. It can be used for local-network prototypes such as a small web server or sending sensor readings, subject to the selected controller and software.

Choose the listed 10-pin or 12-pin version. Connector layout, power circuitry and labels can vary between board revisions even when they use the same ENC28J60 controller; follow the markings on the exact board supplied.

🔄 Available versions

Feature 10-pin version 12-pin version
Main connector Single row of 10 pins 2 × 6-pin connector
Host communication SPI SPI
Core signals CS, SCK, SI, SO CS, SCK, SI, SO
Auxiliary signals RESET, INT, WOL, CLKOUT RESET, INT, WOL, CLKOUT
Power input VCC as marked on the board Some versions expose separate 5 V and 3.3 V inputs

The Ethernet function is the same in both variants, but the board pinout and regulator arrangement may differ. Check the received module before wiring.

⭐ Features

  • Wired RJ45 Ethernet connection
  • Two listed board formats: 10 or 12 pins
  • SPI connection to the microcontroller
  • ENC28J60 Ethernet controller
  • Link/activity indicators on some board versions
  • Arduino libraries are available for compatible ENC28J60 modules
  • Useful for low-cost wired-network and IoT prototypes

🔧 Controller specifications

  • Controller: Microchip ENC28J60
  • Network: IEEE 802.3-compatible 10BASE-T Ethernet
  • Maximum Ethernet data rate: 10 Mbit/s (not Gigabit Ethernet)
  • Host interface: SPI
  • On-chip packet buffer RAM: 8 KB
  • RJ45 connection; transformer/magnetics are integrated on the listed module
  • Controller oscillator: 25 MHz
  • ENC28J60 logic supply: 3.3 V
  • TCP/IP protocol stack: provided by the host microcontroller’s library/software
  • Module headers: 10 or 12 pins, depending on the selected variant

Logic-level note: the ENC28J60 IC’s CS, SCK, SI and RESET inputs are 5 V tolerant, but its SO and interrupt outputs are 3.3 V. A 5 V host may require level translation on signals returning to the host. This describes the IC; it does not confirm the voltage tolerance of every breakout-board pin.

📌 Common pin functions

Board label Function
VCC / 3V3 3.3 V supply, where marked
5V 5 V input only on boards whose regulator and label support it
GND Ground
CS / SS SPI chip select
SCK SPI clock
SI / MOSI Data from host to module
SO / MISO Data from module to host
RESET / RST Active-low reset
INT Interrupt output
WOL Wake-on-LAN signal
CLKOUT Programmable clock output

On a 12-pin version, never connect the 5 V and 3.3 V supply inputs at the same time. Use only the supply input supported by the board’s markings and circuit.

🔌 Example wiring: Arduino Uno/Nano

ENC28J60 module Arduino Uno/Nano
CS D10
SI / MOSI D11
SO / MISO D12
SCK D13
GND GND
RESET RESET or an optional digital pin
INT Not required for the example
WOL, CLKOUT Leave unconnected for the example

For power, use 5 V only if the board has a regulator and is explicitly marked for a 5 V input. A board marked only 3V3 needs a suitable stable 3.3 V supply. If marked VCC, verify its required voltage first. The Uno’s 3.3 V output may not supply enough current for some ENC28J60 boards; a stable external supply may be needed. Connect the grounds together.

💻 Arduino example — Mini web server

Install the EthernetENC library from the Arduino IDE Library Manager. The original French listing’s code example is kept unchanged below.

#include <SPI.h>
#include <EthernetENC.h>

byte mac[] = {
  0x02, 0x12, 0x34, 0x56, 0x78, 0x90
};

IPAddress ip(192, 168, 1, 177);
EthernetServer server(80);

void setup() {
  Serial.begin(9600);

  // Broche CS utilisée avec Arduino Uno/Nano
  Ethernet.init(10);

  Ethernet.begin(mac, ip);
  server.begin();

  Serial.print("Adresse IP : ");
  Serial.println(Ethernet.localIP());
}

void loop() {
  EthernetClient client = server.available();

  if (client) {
    bool ligneVide = true;

    while (client.connected()) {
      if (client.available()) {
        char caractere = client.read();

        if (caractere == '\n' && ligneVide) {
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");
          client.println();

          client.println("<!DOCTYPE html>");
          client.println("<html>");
          client.println("<head><meta charset='UTF-8'></head>");
          client.println("<body>");
          client.println("<h1>Micro-Planet</h1>");
          client.println("<p>ENC28J60 connecte avec succes.</p>");
          client.println("</body></html>");
          break;
        }

        if (caractere == '\n') {
          ligneVide = true;
        } else if (caractere != '\r') {
          ligneVide = false;
        }
      }
    }

    delay(1);
    client.stop();
  }
}

After uploading, connect the module to your router with an Ethernet cable, then open 192.168.1.177 in a browser on the same network. Change the IP address if your router uses a different subnet, for example 192.168.0.x.

🏠 Example projects

  • Local web-server prototypes
  • Sending sensor readings over a wired LAN
  • Network control of relays or other low-voltage prototypes
  • Data acquisition and logging
  • Learning Ethernet and SPI with microcontrollers
  • Custom wired-network gateways, with suitable software integration

⚠️ Wiring and use precautions

  • Check the voltage marking on the PCB before powering the module.
  • Never apply 5 V to a pin marked only 3.3 V.
  • Do not power 5 V and 3.3 V inputs simultaneously.
  • Use a stable supply and a shared ground.
  • Follow the pin labels, not just the physical pin position.
  • This controller supports 10 Mbit/s Ethernet, not Gigabit Ethernet.
  • The module is not a PoE device; do not power it through the Ethernet cable.
  • Keep SPI jumper wires reasonably short.
  • Use a library that explicitly supports ENC28J60; libraries for W5100/W5500 are not interchangeable.
  • For real security or safety functions, use a reviewed design; this module is a development component, not a certified security device.

Informations complémentaires

Version

10-pin, 12-pin

Merci pour votre fidélité !