My $45 Shop Computer

So a new hire at work asked me a couple of techie questions and yada, yada, here I sat with a new Raspberry Pi this morning, trying to figure out what to do with it.

I went through the basic setup instructions and I was able to connect to the internet using my TV as the monitor, a wired keyboard, and a wireless mouse (via HDMI, USB, and USB, respectively). The Raspberry Pi kit that I bought from Amazon also included a Wi-Fi adapter, so I set that up…now the shop doesn’t have to fight with the XBox for internet connectivity downstairs.

After getting things setup I thought: hey wait, this is Linux and I’m running Linux in the shop…so long as it runs Java, it should run UGS.

I followed these instructions only to the point where I installed the Java components. Then I downloaded the nightly UGS 2.0 build (old school GUI), copied it to my Raspian desktop using the Linux cp command, then extracted it on my Raspian desktop.

That leaves a UniversalGcodeSender.jar file on your desktop that you can execute using java -jar -Xmx256m UniversalGcodeSender.jar. When the X-Carve is plugged into one of the USB ports of the Raspberry Pi, it will see it as the standard /dev/ttyACM0 device. You can run UGS just as if you would on a Windows, Mac, or different flavor of Linux.

I connected to the X-Carve, reset the alarm, used the machine controls to move it around, then loaded a .gcode file and ran it without problem. Seems like a solid platform.

I spent $85 on this kit but you could get the Pi and a Wi-Fi adapter for ~$45 I think. I don’t have HDMI down there so I did all of this POC only with a local network connection, using Windows RDP to get a session (sudo apt-get install xrpd to get the client on the Raspberry Pi).

Next step is to setup a web/file server of some sort on the Raspberry Pi, so that I can drop files onto it remotely. Then I can do my designs during lunch time at work and have them ready for when I get home. :smile:

I’m in IT but not a networking or infrastructure guy…I say this to point out that I might be able to help if you need some basic guidance, but I can’t go too deep. This worked for me, and I think it’s a darned-cool solution for a shop computer. Time will tell, though!

So now (and until I get a proper screen, keyboard, and mouse down there), here’s the entirety of my X-Carve computing power:


Looks great and simple as it is. Of course you don’t need much power to control it. Basicaly you’re controlling Arduino which is lot less power it has. But if you want to draw something, generate Gcode you may have to use a little more power, ram and mostly video capabilities. Since you are the IT guy, I’m sure you already prepared for that. Even my i7 processor Samsung Laptop didn’t give me what I want. Shared video memory was locking up constantly. I build desktop with i5 processor with very high end video card, also put 32 gig of system memory and Solid State drive. Now I can fly with any cad application as well as Vcarve pro. But really like simple design. Great job.

thanks @AlanDavis. Yeah my current setup is an old (really old) Linux box where I can’t do any design work anyway…yet. My end goal is to get VCarve working within Wine but for now - if I only need a machine to send GCode - this seems like a pretty good option. I like the GCode that VCarve is putting out so the inconvenience of not being able to design on-the-fly in the shop is something I will live with.

1 Like

So am I reading correctly that you are basically using the Pi in a headless mode and using Windows RDP to get to the console remotely? That sounds like a sweet method to free up the shop computer so I can use it for other things while the machine is milling. How long does it take the Pi to boot? Wondering if I could just power it from a “master” power connection from my overall xCarve. If it takes lots of minutes to boot, may not be a good solution though.

As far as copying files to the Pi, would WinSCP (or just scp from a Linux machine) work to push files from a windows computer to the Pi?


Yes, @RickSchmalzried, headless and using Windows RDP to console to it. The Linux RDP client (referred to in the original post) is an easy install.

The Pi takes less than a minute to boot, I’d estimate. There’s no power-on switch so if you didn’t want to just leave it up all the time, you’d probably be able to set it up on a relay. I was using PuTTY to reboot it remotely, then doing a ping -t to wait for it to come back online, then basically immediately RDP’ing to the desktop.

