top of page

Ethernet on the PicoCNC

A recent update to the PicoCNC added a header to plug in a WizNet Ethernet adaptor. So, today I will take you through the process of getting it up and running.


Ethernet is a great way to communicate between a PC and a CNC controller. Some say it is the "gold standard". It is highly EMI resistant and, the TCP/IP protocol has built in error checking with resend. Delivery of the data is guarenteed. Though, because of resend, timing is not. But for grblHAL, timing is not critical at all.


This blog post assumes that you have a working PicoCNC with grblHAL installed. If you do not, please refer to the User Manual's Firmware and Running grblHAL sections.


What you will need

  • A PicoCNC board, V1.53eth or later, with a Pico Microcontroller and Wiz850io sockets installed (see below).

  • A USB micro to USB A cable.

  • A networked PC.

  • An Ethernet switch or router with an available connection.

  • Wiz850io ethernet module.

  • An Ethernet Cable. Any Ethernet cable will do. You do not need a crossover cable.


To connect the PicoCNC directly to a PC via Ethernet, read Ethenet without routers.


A kit is available for purchase with the PicoCNC. If you have V1.53eth or later and wish to get a kit, contact me directly.



While I do have a kit available, the module is readily found in places like eBay, AliExpress and Amazon.

Note: some the Wiz850io modules have remanants of the PCB paneling rails still attached. Fortunately they are V-Scored and you can use pliers to grab the rail and snap it off.


Set up your Hardware


You will need to solder two 6 pin sockets onto the PicoCNC board. The best way to do this is to push the sockets onto the pin headers of the Wiz850io. Insert this assembly into the holes on the PicoCNC PCB, flip it over and solder the sockets in place. This ensures that Wiz850io will fit in the sockets correctly if you remove it later.



With your Wiz850io mounted on the PicoCNC board, make sure that the RJ45 Ethernet Jack is pointing towards the "Front" label on the PicoCNC board.



Connect the USB cable between your PC and the PicoCNC board. Connect the Ethernet cable between between the Wiz850io module and the Ethernet switch or router.


Build grblHAL with Ethernet


You will need to build new grblHAL firmware with Ethernet enabled. Go to the networking tab in the grblHAL Web Builder and select Wiz550io (yes, this will work with the Wiz850io module). Also, check Telnet, Websocket and FTP server options. Be sure to select all the other options you need and use Save Board to save your selections in case you need to make any changes later. Then Generate and Download Firmware.



Note, you will need a recent build of the grblHAL to properly support the Win850io adaptor so don't skip this step.


Install the firmware


Once you have a firmware file (.uf2 extension), connect a USB cable from your computer to the Pico installed on your PicoCNC board. Then:

  1. Press and hold the Pico reset button* on the PicoCNC board.

  2. Press and hold the Bootsel button on the Pico board.

  3. Release the Pico reset button on the PicoCNC board.

  4. Release the Bootsel button on the Pico board.


On Windows

The first time you do this, a USB configuration notification will come up. For options, select “Open File Explorer Window”. After that, all subsequent Reset/Bootsel operations will cause a file explorer window to open. Drag and drop your firmware file onto the window. You will see a progress indicator as the firmware file is uploaded to the Pico. When done, you can start your GCode sender application and connect to the com port associated with the Pico. Use the Device Manager to determine which one it is if you are having difficulty finding it.


On Mac OS

A drive called RPI-RP2 will appear on your desktop. Double click on RPI-RP2 and a finder window will open. Drag and drop the firmware document onto the window. When done, you can start your GCode sender and connect to the Pico.


Note: On the PicoCNC, pressing the Pico Reset button may cause the spindle to run while pressed. You may want to disable the spindle during this process.


You should see the LEDs on the Wiz850io's Ethernet Jack blinking. That means grblHAL networking is active.


Configure Networking


Once you are able to connect to the PicoCNC board via USB, configure Ethernet via the following steps:

  1. In ioSender, open the Settings: Grbl panel.

  2. In Networking, click on the Network Services entry ($70). Make sure that Telnet, Winsocket and FTP boxes are checked ($70=7).

  3. If using Ethernet via a router or Ethernet switch, make sure that IP Mode ($301) is set to dynamic ($301=1). (If using a direct PC to PicoCNC connection, see Ethernet without Routers. https://www.grbl.org/singlepost/ethernet-without-routers-for-grblhal)

  4. Press the Save button, press and release the Pico Reset button on the PicoCNC board.

  5. Close and Restart ioSender. Click on the Console panel. Look for the following line:

Where x is a digit. If IP is 0.0.0.0, then you are not connected.

Write down the IP address numbers, you will use them shortly.


To set up communication via Ethernet (rather than the current USB connection), we are going to force ioSender to ask for the connection type.

  1. Close ioSender

  2. Press and hold the Pico Reset button on the PicoCNC board (alternatively, disconnect the USB cable from the Pico).

  3. Restart ioSender. It will put up a dialog asking you to configure the connection.

  4. Release the Pico Reset button. (alternatively, plug the USB cable back into the Pico)

  5. Click on the Network tab of the connection dialog.

  6. Enter the IP address numbers you wrote down in place of 192.168.5.1. Click on Ok and you should be rewarded with ioSender running and connected via Ethernet to the PicoCNC.


To verify you are connected via Ethernet, open the console panel and look for a line that reads [NETCON:Telnet]. Your PicoCNC is now networked and ready to go. You can remove the USB cable if you wish though you will need to use USB if you later wish to update the firmware.


Note: Holding the Pico Reset button down may cause the spindle to turn on. You may want to disable the spindle during this process.


GCode Senders that support Networked grblHAL


There are a number of GCode senders that support networked grblHAL. ioSender is one. Lightburn and LaserGrbl do as well. It also is possilbe to install a driver on your PC that creates a virual COM port to allow any GCoder Sender to communicate with grblHAL but that is beyond the scope of this document.



About Me.

I'm Phil Barrett, a long time CNC enthusiast. I run a small company, Brookwood Design, that makes several breakout boards for grblHAL and love to help people get the most out of their CNC machines.



Featured Posts
Recent Posts
Search By Tags
No tags yet.
Follow Us
  • Facebook Classic
  • Twitter Classic
  • Google Classic
bottom of page