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

Yep. That sets the X and Y parts of home. You can add it as a macro in cnc.js so it will just be a button press. G92 Z0 sets the z home.

Has anyone had luck with getting this image to boot to browser, so it can be used with a monitor?

I have one that I did that with. Are you having trouble?

1 Like

I managed to get it up and running today, this video was very helpful:

Hey Jeff,

I currently use an app called printoid to control my 3d printer, and I'm trying to make it control my CNC. On the standard octopi image I connect to the local ip and port 80. On your image I cannot get printoid to connect on port 80 or port 4080. Any advice?

I use octoremote. I have to put in the actual ip address and http, not https (I don’t think I’m forwarding https right).

My url is:
http://10.0.2.53:4080

1 Like

Ive tried what you suggested but no luck . may I'll try the app you use just to rule out my network

I think I can forward calls to /api/ from port 80, but I haven’t tried. It’s all in the haproxy settings.

It would appear that inside my local network was the issue. Port forwarding the item and using 4080 works outside the home network.

I’ve managed to get Samba share running and able to work, and can upload gcodes to the octopi upload folder. However I have tried to change the cancellation.js watch folder so they both use the same folder but no luck so far. Back to google for some more research haha

The octoprint settings can change the location of file storage.

1 Like

Good to know. Do you know where the cnc.js folder is? I tried setting cnc.js watch folder to home/pi/.octoprint/uploads/ and placed a test file(.gcode) in there but CNC.js does not see any files.

I’m not sure. It looks like it is a command line option, and I did not set it. CNC.js is launched with the file /etc/init.d/cncjs, and that has this for the code execution:

[scode]
start-stop-daemon --start --background --quiet --pidfile $PIDFILE --make-pidfile
–exec $DAEMON --chuid $CNCJS_USER --user $CNCJS_USER --umask $UMASK – $DAEMON_ARGS
[/scode]

It’s a little hard to read, but if you added this to the top:

DAEMON_ARGS=“–watch /home/pi/watch”

Then restart the pi, or at least restart the cnc.js service, that would point to /home/pi/watch. We’re getting away from the convenience of the v1pi image with this, but I can add that to the argument list for the next release (which I should probably do soon, since there is a new octopi out).

Did you try pointing to it with just the IP address, and not the name? The v1pi.local will probably not resolve from a phone, at least not an android phone.

And, I would have probably chosen to use an sftp client in Windows, instead of getting samba working on the pi. But that might just be my preference. sftp works as long as ssh works, and it’s very secure and easy to set up, IMO.

1 Like

Yeah I’m still stumped even that updated line did not help. I cant seem to get the upload files to save. Seems like you have to upload a file every time. Ill have to walk away from it for a bit and come back to it. Thanks for the help!

I have been using the actual IP (i set most my servers up as static IPs on my router to make things easier)

Just adding another V1Pi success story to the list. I’m excited to not have to do the SD Shuffle anymore!

1 Like

Before I buy yet another Raspberry Pi I have a couple of questions to clarify my understanding of what I can do with v1pi.

I already have a Pi 3b+ running Octoprint for my two Tevo Tornadoes. It has worked flawlessly since I installed it. I don’t use it for slicing, I still do that on my Mac then upload the gcode to Octoprint from the web interface.

My MPCNC is just for routing (at the moment). I am currently using Repetier Host on a laptop that works OK. However, I am looking at how to implement a pendant remote, it appears to be harder than I wanted.

Question 1: If I use v1pi can I use an app on my phone to give me pendant remote functionality?

Question 2: I see there are some issues with CNC.js and the way it waits for timeouts etc. Can I use Octoprint to send gcode instead?

Question 3: Will the homing work the same on v1pi (I have the Rambo 1.4 with dual end stops and a homing plate for Z)?

 

v1pi is just like an octopi (which is what I based it off of). I added in another layer of indirection, with a landing page to point you to cnc.js or octoprint. I also installed cnc.js (which is the real benefit here). The indirection layer causes some problems, since it isn’t set up to properly forward https requests, and it moves the port of octoprint, so things that assume port 80 will not work.

The applications for octoprint and cnc.js are working very similar to the way they are designed, and I haven’t messed with either of them much.

You can do that by:

  1. Navigating your phone browser to the webpage. The webpages aren’t built for mobile, but they will work.
  2. Using an app built for octoprint. It just has to support non-https connections and be able to set the port to 4080. I’ve used it with OctoRemote and Printoid.
  3. Installing a plugin for CNC.js to add more tether software. This will install a mobile/tablet friendly web page. I haven’t tried this, but I think it’s simple.

Yes. In the past, there was an issue with parenthesis comments, and octoprint wouldn’t work with them. I think that’s been fixed though. You’ll see a useless temperature graph, the gcode viewer won’t work right, and there aren’t any CNC specific functions, but it will work.

CNC.js on the other hand, works very well with grbl, but the Marlin support is still minimal. It’s probably close to time I try their latest version again and update the image. CNC.js has a great viewer for gcode, and it shows the tool placement. If the coordinate stuff worked, that would also be awesome (but I don’t think it does, ATM). Just be sure you’re not trying to connect with both at the same time, so if you’re not sure, make sure you don’t enable any “autoconnect” functions.

If you’re just going to use octoprint, then the octopi image is almost certainly more up to date, and works better with phone apps. The v1pi is a nice way to try them both out though.

There are home buttons in the octoprint and CNC.js interfaces. They also both have ways to define your own macros to do other custom commands. I don’t know how you’re working now, but I’m pretty sure it will be the same with either interface. They replace repetier host pretty completely.

Keep in mind, you can just install a different SD card to change the image. You can also reflash an SD card pretty quickly, so it’s not much effort to just try it out.

1 Like