The connection of ESP32 & DM9051A EVBvia SPI interface and references of project sources on GitHub
Index1. Hardware setup
2. Interconnectivity
3. ESP-IDF
4. References of project sources on GitHub
*Introduce:
The Davicom DM9051A is an SPI-based 10/100M Ethernet controller that can be used with ESP32 microcontrollers. The DM9051A is an official Ethernet solution supported by Espressif ESP32 Wi-Fi. You can directly select DM9051A in the ESP-IDF Ethernet menu. Ethernet configuration can be set up in ESP-IDF without additional LAN code integration.
When working with DM9051A and ESP32, you will typically need to configure the SPI interface, including pins such as CS, MISO, MOSI, CLK, interrupt pin and reset pin, depending on your hardware setup. The practical configuration details will vary with your hardware setup whether you are using ESP-IDF, Arduino, or others.
1.Hardware setupESP32 -C3 board
DM9051A EVB
SPI mode here is FSPI.
2.)Pin definition of DM9051A EVB.
It serves to show communication ports (Two rows of pins) on ESP32 -C3 module, which facilitate the interaction with DM9051A EVB.
3.ESP-IDF
1.)In the drop-down menu of ESP-IDF, we take a choice of“Example Ethernet Configuration”.
We might find “Example Ethernet Configuration”under the option list of “Compiler options” in other versions of ESP-IDF.
Please search key words such as “DM9051” or “Ethernet” or “SPI”in the way of “「/」Jump to symbol” as yellow frame shown if we are unable to find “Example Ethernet Configuration”.
2.) We choose “DM9051 Module”in the option list of“SPI Ethernet”.
3.) The red circle specifies GPIO configuration of ESP32 -C3 board, we can modify them depending on what kind of ESP32 module we have.
*Hardware documents of ESP32-C3, please refer to below link:
https://wiki.luatos.org/chips/esp32c3/board.html
*Programming guide of ESP-IDF for using SPI-Ethernet of DM9051A, please refer to below link:
https://docs.espressif.com/projects/esp-idf/en/v5.5.1/esp32/api-reference/network/esp_eth.html
4. References of project sources on GitHubYou can find numerous ESP32-related projects and examples on GitHub that demonstrate how to connect the DM9051A with ESP32 by the use of different configurations. Support for the DM9051A has been integrated into various ESP32-related projects and frameworks on GitHub.
Here are some key GitHub resources related to ESP32 and DM9051A for your reference:
1.) Espressif ESP-IDF:
The official ESP-IDF from Espressif includes the support for the DM9051A. You can find examples and discussions related to the DM9051A within the ESP-IDF repository.
a.DM9051A driver code of ESP-IDF V5.5
https://github.com/espressif/esp-idf/tree/release/v5.4/components/esp_eth/src/spi/dm9051
b.DM9051A driver code of ESP-ETH-drivers of ESP-IDF V6.0
https://github.com/espressif/esp-eth-drivers/tree/master/dm9051
https://components.espressif.com/components/espressif/dm9051/versions/1.0.0/dependencies?language=en
2.) Arduino ESP32 Core:
The Arduino core for ESP32 also includes support for the DM9051A, allowing you to use it with the popular Arduino IDE and libraries. This makes it easier to integrate Ethernet communication of the DM9051A into your Arduino-based ESP32 projects.
3.) ESPresense:
ESPresense is for the smart home automation, an open-resource indoor positioning system that uses EPS32 development boards. ESP32-related projects here have discussed and implemented support for the DM9051A, particularly in connection with a board like the ETH01-EVO ESP32-C3.
https://github.com/AI6YP/eth01-evo?tab=readme-ov-file
4.) Squeezelite-ESP32
Squeezelite is an open-source audio software suite that turns ESP32 boards into multi-rooms audio players. Those ESP32-related projects allow ESP32+DM9051A boards become Squeezebox clients, being capable of on-line streaming music via the DM9051A Ethernet from various musical services and local files.
5.) ESPhome
ESPhome is an open-source framework and configurable system that turn ESP32+DM9051A board into a smart home device.
https://esphome.io/components/ethernet/
Comments