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

Yep. The docs live here now, sorry. Rtd was annoying me:

https://jeffeb3.github.io/v1pi/

I am having some problems getting this to work on my cantilever laser engraver running grbl 1.1h on a keyestudio CNC shield V4 with a raspberry Pi 3B+. I tried both V0.17.1 & V0.17.0 images with same result. It seems to connect, but $$ command shows nothing & moving the axis control buttons are grayed out. The only port that shows up is /dev/ttyAMA0. Is that normal? I can connect to the keyestudio CNC board using the openbuilds control software, so I have verified the motors work. Here are a couple of screen shots of cncjs.


I also get this message after a while, so I tried another USB cable to see if that was the problem, but same issue.
CNCJS_Problem2
Any suggestions for what I might be doing wrong?

I just replaced the Uno/CNCshield on my daughter’s laser engraver with the Keyestudio board I recently took off my miniFR… it already had Grbl 1.1h on it and I knew it worked. On her Pi setup however, I had the same problem… I’m positive I got it to connect one time, but after that it wouldn’t connect to the Nano and the only port shown was /dev/ttyAMA0. No amount of starting/stopping/restarting CNC.js and/or rebooting the Pi and/or making/breaking the USB connection would make it reconnect. Had another Nano from a different vendor… flashed it with Grbl 1.1h and put in on the Keyestudio board and the Pi connected to it fine, first time, and has connected reliably numerous times since… on /dev/ttyUSB0. Pretty sure the different USB/serial interface chips used on import Arduino devices are the culprit – and on occasion can get them to work – but other times they’ll have you pulling your hair… it’s very frustrating.

I might have another nano I can try. It works directly connected to a PC, so I did not consider the nano to be suspect. Maybe there is some driver that can be installed for it on the raspberry pi?
How about the linux driver located: https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all

Says it supports the * Raspbian Buster (2019-07-10 release) for the Raspberry Pi

I followed their troubleshooting page. I ran the 2 commands
sudo apt-get update
sudo apt-get upgrade
When those did not fix the problem, I ran the dmesg command & saw these several messages in there. (They said to plug it in & then unplug it, but I just did the dmesg)
[ 3.756435] usb 1-1.2: device descriptor read/64, error -32

[ 3.976436] usb 1-1.2: device descriptor read/64, error -32
[ 4.196426] usb 1-1.2: new full-speed USB device number 5 using dwc_otg
[ 4.296436] usb 1-1.2: device descriptor read/64, error -32
[ 4.516435] usb 1-1.2: device descriptor read/64, error -32

[ 5.746511] usb 1-1.2: device not accepting address 6, error -32

[ 6.286771] usb 1-1.2: device not accepting address 7, error -32
[ 6.292715] usb 1-1-port2: unable to enumerate USB device

After seeing that, I rebooted the pi with nano unplugged & plugged it in after it booted & it worked.

I think in that first picture, you’re connecting to the raw rasp port. I need to figure out how to black list that…

Those USB errors seem like they could be describing the problem. Glad you got it working by turning it off and back on again.

It may not be related but I had a problem with the CH340 variant of a ESP32 board with incorrect initialisation of the USB and wifi ports…a problem that went away with a new ESP32 with a cp2102 serial chip…problem is…afaik all the arduino clones use the ch340.

Here is a screenshot ahowning the usb ports that should be available!
usb0

the /dev/tty/USB0 is the one you are after!

There seems to be quite a lot of info on this cheap arduino ch340 problem centered around the cheap arduinos not having a unique serial number. I can also attest to Simplyfy3D not liking these cheap arduinos so it won’t communicate with them properly (it sends M105’s to the arduino but does not hear anything back and eventually the send buffer fills up and then it stops sending as well.)

1 Like

A lot of those problems are windows only. I have used dozens, if not hundreds of cheap uart chips and Linux very reliably handles them.

2 Likes

In this case, it isn’t “Windows only”, Jeff. I don’t do Windows and I am seeing pretty much the same thing Mike and Dave have described. My rolling gantry machine – with v1pi/CNC.js and Nano/Keystudio/Grbl 1.1h – worked consistently and reliably… always connecting to /dev/ttyUSB0, as Mike shows above. I replaced the working Keyestudio board – with its import Nano – with an Eleksmaker controller that had a 3-pin laser output that matched my 2.5W laser perfectly.

