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

Thanks Jeff,

Giving that a shot now. The Pi I’m using came from a portable retro game machine project that ended up taking a different form factor. I left it attached to the LCD because it had a stand. Didn’t imagine it would actually be useful as a screen. Seeing alot of warnings about depreciated things, but that’s par for the course with Linux >_<. Install completed, going to reboot and try it out!

Once I did the update the jogging doesn’t work initially, however once you send a G0 X5 one time, it works from then on. Good enough for me!

Thanks much for this!

1 Like

Forgive me, but I’m a noob here. I installed the image a couple weeks ago and I boot up and can see the Octoprint and the CNC.js. When I load CNC.js it loads but after a minute or two the server says it is off and it bumps me out to the main screen where you pick Octoprint or CNC.js and shows cnc.js as offline. Any idea what might be going on? Also can someone confirm that the CNC.js works with the RAMBO marlin load?

I have a different control board, so this might not be exactly right, but…

When you start CNCjs, there is a little box (widget) on the left to set up the connection the CNC.

Marlin will need to be selected, and the PORT should probably be set to /dev/ttyUSB0. I’m not sure on the Baud rate, you might need to experiment.

Then you can click the “open” button…I have the “Connect automatically” box checked, so don’t need to click open.

I believe it had to do with the octopi running at same time. I shutdown the octopi server and the cncjs seems to remain stable but I still can’t get it to control the printer. Any ideas? Here is what the screen looks like. It says it’s connected but no combination of any controls moves the cnc and/or shows send commands.

Note: I"m running a Rambo board with Dual Endstop firmware (Marlin)

Can you open the co sole window?

I had this problem when I was connecting using the wrong port. Click the down arrow and see if you have another option – when I pick the right one, it works much better. :slight_smile:

Has anyone used this image to set up a standalone pi instead of having to remote in? I went ahead and picked up a 7" touch screen to give this a shot.

7" Touch Screen

I had to run quite a few lines of code to get ldxe, chromium, and autostart all working. But the end result is that my pi serves up the octopi/linuxjs splash page after it boots. If you create a little heavier image that includes the gui, this would be a pretty straightforward deployment though. Food for thought.

Ultimately I’ll print a case to hold everything and treat it as a handheld controller I think. (I don’t have any expectations of it working with the plasma cutter, so i’ll make it easily detachable.)

Demo Video

I don’t want to have to make any more kinds of images, and running the desktop is very resource intensive (when you’re not using it, it is a big waste). It isn’t too hard to install it from the lite image, and you could also just install raspian on a separate pi, and have it be 100% wireless, with the screened pi talking to the server one.

You might also want to check out the TouchUI plugin for octoprint, and there is a shopfloor tablet interface for cncjs. They both make interacting with a touch screen much easier. There is also the octoremote app in the arduino store which works pretty well for octoprint.

I’m also getting the “forbidden access” on CNC.js at port 5080, but no issues at 8000. I’m new to the Pi stuff… how do I edit the landing page to change the port to default to 8000?

Ssh in.

Run this to open the editor:

nano landingPage/templates/landingPage.html

Then find the line that says this:

<a href="#" onclick="javascript:window.location.port=5080">

And change the 5080.

You can also take the pi out, and edit that file on the sd card. It will be home/pi/landingPage/templates/landingPage.html

What browser and OS are you accessing from to get that error?

Thanks, that did the trick!

I am using Windows 10, both Chrome and Edge gave the same result. However, if I manually type in the IP address rather than “v1pi.local”, the port 5080 link works.

That is odd. The port 8000 works when you use the v1pi.local address from the landingpage now?

Yep, seems to be fine.

Although, after leaving the pi running for about 10 minutes (but browsers closed), then opening up again, CNC.js says “stopped” and won’t restart until a hard reboot of the pi.


What PI are you using? I’;m having the same issue with a Raspberry Pi 4. Work has got in the way of me looking into it.


What version of v1pi are you using?

I’m using V0.17.1 no hotspot on a Pi 3B (no plus).

1 Like

Ok. That’s really cool. I need to pull the code down and see if I can add a button for ‘test-fire’ the laser. It also looks like I’d have to put the Z homing into a gcode file and load it instead of it being a button.