v1pi: Raspberry Pi Image with Octoprint and CNC.js (and wifi hotspot)

I use OctoPrint (OctoPi image) on Raspberry Pi for both my printers. One of them doesn’t have a UPS, and a recent brief power blip has caused it to die. I haven’t picked it apart but I’m pretty sure it’s a corrupt SD card, which seems to happen about 100% of the time when it suddenly loses power. So I need to re-flash the SD card to get it back up and working.

This is annoying and a few months ago I had dabbled with setting up a read-only filesystem so the SD card can’t get corrupted on a sudden loss of power.

I guess I am looking for advice for the longer term, which might span both printing and milling use-cases.

  1. Find an image that has read-only mode?
  2. Start with a base image, e.g. V1 Pi, and figure out how to implement read-only mode?
  3. Buy more UPSes?
  4. Other options? Network boot?
There is a huge amount of discussion around power management for the Raspberry Pi, and I haven't but scratched the surface, but so far nothing is standing out as the obvious killer solution.

The custom pios is pretty slick if you wanted to try making your own image. I am not sure the best way to make it read only. It might best to configure everything and then just change it to mount ro after you’ve got it set up. Maybe with a button on the landing page?

Another thing you can do is to put your configuration and files on a usb stick and then just get a bew sd when it fails. I do this on my printers, but since I did that I haven’t had any failures either…

Dropping in to say thanks. I finished setting up v1pi early this morning. I haven’t tried cnc.js yet but octoprint is working as intended and after installing the desktop environment on the pi, I’ve got everything I need right next to the machine. It’s good work - thanks for your effort.


Have it running for some time now, with both the MP3DP & the MPCNC.

So I just ordered a new Raspberry to connect both machines instead switching between the garage and the living room.

So the first Raspberry I connect now with , with the second one I guess I have to change that address somewhere ?

1 Like

If it’s connecting to your home router, then it will get a different ip automatically. The trouble is they will have the same hostname (v1pi). There are many ways to change it, but I think there is a choice in the raspiconfig. I usually just change it in /etc/hostname and /etc/hosts. If that makes your eyes cross then just use raspiconfig.

Yep, just worked fine. Renamed my old Pi 2, at least that’s what I think it is, and this morning received a Pi 3 A+, don’t need the Eth, or additional USB’s. Pricewise it was just 1-2 $ above the Zero WH, so it was the smarter choice.

Thank you so much, I am kind of doing something similar, but mine does have little different approach and what I am wanting to do is, to make it launch a UGS app right at the beginning once the pi boots (entering kiosk mode) and from there you can yous pic the code that you want to send.


Even thou I do not seem to find a good spot where to install the pi (I was really looking forward to place it in a case that way there is not that much trouble due to the wiring and also was considering to even remove the screen that comes in default in the kit, since I will be using the pi I don’t think that there is need for that other screen), since that is what I am looking to be able to do

That’s totally possible. The v1pi is shooting to be a headless server, so no screen and no guis running, which will make it work even on a pi zero w.

The custompios that I use is pretty slick and it’s a great place to start.

Since where is my workshop the internet connection is not the most stable so, I am aiming for something that I can be able to use more accurately, and well I think that I can be more accurate when setting a homing point, rather than twisting the nob that way even my parents will make it

i cant get it to control my lowerider and the service crashes right after just a few sec using cncj 1.9.20 connecting using Marlin (tryed all of them) and every baud rate switched over to the octaprint and it worked fine first try. Any advice Ty

Ok got it to connect but after trying to jog Z just one side gos up (seems like feed rate to high) i go into machine settings set the feed rate of z to 8.5 and then in bottom right select the profile and still no change is there some other way you have to change feed rate?


I have used Octopi for a long time now… I have one on all 5 of my main printers . I just started getting into laser/CNC. I am getting the parts printed for the MPCNC and pricing local tubing for the Lowrider2.

What does this program do besides adding a web page selection to launch octopi and the cncjs? Trying to understand and get the “easiest” pi enabled setup… so i can do as close to my normal workflow with Octopi … but for the MPCNC and possibly with a laser unit… or even a standalone laser unit.

Thank you for all your work so far! I am really liking the hotspot feature… however not tested yet as i wanted to verify the info above…

It’s based on the octopi image, adds node.js, cnc.js and the landing page. I need to go remake the images for the rpi4 images though, and I broke the autohotspot in the last prerelease.

Getting settled in my new “hideout”… but still can’t find half my stuff. However, “slightly pushy” :wink: daughter gently reminded me I haven’t followed up on building her a laser engraver… so pulled out a tiny Hobbyking T8 mini-mill I’d puchased way back and enough stuff to sorta get it running as a laser engraver. Set it up with Jeff’s V1PI image and CNC.js running on a Pi 3B… complete with webcam, though I haven’t figured out how to do timelapse video as with Octoprint. Is that possible yet, Jeff?

Actually the little milling machine is pretty nice and the printed tool mount accepts the Eleksmaker 2.5 watt laser perfectly. The 3-axis controller board was a bit difficult to locate information on (again!) but finally was able to adjust a couple of jumpers and verify the TTL laser modulation signal was indeed +5v levels… and not +12v. Runs GRBL 1.1 now and am using the M3/M4/M5 gcodes to control the laser… also the Sxxx parameter is 0-1023 (verified with scope) vs the 0-255 ranges I’ve used before with remapped fan controls and M106/M107 gcodes in Marlin.

Anyway, got all axes calibrated up – and printed a few of Jamie’s test pattern rulers – and then started playing with “traveling salesman” Tux I’d generated somewhere along the way. Here’s the result

[attachment file=119046]

[attachment file=119047]

[attachment file=119048]

[attachment file=119049]

Really liking Jeff’s V1PI image and CNC.js…

– David





No, I haven’t worked on that. There are some hooks in CNC.js to run a command when you start and stop a job. So I was planning on finding the ffmpeg magic commands needed to run a timelapse (heavily weighing on the octoprint solution). The tools should all be installed.

What a nice little engraver build. Thanks for sharing.

1 Like


I have a new v1pi image ready. Here are what I’ve changed:

I haven’t done extensive testing on my machines (no prints or carves yet). If anyone is willig to test it, I would appreciate it. I will make an announcement in #software when I feel like it’s had some miles.

Hot Spot

I neglected the hotspot in the previous version, but here’s the deal. There was an “auto hotspot” thing that would turn the hot spot on and off. I think that’s stupid, because, you either have wifi access or you don’t. If you’re on the edge (like a barn that can kind of reach), then you really don’t want it switching back and forth.

So instead, the hotspot version of the image has RaspAP installed, and there’s a link on the front page. This should be pretty useful for those of you that don’t have wifi, or don’t want your cnc on your wifi. It will show up at v1pi with a passcode of ChangeMe. More info in the docs. BTW, not all the features in RaspAP work for me, but the ones I really cared about did.

New Docs

I copied the work we did on Ryan’s V1Engineering docs, and you might recognize the theme :smile:. There isn’t much info, but I think it ended up looking better/less cluttered, and of course, easier to edit.



Freaking awesome! Thank you for sharing, and updating.

Edit- Updated the main site.

1 Like

I have found a couple of issues. I think I solved them, and will be posting another image (with today’s date) later today, after work.

1 Like

OK. I put the new images up. This is installed on my low rider and my 2 printers. The 12/2 version has some fixes for the cameras and the zeroW.

1 Like

Thanks for doing this. I haven’t left the house to get a spare microSD card. Will do tomorrow. I can’t imagine having to run my MPCNC without it. I’d have to figure something out for remote control.

1 Like