When my daughter’s laser engraver acted up a couple of days ago – setup similarly with v1pi/CNC.js and Uno/Grbl 1.1h – I took that same Keystudio board and installed it on her machine. But it simply refused to connect despite all the starting/stopping/restarting/rebooting and USB connect before/after booting I did. The only USB port offered was /dev/ttyAMA0… and /dev/ttyUSB0 never appeared. I then simply flashed another import Nano with Grbl 1.1h, installed it on the Keystudio board, and suddenly had consistent and reliable connection.

No Windows in sight… Linux only. Every once in a while, I run into one that refuses to connect to one particular Pi/CNC.js combo but will connect to a physically different one, setup identically. I sometimes can go through all the gyrations above and “trick” one into working… and sometimes I can’t. It can really be frustrating… :stuck_out_tongue_winking_eye:

– David

Interesting. I haven’t seen that. I get into lots of trouble when I try to use windows with these chips, and I made a leap. Thanks for correcting me.

It is extra strange that it would connect on one pi and not the other. That has me scratching my head.

2 Likes

Hmm - I’m having a weird issue.

I recently installed a home plug network in the shed. It works brilliantly! I’d warmly recommend it to all ho hesitates digging down conduits and poking more holes in the walls.

The thing is, when I was setting up the v1pi with the new network, it started to act weird with the cncjs. I can’t get the server at port 8000 to run. I restart, reboot the pi, and everything. If I stop the process from the landing page, and launch it from ssh, it runs without any complaints.

The only obvious thing I’ve changed is skipping the port 5080, and go directly to 8000. 5080 gives me forbidden access.
Never mind. Now it’s working. Can’t say what changed.

I’m was seeing the same issue with forbidden access. I ended up changing the haproxy config to eliminate the ipv6 and it seems better to me. The problem hasn’t returned but I also have been too busy with work lately to put any time into the cnc. Below are the changes that I made to the /etc/haproxy/haproxy.cfg file

That’s good to know. I don’t really know how to configure that file. I just followed the example from octopi.

Has anyone gotten the ps3 pendant code to work? for whatever reason I cant get my controller connected via bluetooth

No. But you should be able to debug it outside of cncjs. It shows up in the kernel log, I believe. And on success shows up in something like /dev/input/js0. It might help to start googling the blue tooth software you’re using to connect. Arch wiki generally has the best command line advice.

I have been using this image since early 2020 and has been great with my MPCNC.
I bought a Genmitsu CNC 3018-PRO on Prime Day for shits and giggles.
Don’t ask my why because my MPCNC has been very reliable. It was just an impulse buy I guess.
My question is would this image work on that machine also?

1 Like

It connects to mine.

The tool holder for mine cracked at some point, and the LM8U bearings were pressed into the printed Z axis. Gonna be hard to fix “right” so I’m going to epoxy the excrement out of it and cross my fingers. So far all I’ve managed successfully with it is a simple milled circuit board. 1/4" MDF broke it.

1 Like

Cncjs shouls work with grbl or tinyg. Octoprint may have trouble.

I almost bought one of those too. You’ll have to let me know how it works for you.

I’ve been wanting something to dedicate to cutting circuit boards.

@jeffeb3 Wanted to let you know it works good with the 3018. Thanks once again.

1 Like

Wondering if anyone has experienced this before and knows how to pinpoint the problem. I set up the V1pi and used cncjs for a couple of months. I then took a break and made a few changes to my cnc (I spliced in a few aviation plugs to pass wires through my newly completed enclosure) After putting everything back together the CNC seems to work as expected when I try to use octoprint I can move the x and y no problem I can also control the servo pin that I’m using to regulate the needle cutter I have on the cnc at the moment but when I try to use CNCjs (after stopping octoprint) it crashes showing the following error
image
I tried to do a fresh install of the image but that doesn’t seem to have made any difference. The only other thing I can think of is that somehow the wiring on my cnc is wrong and its causing cncjs to crash but it’s strange that octoprint seems to work fine…