As for getting files to and from it, you can use SSH, SCP, SFTP…whatever you want. I did a bunch of installing yesterday without being on the console at all - just used PuTTY from my Windows 7 machine. I setup an FTP server as well and was able to browse the file structure using Chrome. I found it easiest, though, to use FileZilla to connect via SFTP. So, plenty of ways to get at it…

I don’t think headless in the shop is going to work for the long-term…because of the needs you mention in needing manual, real-time control over the CNC while you’re down there.

For the short-term, though, it works great because I can do all of my design work on the laptop, post the gcode to the Pi, then RDP to the console (with laptop in-hand, down in the shop) when I’m ready to run a job. That allows me to get everything setup, submit the job to the X-Carve, then take my laptop back out of the shop and let the Pi do the hard work.

My big problem right now is lack of a monitor that has HDMI (native) down in the shop. If I can’t put my hands on something cheap then I’ll wire up the Pi to use regular VGA to the old monitor that I have down there already…I think there are at least a couple of different options to do that, including a $20 HDMI-to-VGA converter if I’m feeling lazy.

I have a general purpose computer in the shop connected to a TV right beside the xCarve. Before the X Carve, I used it for quite a bit of interactive stuff from emailing, researching car repairs, to less interactive things like streaming music or movies. I’m looking at the Pi so that I can maintain use of the general purpose PC while the xCarve is running. At least in my case, it isn’t really run back and forth, but more like bring the Pi desktop window to the foreground and jog or otherwise control the machine. Perhaps, I could get by simply putting UGS in the background but I have worries about response time and missed interrupts, especially if I start doing something more intensive such as working on the next vCarve project.

After trying it, I may come to the same conclusion that I wan a dedicated KVM for the Pi, but without hands on experience, the headless Pi seem like it could be a useful solution.


Well, the headless Pi got a head this weekend. A 7" touchscreen that I got from Amazon Prime for $65.

Here it is next to the Pi:

And this gives some perspective when compared to the X-Carve size:

The resolution is 800x480 and the touchscreen just works. Using macros in UGS for a couple of functions, I’ll probably be able to stash the keyboard and mouse away for most use. I can definitely use the screen only when running a bunch of units through a batch job, for example.

Here’s a screenshot of UGS’s machine control screen. Jogging the X-Carve with the touchscreen is no problem at all.

Looks lovely.

My guess is he purchased one of the just released displays specifically for the Pi. Instead of using the HDMI it connects to the DSI and DPI connectors (I’m not sure what those are) which leaves the HDMI available for other uses.

This concept certainly has some merit to it. Makes me wonder if I could make something like this work with a cheap android tablet… By the time you buy a Pi and the display, you are already into the price range of no-name tablets…

So many options! So little time!


correct @AngusMcleod. I don’t really need the HDMI for anything else on the Pi so I figured this was easiest. All it required was a replacement of a couple of files in the /boot/ directory, and the addition of some other files and packages within /lib/firmware and /lib/modules/.

I am really digging the touchscreen after some more use. Now looking into a virtual keyboard option (like a smart phone) and a small joystick to replace the mouse for when I need real precision. If I get both of those, then it’s essentially a handheld only tethered by the USB and power cable, for probably $120 total. I like that better than a budget tablet because I think the simplicity of the platform makes it a more viable and sustainable solution.

I am running headless as well. Have you tried going the grblweb route. It took me a while to get set up but it was worth it. The interface is simple but I can control my cnc from any computer/device that is connected to my local network. Loading g code is easy and I can monitor my machine via webcam anywhere I want. Check it out at like I said I had a few issues but the creator of the build responded really fast and I think it’s a charm.

I’ll have to check this out. Since this post, my setup has gotten, well, a little more complicated. :slight_smile: I now have a SuperPID in play and a laser engraver, so it’s been a challenge just getting everything (PWM) to play nice in that sandbox. Thanks for the reference though.

The Ras Pi does seem to have some lackluster PWM. ServoPal served me well with some other projects, namely for 1 PWM line that can control 2 servos, and they hold position until updated. I suppose that would work fine for a spindle speed control…