Carbide Motion on a Raspberry Pi

This is exciting! Thanks for sharing @robgrz

Very appreciative. Thank you.

Does it have to be a Pi 4?
Does it matter which OS is on the Pi? Standard raspian image?

Just set up my Shapeoko 3 two days ago so this is perfect timing as I was looking into ways to either wirelessly control the machine with a Pi through grbl, or to get a Windows 10 Tablet and mount it on the frame

I’ve got a spare Raspberry Pi B+ hanging around, I wonder what this would run like on one of them resistive stylus 3.5" screens, as you can pick them up for pennies these days and it makes for a really nice compact cheap solution for controlling your Shapeoko whilst at the machine

I understand that this was only made less than a day ago but fingers crossed for good scaling with the software to come as it’ll work fine on a 320x480 3.5" screen as all you’re really doing is jogging and zeroing the machine

Thanks for all your time and effort with this!


I believe Carbide Motion requires a resolution of 1280x1024 to display properly. Anything less than that starts cutting stuff off.

1 Like

Yeah, getting this to work on a touch screen would be very nice (esp. if the touch screen would work well for navigating file dialogs to select files to run)

For jogging one can’t help but wonder if the game controller support will work, or if one could add a few more buttons to something along the lines of:

(or use a gamepad controller similar to how:

Apparently the nicer touch screens work well:

I’m currently considering:

(though I really wish someone would make a screen with Wacom EMR stylus support for Raspberry Pis)

Awesome @robgrz, I’ve been hoping for some time this would happen, thanks to you and the team for putting in the hours!

1 Like

I’ll be testing this today. I’m definitely interested in this.

In further tinker sessions, could you all add the unofficial REST API from CM4 back in? I use it with MQTT and my Home Assistant installation to trigger automations in my smart home. I’ve actually held off upgrading to CM5 because of it.

1 Like

Thank you nwallace and WillAdams for your response!

I hope in the near future they can support lower resolutions/different UI layouts
As it’s a little wasteful in my eyes to buy a 7-10" higher res touch screen just for using as a jogger, zero’er and file loader

Through the magic of terrible 5 minute editing I wanted to see if it would work on a 3.5" screen, and with a custom layout it looks fine

I think you’ve also got to remember that people who are doing this upgrade/project, won’t be everyday consumers, so it’s fine if the program is less intuitive

Controller support would be fantastic!


I have tested the following - All Work

Pi4, 4GB Ram Current Pi OS 4 K screen

Pi4, 2GB Ram Current Pi OS 800 x 480 screen - some controls off screen

Pi3 B+ 2GB Ram Current Pi OS 720p screen

Pi3 A+ , 512Mb Pi OS Ver 9/2020 1080p

Pi Zero W, 512Mb Pi OS Ver 9/2020 1080p Hours to set up, Painfully slow

My Suggestion is the PI4, the A+ is $10 less but you then need a USB Hub and it has a slower processor. The 32 Bit Pi OS by default has VNC installed for remote connections.

The Pi 400 with a keyboard cover might be a good fit in a Shop. They are New and in short supply.

Pi 4 2GB ~$35

Pi 3 A+ 512MB ~$25

Pi Zero W 512MB ~$10

Power Supply, Keyboard, Mouse & Monitor not included



You’re a champ, thanks from everyone

Shame that the controls are off screen for 800 x 480 as this would be a really nice set up with a 3.5" screen (They are 320x480 though)

I’m going to purchase a 3.5" screen in hopes that in the next version a smaller res is supported (320 x 480)

I’ve used a Raspberry Pi for Octoprint for my 3D Printer, but never actually used the Pi OS, is there scale settings inside Pi OS that could scale it to fit the display?

1 Like

I would not expect to see a version that would work on that small of a screen. If they make one, great but I would not make purchases on a hope that they will. It seems very unlikely. There are plenty of options with 720p or greater which would be much more likely to be supported if they choose to support the RPi at all.


So I tested this out with a Raspberry Pi 4+ and the 7" Touch screen. It appears that the UI does not scale with a FIXEDMODE resolution like the 7: uses. But everything else appears to operate normally.


Quite timely…I have been looking at the different options for operating my XXL with a Pi 4 to get my MacBook out of the shop! Will defiantly give this a try this week.


Thanks for confirming that the build works for you. We didn’t do anything special for this build compared to the other desktop build so Carbide Motion still needs something close to a full HD monitor. If this ends up being a supported platform for us then I can see putting some time in to see if the UI can be scaled to work on the 7" touch screen (no idea if it’s worth the effort at this point).

That said, as much as I love the 7" screen, a 21" HD monitor is around $99, which isn’t much more than the 7" LCD and a case.

Much like the 7" screen, I love the idea of making the 3.5" work for CM (and your mockup). I don’t think we’re ready to go down that path yet because it woult take a lot of new code and work on the playform itself.

I’m not a Pi-pro, but I think the standard 32 bit OS should work. We did not compile it for 64-bit.

The core code for that has been removed by now, but I can see adding something around automation in the future.

And finally, I have no idea if the gamepad will work for jogging. We’ve been torture testing the basic machine functions here but we haven’t tried the gamepad yet. If you have any feedback, we’d appreciate it.


That makes sense, it all depends on the roadmap for this and where you all want to take it.

I’m working to change most of my machines in my house over to Linux, with my last dependency being Illustrator on my Mac, so this is definitely an awesome development.

I could see a good product fit for an add-on to the Pro maybe. You could use an “open build” type approach, a dedicated controller based off a SBC Linux computer, and a 7 inch touch screen though. One advantage to Carbide Motion 4 in it being an Electron app is that the UI elements were responsive and would scale to the size of the application window. I actually tested it on my Raspberry Pi kit (, for something quick, dirty and portable.

It would probably be an edge case for the REST API for most people, I don’t see a lot of people needing it unless there was a great use case. Cost of support for something like that doesn’t necessarily make a lot of sense. It was a pretty fun hack though to do, with a test case of outputting the progress onto an RGB LED array I built, as well as putting specifics onto a Home Assistant dashboard. I can post a few pictures if you all are interested.

Thanks so much for taking time in answering everyone’s questions! I love the additional insight into your decision making processes.

1 Like

Understandable that you’re not already making changes to support a plethora of screens and what not, you literally only ported it over to Pi 3 days ago it’s fine!

As I said I was looking at alternatives to this (Windows 10 tablet, small netbook) and then I saw this post posted elsewhere, perfect timing, might just get a higher res screen and have done with it, this is a great upgrade and I don’t want to wait

I’m not that familiar with Pi OS myself, let alone creating software, but in regards to the gamepad/joystick support, I don’t think you need to integrate/bake in gamepad support into the software itself, but instead implement keyboard hotkey/macros for the jog buttons as well as being able to click on them, X+ would be Right Arrow, Y- would be Up Arrow, Increment+ would be “+” ect ect

And there’s bound to be software for the Pi that takes a controller input and allows you to map the buttons to keyboard keys, that way you haven’t got to add gamepad support which may be more challenging, you can just add keyboard shortcuts in CM that we can use other software to map a controller button to each key

Just an idea

That was actually a problem for us. On some computers it scaled properly and others it flowed in strange ways. (We weren’t Electron though, we used the Qt control that embedded Chromium). We could never get the layout to be uniform between computers because because different computers implemented scaling and Hi-DPI/Retina slightly differently (from what we could tell). Also, we were never able to get the responsiveness for jogging, mainly keypresses and button-hold in a web view.

Support problems immediately went down when we switched to native.

I’m just sharing this as a little background for why we’ve changed the architecture. I don’t know if this was the only way to do it, only that it worked for us.

We already have the code in there from the desktop versions to use gamepads, I just don’t know how well it works on Linux. It’s great on Windows but doesn’t work on Mac.


Ah okay I wasn’t aware of that, got my Shapeoko a couple days ago so I’m new to this

Keep up the good work, this seems like an excellent community and I like that there’s continued efforts to improve the software and machines, makes me a confident and comfortable customer :cowboy_hat_face:

1 Like