Ethernet shield connected to Arduino with UART

Hello, I need some Ethernet shield which communicates with Arduino through UART, not SPI. Currently I'm running GRBL firmware (GitHub - gnea/grbl: An open source, embedded, high performance g-code-parser and CNC milling controller written in optimized C that will run on a straight Arduino) and there's CNC shield which controls stepper motors. When I connect Arduino through USB, it appears as a COM port and I can open that port and send text commands to rotate the motors. However, I need to control it over Ethernet, but without modifying the GRBL firmware, so I'm looking for some shield or other module that will be connected with TX and RX pins, sending/receiving commands through UART, like the onboard USB chip does now. Which shield would you recommend?

I suspect that attempting to add additional functionality to the Arduino will add jitter to the digital outputs thus making high speed operation of the CNC unreliable.

You are more likely to have success using a separate ethernet to serial converter box.
Commercial units are available ($60+) or you could make your own using another Arduino with a Wiznet ethernet shield. When looking for a commercial converter make sure the output has TTL instead of RS232 voltage levels, otherwise you'll need to buy an additional converter.

1 Like

Now I'm using these small stepper motor drivers which are put into sockets in the CNC shield. But ultimately there will be motor drivers as external boxes, with built-in optoisolators, also encoders for feedback will be connected to them, so they will be more reliable. Communication between Arduino and these drivers is the same - PUL, ENA, DIR.

Your best bet is to have your ethernet shield on another UNO board and have that board communicate to your CNC board over the TX/RX pins. The CNC shield undoubtedly hasn't left any resources left for you to be able to add another shield or anything else for that matter...

in the past I have used Lantronix XPORT serial to Ethernet devices to add Ethernet facilities to a microcontroller PCB
it is probably a lot cheaper to do as @essejcds recommends and have a second UNO with an Ethernet shield and communicate UNO to UNO over serial - communication thruput will then be limited by the serial comminication speed, e.g. SoftwareSerial at 38400baud
an alternative faster but more complex UNO to UNO communications would be I2C

I found Waveshare UART to ethernet converter: https://www.waveshare.com/wiki/2-CH_UART_TO_ETH. As I understand, it's connected to Arduino only to power and TXRX pins, so from main ATmega's point of view it's like it was communicating through USB controller. Only for Waveshare configuration (IP, baud rate etc.) I need to use other firmware (source provided by them) and connect also CONF and RST1 pins, then it remembers the settings and I can use my CNC firmware again. What do you think about it?

1 Like

looks promising - similar idea to the Lantronix XPORT but a lot cheaper

The UNO has a hardware serial interface. As you communicate to it by Ethernet it isn't used otherwise and debugging is quite easy.

also worth looking at WT32-ETH01 Embedded Ethernet Serial Port WiFi Module

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.