#include #include #include #include #include // Get the device's bootloader info so that we can get the MAC address // https://docs.arduino.cc/tutorials/opta/mac-address uint8_t *bootloader_data = (uint8_t *)(0x801F000); uint8_t *bootloader_identification = (uint8_t *)(0x80002F0); OptaBoardInfo *info; OptaBoardInfo *boardInfo(); char mac_address_array[18]; void setup() { Serial.begin(115200); info = boardInfo(); snprintf(mac_address_array, sizeof(mac_address_array), "%02x:%02x:%02x:%02x:%02x:%02x", info->mac_address[0], info->mac_address[1], info->mac_address[2], info->mac_address[3], info->mac_address[4], info->mac_address[5]); Serial.print("ETH: MAC address: "); Serial.println(mac_address_array); Serial.println("ETH: Initializing with DHCP"); Ethernet.begin(info->mac_address); Serial.print("ETH: Local IP: "); Serial.println(Ethernet.localIP()); Serial.print("ETH: DNS Server: "); Serial.println(Ethernet.dnsServerIP()); } void loop() { // Loop }