picoCNC:

an RP2040 Based Breakout Board for grblHAL

A few months ago, the Raspberry Pi Foundation announced the RasPi Pico board and ARM RP20240 chip that powers it. The Pico sells for $4 and is bit more powerful than the STM32F104 in the (in)famous Blue Pill makers love. But, in a package that will be consistent, unlike all the variants of the Blue Pill.

The RP2040 is a dual processor ARM Cortex M0 chip. One of the powerful features is its programmable I/O - PIO.  Without going into the details, PIO is like having a number of tiny embedded computers that can take all work out of I/O operations and leave the main CPUs for real time response.

The grblHAL team is working an RP2040 port as we speak and I have been working on breakout board to use it.  Here is the current feature set.

  • 4 Axis

  • Isolated 12V limit and control switches

  • Spindle PWM, Direction, Enable, 0-10V (non-isolated) outputs.

  • Relay drivers for Spindle, Dust Extractor, Flood, Mist and 3 Auxiliary Relays.

  • 5V and 12V relay voltage options.

  • 8 Auxiliary outputs (3 with aforementioned relay drivers, 5 TTL/SSR capable)

  • Dust Extractor Relay ganged with Spindle Relay.

  • Switch pin header for independent Dust Extractor control.

  • UART header with 3.3V/5V voltage select and extra enable pin

  • I2C header (3.3V only).

  • SPI header (3.3V only), set up for an SDCard.

  • Daughter board header mounts for UART, I2C and SPI. 

  • Pluggable Screw Terminals - horizontal and vertical supported. I may make a design using smaller/cheaper terminals or pin headers.

  • Power inputs for 12V and isolated 12V for limits and control inputs.

  • LED indicators for both power inputs.

  • 5V regulator on board.

  • 5V sharing between USB and onboard +5V (both may be connected at same time).

  • Both 12V circuits may be joined together via jumpers.

  • Reset switch.

layout.png

To learn more about this grblHAL port, visit the grblHAL RP2040 github page.