L’uso della board è semplicissimo, hai a disposizione gli esempi nel repository GitHub del progetto, pronti per essere eseguiti con

Per informazioni su come clonare un progetto da GitHub puoi leggere l’articolo del nostro blog dove ne parliamo in maniera approfondita. Ovviamente puoi sempre scaricare i files in maniera tradizionale.

Per Arduino IDE e Platform.IO i due progetti di esempio sono praticamente identici, evidenziamo qui di seguito le due parti essenziali per inizializzare la scheda ethernet:

// Inclusione della libreria
#include <ETH.h>

// Definizione dei PIN utilizzati da LAN8720, NON MODIFICARE
#define ETH_CLOCK_IN_PIN 0
#define ETH_MDIO_PIN 18
#define ETH_TXD0_PIN 19
#define ETH_TXEN_PIN 21
#define ETH_TXD1_PIN 22
#define ETH_MDC_PIN 23
#define ETH_RXD0_PIN 25
#define ETH_RXD1_PIN 26
#define ETH_MODE2_PIN 27
// NB: nelle versioni < 1.3 il power pin è il 12
#define ETH_POWER_PIN 17
// #define ETH_POWER_PIN 12

#define ETH_ADDR 1
#define ETH_TYPE ETH_PHY_LAN8720
#define ETH_CLK_MODE ETH_CLOCK_GPIO0_IN

// setup
void setup() {
  pinMode(ETH_POWER_PIN, OUTPUT);
  delay(99);
  ETH.begin(ETH_ADDR, ETH_POWER_PIN, ETH_MDC_PIN, ETH_MDIO_PIN, ETH_TYPE, ETH_CLK_MODE);
}

Per ESPHome ed Home Assistant è ancora più semplice. Nel progetto GitHub Trovi un esempio completo per configurare uno switch ed un sensore di temperatura DHT22. Qui di seguito trovi la configurazione minima da aggiungere al file yaml per inizializzare la scheda:

ethernet:
  type: LAN8720
  mdc_pin: GPIO23
  mdio_pin: GPIO18
  # NB: nelle versioni < 1.3 il power pin è il 12
  power_pin: GPIO17
  #power_pin: GPIO12
  clk_mode: GPIO0_IN
  phy_addr: 1


NB: nelle versioni precedenti alla 1.3 il power pin è il GPIO12 e NON il GPIO17


Web installer

Puoi anche provare il web installer per assicurarti che non ci sono problemi hardware: il firmware che viene installato riceve un indirizzo IP (lo vedi dalla console) che puoi pingare dal tuo pc.