Carbide Motion on a Raspberry Pi

Editing that file worked perfectly. Just had to scale up the UI so my fat fingers can hit the maximize button on the touch screen. Great work!

Realvnc makes a rpi client and server that is free for personal use. I’ve used their client/server vnc setup in previous jobs and it’s really performant (at least on windows). You could also do xrdp on the pi and use Microsofts free rdp client on win/Mac/iOS.

1 Like

not saying that realnc isn’t ultimately what I’ll end up using, however, the latency between the iPad and the Pi are at a point where it is usable but frustrating. I’ll be looking into different desktop environments and a vnc server that does not require the resources that realVNC does. on the client side, real VNC app will likely be the answer. their client does not really care which server gives them the desktop.
I’ve just started looking at the X11vnc server fenrus suggested.
I’ll post more when I have the testing done.

all of this assumes that Carbide 3d will continue to compile CM for the Debian platforms.

1 Like

when looking at x11vnc … look at the “ncache” option… it causes more to be cached on the client which improves performance noticable

1 Like

Not sure which iPad VNC client you’re using but some are much better than others. Realvnc client is optimized with their server so using both should yield good results. I had it on an old pi 2 back in the day and it worked well. Screens is a really well done iOS/Mac VNC client as well. I use it to connect to a lot of windows servers running tightvnc server. Both also offer touch mode which when in full screen mode turns iPad into a great touch screen. Couple clients needed touch screen versions for their POS systems, during pandemic for servicing parking lot. Their vendors proprietary tablets weee 3k. Screens plus couple $300 iPads accomplished what they needed. It was very responsive with good quality access points.

2 Likes

Heyo, I’ve tried out your image @fenrus, thanks for putting that together. However, I was trying to use it with an old 24" 1920x1200 Dell monitor I had lying around (using HDMI -> DVI), but I can’t change the resolution to 1920x1200 (and it doesn’t switch automatically). Is that something you stripped out yourself?

it is not supposed to be stripped out but I will check after work

(this kind of stuff is supposed to be auto detected without needing additional tools)

Does this autodetect correctly on other builds’?

1 Like

@robgrz How is Carbide Motion determining which serial port to use? Is it looking for a specific device id? I want to be able to monitor the serial port for M03, M04, and M05 commands so I trigger my spindle controller without having to use an arduino listening on the spindle pwm pin on the Carbide Motion Board.

1 Like

Basically I want to create a dummy serial port that spits the output to stdout and to the actual serial port using slsnif. This requires having CM use the dummy serial port though.

I think I remember reading the other day that it looks at vendor + device ID.

I’m not a Linux-guy but from my reading, it seemed like I had to pick one of the existing categories. If anyone knows a command to create a new category, I’m game.

I’m sure it can be added in a custom image but we need to be able to add a category from a post install script in a deb package so the behavior will be the same in both a deb install, or in a custom image.

Maybe we can find a subtle place to add an “Exit Full Screen Button”

For the time being, we’ll be 32-bit only. We’re working toward something we can fully support so our best best is rPI, 32-bit

As of right now, all indications are good that this is something we want to continue.

We’re debating making CM more open, so that it will connect to any serial port. We’ll let you know if this ends up happening. (Code is mostly done).

For what it’s worth, listening for M commands on a serial port would be dangerous in most cases because there could be other motion commands queued up that keep the spindle command for executing immediately. The safest way to do it would be a small circuit on the spindle output from GRBL.

5 Likes

Very true. Obviously had not thought about that. lol

1 Like

I just installed a clean Raspberry OS + desktop and I did get it to work with the resolution. I did set it in the config.txt, however, so I can try that with your image also.

so it did not work automatic. I did remove the “arandr” app which is a gui way of changing resolution. I will check adding it back and how much more it drags in with it

At least from the subcategories
https://specifications.freedesktop.org/menu-spec/latest/apas02.html
“Engineering” would work, but that’s just a subcategory.

From the main categories “Utility” would instinctively where I’d look, not Graphics (which is for inkscape and the like), eg “Application for viewing, creating, or processing graphics”, while utility is defined as "Small utility application, “Accessories” " which is not perfect either but a tad closer.

2 Likes

Not quite sure, I didn’t have a lot of time to test and I read something about the config.txt and being able to force resolution, so I did both a clean image and that at the same time. Now that I know it’s possible to make it work, I can spend some more time trying to pinpoint the exact thing that made it work.

I’ve just uploaded a new image with “arandr” added back, which is the gui app for resolution changing.

(I;m sort of offended by it in that it pulls in a whole pile of math libraries it’s not going to use etc)

One more suggestion. Add an onscreen keyboard for touch screen users. I tried installing matchbox-keyboard and it causes Carbide Motion to not maximize properly.

We’re looking at a pop up keyboard within the CM app to make that more uniform and integrated. I assume it’ll also be good for Windows machines with a touch panel.

6 Likes

FYI - Right now, I just use the Windows provided Onscreen Keyboard which is part of the accessibility options that is provided

1 Like