Carbide Motion on a Raspberry Pi

When I was using my 3D printer w/ Smoothieboard on a Micro SD card I would remove the card from the printer, install it into my Toshiba Encore 2 Write 10 (which had an easily accessed external Micro SD card slot) and copy files on to it to print.

So long as the SD card can be easily removed when the Rpi is powered down, and reinstalled, just using a USB SD card adapter would be quite expedient.

I suspect that we can add a --maximized flag on the command line.

1 Like

So after using this to do a few jobs (total of a few hours of machining) I have some observations:

  • Overall, it worked well. No major issues.
  • I could not open files from a network folder. This could just be my relatively small amount of experience with Linux showing. I had to navigate to the network share with the file browser and copy the files I wanted to a local folder.
  • Moving to or from the NW and NE rapid position points and the center point sounded very different and moved at what appeared to be a different speed. There was also a significant amount of vibration compared to moving to or from any other point.
  • Just like on the current Windows version, the graphic showing you where to place the BitZero V1 when setting the front or left offsets is incorrect. It shows the BitZero overhanging the intended zero location rather than in line with the intended zero.

Suggestions:

  • Please decide to support a RPi version of Carbide Motion. I would love to be able to drop the monitor and PC next to my machine for a Pi 4 with a decent size touch screen on some sort of arm. I think it would be a significant improvement to the whole Carbide 3D ecosystem to have a small and affordable controller with a touch interface (see my next suggestion).
  • If you do decide to support the RPi version, I think it would be a significant boost to it’s usefulness to make CM work with lower resolutions. There are lots of touch screen options with a 1024x600 resolution. There is also quite a lot of empty space in the UI.
  • I know Carbide 3D tries to make everything they make accessible to anyone. In that same spirit, I would suggest making your own image of Raspberry Pi OS with everything all configured and installed.
    • I would set it up to not turn off the screen to save power by default. I would be afraid of clicking something while trying to wake up the screen when a job is running.
    • I would still have the Raspberry Pi OS wizard run on first startup because it is useful for those not familiar with configuring this OS or Linux in general.
    • Perhaps have a default public share setup on the RPi and show the IP address on the screen so that you can drop your gcode files directly on the machine from anywhere on your network?
16 Likes

Thanks for the feedback Nick, that’s very helpful and you’ve got a number of ideas that we hadn’t considered.

3 Likes

Glad to help. Another idea in relation to a public network share. You could have a way to send files directly from Carbide Create using something like this. Not a perfect idea since the controller would have to be on but it could be pretty neat. Thinking a ways out, if there was a way to control CM with GPIO inputs you could have physical buttons for cycle start, jogging, feed rate overrides, etc.

3 Likes

I will note that my use of this will most likely be using my venerable Fujitsu Stylistic ST4121 to control the Raspberry Pi over VNC when using a machine to cut tropical hardwoods out on my deck in the sunlight (unless someone knows of an affordable Raspberry Pi touchscreen which has a transflective LCD or other daylight viewable display) so I’d probably transfer using VNC — making that an option in any image would be one way to address file transfer.

bunch of good requests for networking stuff… it must be my dayjob interfering but I slightly cringe on how to do the security right for those while still keeping usability (not impossible, just … needs thought)

2 Likes

We’ve been working through a few ways to implement this and we’ve got some ideas.

That’s definitely on the list of, “This might be fun…”

5 Likes

I totally agree that it should be secure by default. Though, as long as you don’t go punching holes in your firewall, just about anything reasonable on this would be pretty safe. Most home users don’t typically update their router firmware anyway. Keep everything limited to the local network and you should be good for 99% of use cases. Especially if it is just a public network share full of gcode. In my experience starting as an IT admin to an IT director to now running my own consulting company, it is always about risk management. I’d say the risk is relatively low on this as long as everything is kept to the local network.

2 Likes

BTW i am one test away from posting a first stab at this

@robgrz any issues with me posting an image with cm in it or would you prefer me to just post the creation script

3 Likes

I’d love to take a look at the script. Otherwise, post away.

1 Like

script is easier than image (images are non-tiny)

I put this thing into a git repo so that, well, I have some version control for it… and makes it easier for anyone else to poke at it, put issues in a tracker, etc etc

still needs a ton of work (sorry, been distracted and also a cycle of testing takes some time due to somehow very slow image burning… I’m going to find my faster SD card writer sometime soon ;))

6 Likes

yeah I am just thinking through how to do a public share as secure as possible; I’ll try for “write only, no reads” (so that it can’t be a hosting place for malware for the rest of the network) and wipe it on each boot, so that it can’t persistently store malware.

I’m pondering making a little agent that constantly deletes anything that is not gcode but that might be over the top

1 Like

I think a wipe on each boot would be a significant usability problem. Most people aren’t going to think that having all their files disappear on each restart is the correct behavior. Support issue. An agent that deletes everything but gcode could also be a support issue. What if someone wants to transfer some other file to their controller? Examples include a notes file to keep track of tool life, a checklist for starting a job, images to remind you of zero points or steps in production, etc. I would argue that if it becomes a hosting place for malware you have larger issues elsewhere. You have to decide to trust some things otherwise every network device in the world would be difficult at best to use. I think it is reasonable to trust the local network. Just don’t allow connections from a non private IP. You can’t assume all the responsibility of keeping everything secure. Just make reasonable decisions on what risks to take on and what to trust.

1 Like

I’m going to pick up a Pi right now and give this a shot. I would love nothing more than to get rid of the old Windows shop laptop that slows down (and frustrates) my experience using my Shapeoko and be able to use a smaller form factor while adding a touch screen. Have never used a Pi before so wish me luck!

4 Likes

As someone who has never touched a Pi before I am up and running off of my iPad right now. For me the biggest issue I had was adjusting the grbl settings… since my resolution was off, I was only able to see ‘Send Configuration Data’ - which I kept doing to no avail. Once I adjusted the resolution and brought up that menu to the top of the screen, I was able to see the ‘OK’ button that needed to be hit - its jogging perfectly right now.

3 Likes

Ok got something only half bad, with some bugs to fix still (see below)

http://git.fenrus.org/tmp/rpi-carbidemotion.zip

(you can “burn” this zip file directly to a SD card using the standard RPI windows tool)

known bugs

  • Icons are malformed at first boot (root cause just found, fix in progress)
  • Inserting a USB stick does not automatically mount this (root cause known, no fix yet)
  • carbidemotion only uses a portion of the screen (not maximized) – robgrz is pondering a maximize option

resolved

  • /gcode is a network share that is fully writable (would be nice if carbide motion had a command line option to specify where there default gcode directory is… or I need to change it so that whereever that is, that is the network share)

the script that made this is at https://github.com/fenrus75/rpi-scripts

9 Likes

I keep my files on my server and even with Windows 7 and Windows 10 I have not been able to open a file from my server with CM for Windows. I also have a folder on my desktop that I copy all the files I want to work with before opening them in CM.

You guys are making me - yes MAKING ME - buy another RPi. As if 6 weren’t enough already. :slight_smile: I love it!

3 Likes

Ha ha! :rofl:
Only six Rpi is a mild case of addiction :laughing:
When You have twice that and still finds the need for some more, like me, then you have problem :pleading_face:

Okay, I have to ask. What are you doing with yours? I have three being used as media servers (living room, spare room and bedroom) one each for my two 3D printers running OctoPrint and one spare.

You running a small cluster?