- Hardware & Machines
- Computers and Hardware
- LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
- bladekel
- Offline
- Senior Member
-
Less
More
- Posts: 68
- Thank you received: 3
25 Mar 2026 07:01 #344698
by bladekel
Its working now...
Replied by bladekel on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Thats the trick, thank you.
I tried it as you said but nothing changed.
Again receving "USRMOT: ERROR: command timeout" errors and couldnt control the LEDs.
"rpi5": "true",
->
"rpi5": true,
Its working now...
The following user(s) said Thank You: meister
Please Log in or Create an account to join the conversation.
- meister
- Offline
- Platinum Member
-
Less
More
- Posts: 730
- Thank you received: 445
07 Apr 2026 07:39 #345255
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
soooooo, dev is merged to main, no way back 
there are some big changes:
### Warning
* breaking changes, please open your config in rio-flow to fix/convert some stuff
### Gui
* new graphical config-gui: rio-flow
* removing old rio-setup
### Genaral
* move all stuff into plugins (boards/modules/breakouts)
* replacing modbus -> mbus/mbus_device/mbus_hy
* replacing i2cbus -> i2c/i2c_device
* better simulation
* test-tool is now based on the hal-component c-code
there are some big changes:
### Warning
* breaking changes, please open your config in rio-flow to fix/convert some stuff
### Gui
* new graphical config-gui: rio-flow
* removing old rio-setup
### Genaral
* move all stuff into plugins (boards/modules/breakouts)
* replacing modbus -> mbus/mbus_device/mbus_hy
* replacing i2cbus -> i2c/i2c_device
* better simulation
* test-tool is now based on the hal-component c-code
The following user(s) said Thank You: Dave3891
Please Log in or Create an account to join the conversation.
- bladekel
- Offline
- Senior Member
-
Less
More
- Posts: 68
- Thank you received: 3
16 Apr 2026 06:24 #345586
by bladekel
Replied by bladekel on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I am using a Raspberry Pi 5 with the LinuxCNC Debian Bookworm image.
I have configured the system to communicate over SPI.
I can move all axes, but when I run a G-code file, I experience a drift in all axes.
To troubleshoot the issue, I wrote a simple G-code program that only moves the X-axis: it moves 10 cm in the positive direction and then 10 cm in the negative direction.
I set this program to run continuously in a loop. In every cycle, a small shift occurs in the positive direction.
After 20 repetitions, I observed that this drift reached approximately 5 mm.
The start and end points of the program shift slightly in the positive direction with each iteration.
I have also tested it at very low speeds, but the result remains the same.
I am certain there is no mechanical backlash or electrical interference/noise.
I am attaching my configuration files. What do you think could be causing this?
I have configured the system to communicate over SPI.
I can move all axes, but when I run a G-code file, I experience a drift in all axes.
To troubleshoot the issue, I wrote a simple G-code program that only moves the X-axis: it moves 10 cm in the positive direction and then 10 cm in the negative direction.
I set this program to run continuously in a loop. In every cycle, a small shift occurs in the positive direction.
After 20 repetitions, I observed that this drift reached approximately 5 mm.
The start and end points of the program shift slightly in the positive direction with each iteration.
I have also tested it at very low speeds, but the result remains the same.
I am certain there is no mechanical backlash or electrical interference/noise.
I am attaching my configuration files. What do you think could be causing this?
Please Log in or Create an account to join the conversation.
- bladekel
- Offline
- Senior Member
-
Less
More
- Posts: 68
- Thank you received: 3
16 Apr 2026 11:12 #345590
by bladekel
This problem is caused by the dir_delay.
Solved by increasing the dir_delay value.
Replied by bladekel on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
For those who might encounter this problem, just like me;I am using a Raspberry Pi 5 with the LinuxCNC Debian Bookworm image.
I have configured the system to communicate over SPI.
I can move all axes, but when I run a G-code file, I experience a drift in all axes.
To troubleshoot the issue, I wrote a simple G-code program that only moves the X-axis: it moves 10 cm in the positive direction and then 10 cm in the negative direction.
I set this program to run continuously in a loop. In every cycle, a small shift occurs in the positive direction.
After 20 repetitions, I observed that this drift reached approximately 5 mm.
The start and end points of the program shift slightly in the positive direction with each iteration.
I have also tested it at very low speeds, but the result remains the same.
I am certain there is no mechanical backlash or electrical interference/noise.
I am attaching my configuration files. What do you think could be causing this?
This problem is caused by the dir_delay.
Solved by increasing the dir_delay value.
Please Log in or Create an account to join the conversation.
- epineh
- Offline
- Senior Member
-
Less
More
- Posts: 76
- Thank you received: 27
22 Apr 2026 23:47 #345862
by epineh
I think keeping the uart at 5v will save level shifting headaches, keep 24v on the machine hardware side of things. I have some PCB's turning up soon and I will try out the satellite expansions, looking forward to it
Replied by epineh on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
I was going to ask you this very question, I would lean towards RJ45, tx with a gnd twisted pair, same with rx. Otherwise a properly shielded/grounded (at the source point only) cable over a short run, possibly with a bit of passive filtering. I think if either are kept as short runs and don't go looping around a spindle drive it should be OK.I'm trying to decide on a connection for my satellites
Ethernet or Firewire Cables, 5V or 24V ?
* RJ45 is cheaper, but could be confused with Ethernet
* FireWire uses thicker cablesCheaper
* satellite boards can be built using 5V, but 24V is practical for many sensors and limit switches
* RJ45 and 5V are compatible with Mesa-SmartSerial (except for the firmware)
Does anyone have any ideas?
I think keeping the uart at 5v will save level shifting headaches, keep 24v on the machine hardware side of things. I have some PCB's turning up soon and I will try out the satellite expansions, looking forward to it
Please Log in or Create an account to join the conversation.
- meister
- Offline
- Platinum Member
-
Less
More
- Posts: 730
- Thank you received: 445
23 Apr 2026 16:49 #345880
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Attachments:
The following user(s) said Thank You: tommylight, kzali
Please Log in or Create an account to join the conversation.
- meister
- Offline
- Platinum Member
-
Less
More
- Posts: 730
- Thank you received: 445
25 Apr 2026 17:54 #345923
by meister
Replied by meister on topic LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
It should be noted that Riocore can generate the gateware for the FPGA, as well as the complete LinuxCNC configuration (hal/ini/vcp).
In future, however, it will also be possible to build your own boards from this;
to this end, a KiCad template is generated, which can be turned into a complete board with relatively little effort.
already in dev branch, but still need some work:
* verify the kicad modules
* add more kicad modules
* some fixes while update the pcb
In future, however, it will also be possible to build your own boards from this;
to this end, a KiCad template is generated, which can be turned into a complete board with relatively little effort.
already in dev branch, but still need some work:
* verify the kicad modules
* add more kicad modules
* some fixes while update the pcb
Please Log in or Create an account to join the conversation.
- Hardware & Machines
- Computers and Hardware
- LinuxCNC-RIO - RealtimeIO for LinuxCNC based on FPGA (ICE40 / ECP5)
Time to create page: 0.575 seconds