All Projects → nopnop2002 → Arduino-STM32-Ethernet-LAN8720

nopnop2002 / Arduino-STM32-Ethernet-LAN8720

Licence: MIT license
Ethernet on STM32 using external PHY

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Arduino-STM32-Ethernet-LAN8720

MySQL MariaDB Generic
This MySQL_MariaDB_Generic library helps you connect your boards directly to a MySQL / MariaDB server, either local or cloud-based, so that you can store / retrieve data to / from the server. Supported boards are ESP8266/ESP32, WT32_ETH01 (ESP32 + LAN8720A), nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, SAM DUE, Mega, RP2040-based boards, P…
Stars: ✭ 35 (+84.21%)
Mutual labels:  stm32, ethernet, lan8720
MDNS Generic
mDNS Library for nRF52, SAMD21, SAMD51, SAM DUE, STM32F/L/H/G/WB/MP1, AVR Mega, RP2040-based boards, etc. using Ethernet W5x00. Supports mDNS (Registering Services) and DNS-SD (Service Discovery). Ethernet_Generic library is used as default for W5x00
Stars: ✭ 22 (+15.79%)
Mutual labels:  stm32, ethernet
SinricPro Generic
Simple way to control your IOT development boards like ESP8226, ESP32, Arduino SAMD21, Adafruit SAMD21, SAMD51, nRF52, STM32, Teensy, SAM DUE with Amazon Alexa or Google Home
Stars: ✭ 18 (-5.26%)
Mutual labels:  stm32, ethernet
UPnP Generic
A simple library that implements port mappings to router using UPnP SSDP for Arduino boards, running on nRF52, SAMD21/SAMD51, STM32F/L/H/G/WB/MP1, Teensy, RP2040-based boards, WT32_ETH01, Portenta_H7, etc. besides ESP8266/ESP32, using ESP WiFi, WiFiNINA, Ethernet W5x00, ESP8266/ESP32 AT-command WiFi, Portenta_H7 Murata WiFi or Vision-shield Ethe…
Stars: ✭ 14 (-26.32%)
Mutual labels:  stm32, ethernet
Cnp3
Computer Networking : Principles, Protocols and Practice (first and second edition, third edition is being written on https://github.com/cnp3/ebook)
Stars: ✭ 471 (+2378.95%)
Mutual labels:  udp, ethernet
Grbl Advanced
Grbl-Advanced is a no-compromise, high performance, low cost alternative for CNC milling. This version of Grbl runs on a STM32F411RE / STM32F446RE Nucleo Board. Now with backlash compensation, multi-axis and Tool Table support!
Stars: ✭ 182 (+857.89%)
Mutual labels:  stm32, ethernet
Mirage Tcpip
TCP/IP networking stack in pure OCaml, using the Mirage platform libraries. Includes IPv4/6, ICMP, and UDP/TCP support.
Stars: ✭ 277 (+1357.89%)
Mutual labels:  udp, ethernet
Pypacker
📦 The fastest and simplest packet manipulation lib for Python
Stars: ✭ 216 (+1036.84%)
Mutual labels:  udp, ethernet
oberon-07-compiler
Oberon-07 compiler for x64 (Windows, Linux), x86 (Windows, Linux, KolibriOS), MSP430x{1,2}xx, STM32 Cortex-M3
Stars: ✭ 45 (+136.84%)
Mutual labels:  stm32
AMP-Research
Research on UDP/TCP amplification vectors, payloads and mitigations against their use in DDoS Attacks
Stars: ✭ 246 (+1194.74%)
Mutual labels:  udp
spp
A simple and powerful proxy
Stars: ✭ 575 (+2926.32%)
Mutual labels:  udp
GenuineChannels
Collection of custom .NET Remoting channels
Stars: ✭ 29 (+52.63%)
Mutual labels:  udp
STM32LowPower
Arduino Low Power library for STM32
Stars: ✭ 134 (+605.26%)
Mutual labels:  stm32
arm-hard-fault-handler
What to do when Hard fault hits? Debugger and error reporter solution for ARM Cortex M3 and M4.
Stars: ✭ 32 (+68.42%)
Mutual labels:  stm32
netstack
A batteries included networking crate for games.
Stars: ✭ 40 (+110.53%)
Mutual labels:  udp
EthernetWebServer SSL
Simple TLS/SSL Ethernet WebServer, HTTP Client and WebSocket Client library for for AVR, Portenta_H7, Teensy, SAM DUE, SAMD21, SAMD51, STM32F/L/H/G/WB/MP1, nRF52 and RASPBERRY_PI_PICO boards using Ethernet shields W5100, W5200, W5500, ENC28J60 or Teensy 4.1 NativeEthernet/QNEthernet. It now supports Ethernet TLS/SSL Client. The library supports …
Stars: ✭ 40 (+110.53%)
Mutual labels:  stm32
can-prog
Command-line tool to flashing devices by CAN-BUS
Stars: ✭ 66 (+247.37%)
Mutual labels:  stm32
theCore
theCore: C++ embedded framework
Stars: ✭ 76 (+300%)
Mutual labels:  stm32
sx
🖖 Fast, modern, easy-to-use network scanner
Stars: ✭ 1,267 (+6568.42%)
Mutual labels:  udp
Atrial-Fibrillation-Detection-Blood-Pressure-Monitor-Oscillometric-Method-
Atrial Fibrillation Detection Blood Pressure Monitor (Oscillometric Method)
Stars: ✭ 28 (+47.37%)
Mutual labels:  stm32

STM32Ethernet_LAN8720

STM provides an Ethernet library for Arduino_Core_STM32, but it supports only LAN8742A.
However, it is difficult to get LAN8742 PHY.
We can get the LAN8720 PHY cheaply instead of the LAN8742 PHY.
With a little change, You can use LAN8720 PHY with STM32F407.

Note
STM is currently rebuilding external PHY Ethernet support for Arduino_Core_STM32.
In the future, Ethernet support using external PHYs will change significantly and support may change.
This is an interim action until officially supported.
When STM become officially supports external PHY Ethernet, I will delete this repository.

Hardware requirements

  • STM32F407VET6/VGT6 Development Board. About $10 for aliexpress/eBay.
  • LAN8720 PHY module. About $2 for aliexpress/eBay.
  • STM32 NUCLEO Board. Because we need STLink V2.1 for farmware writting.

LAN8720-2

LAN8720-11

LAN8720-21

Software requirements

Library update

You have to update your local file.
File location is Documents\ArduinoData\packages\STM32\hardware\stm32{Version}\system\STM32F4xx.

stm32f4xx_hal_conf_default.h

/* Section 2: PHY configuration section */
#if !defined  (LAN8742A_PHY_ADDRESS)
/* LAN8742A PHY Address*/
#define LAN8742A_PHY_ADDRESS            0x00U
#endif

Wireing

LAN8720 PHY --- STM32F407
TX1 --- PB_13
TX_EN --- PB_11
TX0 --- PB_12
RX0 --- PC_4
RX1 --- PC_5
nINT/RETCLK --- PA_1
CRS --- PA_7
MDIO --- PA_2
MDC --- PC_1
GND --- GND
VCC --- +3.3V

How to flash

STM32 NUCLEO provides a on-board STLINK-V2-1 USB interface. Actually the board has two STM32 chips. One is the target of the demo board, and the other is the STLINK. This STLINK-V2-1 can be used as programmer and debugger for external targets. Remove the two jumpers from CN2, and place them at the two outermost empty jumper pins marked CN11 and CN12.

Connect the NUCLEO SWD port to the STM32F407.

NUCLEO SWD --- STM32F407
SWDIO --- PA_13
SWCLK --- PA_14
nRST --- RESET(*1)
GND --- GND
+3.3V --- +3.3V

(*1)If a non-standard BootLoader has already been written to STM32, connection of nRTS pin and RESET pin is required.

Choose Tool->Upload method "STM32CubeProgrammer(SWD)"

LAN8720-Arduino

Serial monitor

You need to use a USB-TTL converter to display the serial output.

USB-TTL --- STM32F407
TX --- PA_9
GND --- GND

Other examples

There is other examples provided by STM.
https://github.com/stm32duino/STM32Ethernet/tree/main/examples

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].