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

More
25 Mar 2026 07:01 #344698 by bladekel

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,


 

Thats the trick, thank you.
Its working now... 
 
The following user(s) said Thank You: meister

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

More
07 Apr 2026 07:39 #345255 by meister
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
The following user(s) said Thank You: Dave3891

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

More
16 Apr 2026 06:24 #345586 by bladekel
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?
Attachments:

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

More
16 Apr 2026 11:12 #345590 by bladekel

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?
 

For those who might encounter this problem, just like me;

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.

More
22 Apr 2026 23:47 #345862 by epineh

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 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 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.

More
23 Apr 2026 16:49 #345880 by meister
A little preview of what’s coming soon.
This will soon allow you to create a board from the flow config,
or at least a template.


->

->

->


 
Attachments:
The following user(s) said Thank You: tommylight, besriworld, kzali, NWE

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

More
25 Apr 2026 17:54 #345923 by meister
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

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

More
20 May 2026 14:34 #346517 by Tim Bee
Dear meister:
 
I used MDI command to move x axis for a example. The velocity is 60mm/min, and used halshow to watch pin:rio.stepdir0.velocity
the value is about 0.5mm/s, but the motor run in right speed,and I probe the x axis's pules signal used a oscilloscope
and it show the freqency is about 12.78khz, my scale is 1280 in .ini file
if I use stepdir to drive a servo motor to run a spindle, I net the spindle rps to some one stepdir.velocity then spindle run in a wrong speed
whitch parameter I set wrong?

Tim
 
Attachments:

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

More
20 May 2026 18:07 #346519 by meister
The only parameters that affect the frequency are
* stepdir0.velocity
* stepdir0.velocity-scale
* stepdir0.velocity-offset
and the FPGA clock frequency

Could you please attach your .json file?
The following user(s) said Thank You: NWE

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

More
21 May 2026 01:39 - 21 May 2026 01:45 #346523 by Tim Bee
meister:

my json file

and sorry about the frequecy I write wrong: when command is :G53 G01 F60 X100output pules frequency is about 1.28khz
because my scale is 1280, when F60 (1mm/s), output frequency is 1280 * 1 = 1.28Khz
the stepdir.velocity is show about 0.5mm/s


Tim
Attachments:
Last edit: 21 May 2026 01:45 by Tim Bee.

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

Time to create page: 0.677 seconds
Powered by Kunena Forum