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.
To learn more about this grblHAL port, visit the grblHAL RP2040 github page.