Remora for RP2040

More
02 Feb 2025 00:11 #320373 by cakeslob
Replied by cakeslob on topic Remora for RP2040

hello scotta and thank you for your amazing work
i got my rp 2040 working with remora and its amazing 
it works with axis and qtdragon 
my question now is how to get it to work with qtplasmac, i cant get it to work even though i copied all the necessary config lines in both hal and ini files from my par port configs
can anyone help me with this
Thanks in advance



this isnt necessarily within the scope of remora, but more related to linuxcnc and hal config, but if you used one of the config generators, I would suggest redoing your config for a mesa card, its fairly easy to convert a mesa config to a remora config with minor changes, paraport had more stuff going on last time i looked.

otherwise, it would be helpful if you posted the errors you get when trying to start linuxcnc, these can be easily viewed by opening linuxcnc in terminal. Posting your ini and hal files would also be helpful. there isnt much difference between a plasmac config and any any other config, except there are a few hardcoded hal pins you need to connect to for plasmac.

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

More
20 Oct 2025 22:21 #336786 by kb9ydn
Replied by kb9ydn on topic Remora for RP2040
I was just wondering when the RP2040 version of Remora might be updated to use the new Remora-core code?  I'm working on designing a new board using an RP2354.  It won't be ready for awhile yet but with winter coming I should have some more time to work on it.

C|

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

More
11 Feb 2026 18:29 #342809 by 3404gerber
Replied by 3404gerber on topic Remora for RP2040
Hi all,

I'm trying to compile Remora for RP2040 from source and I have some issues. There were some compiling errors that I could solve (in the ioLibrary one #include <string.h> was missing and the ftp_getc function call was throwing an error, so I commented it out), but I'm still having problems to make it run. I can ping the pico and upload a configuration, but when I start lcnc and reset the e-stop, there are a few (5-10) packets exchange and then I have a Ethernet error. If I turn on usb serial port on the pico I can see that it goes in Running state, then resets and go back in Idle state. So first guess is that there is some problem with the ethernet communication.

The thing is that if I load the firmware remora-rp2040-2.0.0 from the repository, I can reset the e-stop in lcnc without problems. So I exclude any hardware/wiring or configuration/component problem.

Can maybe someone point me in the right direction for this problem? Was the rp2040-2.0.0 firmware compiled with the source code on the repo? Could it be an issue with the ioLibrary as it is the one throwing errors on compilation? Or did I miss a configuration in the CMakeLists or in configuration.h? (I'm using a pico board with a W5500 ethernet over SPI chip, connected on pins 16-20)

Thanks in advance,
Luca

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

More
29 Mar 2026 23:31 #344933 by eraserhd
Replied by eraserhd on topic Remora for RP2040
@3404gerber

What I've found is that the existing firmware needs to be configured for debug build. There's a naive spinlock var not marked volatile and the compiler optimizes the loop to an infinite hang. I tried to mark it as volatile, but then I got to ~300 packets instead of ~7. Debug builds do work.

I've refactored to remove the need for the spinlock entirely, and will contribute back whatever Scott will take. My current repo is github.com/eraserhd/Remora-RP2040-W5500/tree/scratch . Optimized builds run great from this branch, and there's a Nix flake with a reproducible build environment.

I'm zeroing in on doing stepgen with the Pico's PIO. It's now properly separated out to do it.
The following user(s) said Thank You: 3404gerber

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

  • scotta
  • scotta's Avatar Topic Author
  • Offline
  • Platinum Member
  • Platinum Member
More
30 Mar 2026 19:47 #344968 by scotta
Replied by scotta on topic Remora for RP2040
Hi eraserhd,

Thanks for debugging this. I've not worked on the RP2040 for some time. This Remora port was a hotel room project when I was travelling for work.

I'd be interested to see a pull request to merge your work. If you have time you might also look to update the stepgen to send back the raw count like the recent Remora code for STMs, that way the latest Remora Linuxcnc component could be used.
The following user(s) said Thank You: tommylight

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

More
30 Mar 2026 21:48 #344972 by eraserhd
Replied by eraserhd on topic Remora for RP2040
At this point, I've diverged quite a bit. I'm willing to do the work to separate it out, but do you want a big ugly PR or a stack of single-topic ones? I would start with a noop that makes indentation consistent (prefer 4 spaces, but 1 tab also works).

I'm also adding support for the new W55RP20 (docs.wiznet.io/Product/Chip/MCU/W55RP20/w55rp20-evb-pico), which has the W5500 on different GPIO and also conflicts with the example config.  I also bought a RP2350 version to play with.
The following user(s) said Thank You: tommylight

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

More
30 Mar 2026 22:16 #344973 by eraserhd
Replied by eraserhd on topic Remora for RP2040
Also, unless I'm missing something, it's already sending back the raw count?

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

More
05 Apr 2026 11:56 #345196 by 3404gerber
Replied by 3404gerber on topic Remora for RP2040
Hi eraserhd,

Thank you for your answer. I'd like to hear more about that spinlock var; I'm a noob in coding but willing to learn. :) I quickly checked your repo and saw that you changed tons of things. I didn't go into the details but will get into the code and test it soon.

On my side, found out that it works stable if I don't use the base thread. And as I'm currently trying to work with TMC5160 in full SPI (with the driver internal step generator), I can live with the servo thread only.

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

More
07 Apr 2026 17:25 #345281 by eraserhd
Replied by eraserhd on topic Remora for RP2040
I didn't make a fix for the spinlock var because restructuring the code to try and implement PIO eliminated it. I'm still working on the PIO code, but "semaphore" needs a "volatile" keyword in front of it:

github.com/scottalford75/Remora-RP2040-W...read/pruThread.h#L31

I don't remember if "execute" also needs it. "semaphore" is intentionally used to synchronize the two CPU cores, so you need to tell the compiler the value can change any time you look at it.

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

Time to create page: 0.165 seconds
Powered by Kunena Forum