LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)

More
18 Jul 2026 12:52 #347823 by meister
Another small milestone:

There is now a PRV32 (PicorV32/RISC-V) plugin that allows one or more soft cores to run in the FPGA.
A few tweaks still need to be made, but it’s already good enough for tinkering :)

* Up to 16 GPIOs
* Multiple 32-bit variables for data exchange with LinuxCNC
* Serial support
* GCC support
* tested on TangNano9k, ICE40up5k, ICE40hx8K

TODO:
* Add I2C and SPI master support
* Add PWM support
* 1-bit variables for LinuxCNC
* Adding support for use as an interface plugin
* Testing and optimize for more platforms

At the moment, I don’t have a practical application for it yet, but one will come along. (Anything that’s too cumbersome in Verilog, or for those who know C)

Furthermore, there’s also a SERV (World’s Smallest RISC-V) plugin,
which is considerably more resource-efficient but currently only offers assembler support and 3 output pins.
The following user(s) said Thank You: viewsat, besriworld, NWE

Please Log in or Create an account to join the conversation.

More
27 Jul 2026 06:11 #348087 by meister




the embedded ARM core of the TangNano4K is also supported now :)

Please Log in or Create an account to join the conversation.

More
30 Jul 2026 13:16 #348212 by viewsat
I'm using a Tang Nano 9k FPGA. How do I configure it to output a PWM signal to the spindle?

Please Log in or Create an account to join the conversation.

More
30 Jul 2026 14:01 #348213 by meister
there is an example:

./bin/rio-flow riocore/configs/TangNano9K/config.json
The following user(s) said Thank You: viewsat

Please Log in or Create an account to join the conversation.

More
30 Jul 2026 21:29 #348239 by babinda01
Hi Guys. I have used RIOcore on a Tang Nano 9k (TangBOB board) a couple of times. I am now wanting to try out Ethercat. I was wondering what my options are for doing this. I want to use a RP5 with the Tang connected via an SPI connection to the GPIO pins on the RP5. My first question is where do I connect my Ethercat Drives? from the RP5 or from the Wiznet module connected to the Tang. I would dearly love it if all my configurations for Ethercat can be done within RIOcore.

Cheers
Andrew

Please Log in or Create an account to join the conversation.

More
31 Jul 2026 01:02 #348255 by viewsat
I use ./bin/rio-flow riocore/configs/TangNano9K/config.json
The automatically generated ini and HAL files cannot output a 1kHz PWM spindle signal. Do I need to edit the HAL and ini files myself to output the spindle PWM signal?

Please Log in or Create an account to join the conversation.

More
31 Jul 2026 04:37 #348260 by meister

Hi Guys. I have used RIOcore on a Tang Nano 9k (TangBOB board) a couple of times. I am now wanting to try out Ethercat. I was wondering what my options are for doing this. I want to use a RP5 with the Tang connected via an SPI connection to the GPIO pins on the RP5. My first question is where do I connect my Ethercat Drives? from the RP5 or from the Wiznet module connected to the Tang. I would dearly love it if all my configurations for Ethercat can be done within RIOcore.

Cheers
Andrew
 


Hi Andrew,
EtherCAT must be connected directly to the RPi5. Rio runs independently of it; it can only adopt part of the configuration (and even then, only to a limited extent).

 

Please Log in or Create an account to join the conversation.

More
31 Jul 2026 04:49 #348262 by meister

I use ./bin/rio-flow riocore/configs/TangNano9K/config.json
The automatically generated ini and HAL files cannot output a 1kHz PWM spindle signal. Do I need to edit the HAL and ini files myself to output the spindle PWM signal?
 

What does your setup look like?
Which interface are you using, and where do you want the PWM output to be?

To use the spindle in LinuxCNC, you still need to configure it in the “Signals” tab.

  dty/net = spindle.0.speed-out
  enable/net = spindle.0.on



@all WARNING: Serial/USB does work, but it's really just for testing;
I wouldn't use it in a production environment.
Attachments:
The following user(s) said Thank You: viewsat

Please Log in or Create an account to join the conversation.

More
31 Jul 2026 12:23 - 31 Jul 2026 16:00 #348282 by viewsat
My settings are as follows, JSON file attached.
 
 
Attachments:
Last edit: 31 Jul 2026 16:00 by viewsat.

Please Log in or Create an account to join the conversation.

More
31 Jul 2026 12:24 #348283 by meister
i only see the screenshot :)

Please Log in or Create an account to join the conversation.

Time to create page: 0.348 seconds
Powered by Kunena Forum