Web Control Raspberry Pi Model 3b

Thanks for the info, everyone! I’ve been lurking on these boards for a while in anticipation of someday getting a kit and it’s nice to see such generous support!

1 Like

The new boards won’t boot the old images, but new images will run on the old

David Lang

I have seen the same on my setup using an old rPi B r1. I have to do some more testing, but I think that it has essentially removed the ability of my using the maslow for cutting curves. Seemed to send gcode commands once per second, literally. I need to test it with some other gcode with curves I ran before to make sure it is not something in the specific code I was trying, but it was painful to watch the machine lurch .05 inches then pause and wait for another gcode command.

I am not sure if it makes a difference that I have a monitor connected to the rPi. I am running buster Lite and have no desktop, just the basic text on the connected monitor (connected using hdmi to vga adapter, in case that is relevant). No camera, but I do have a power switch that monitors a couple pins, but I can’t see that as causing 99% CPU utilization.

If my testing reveals that it is the rPi that is the bottleneck, then I likely have a trip to Microcenter in my future

I was running buster lite headless with nothing else. I decided that my Pi B r1 is a good old dog, but maybe better for some milder use. I’ve put it to monitoring a UPS as it’s only task. That seems a good job for the aging friend.


I’m following this with interest.
im running a headless Rpi 3B, and it runs at 95%-100% all the time when webcontrol is on.

when i shut down webcontrol, usage CPU usage drops to about 15%.

Htop shows it’s mostly webcontrol.

any hints on making this less cpu intensive?


Perhaps take a look at this post. Still in testing, but promising.

I’ve not experienced that high of a level of CPU usage. How many web clients (remote browser windows) do you have open and connected to the webcontrol server? Is it running high usage when idle and you have no gcode loaded?

No offence intended @ mad grizzly :rofl:

none taken… I would love to see everyone use the new hotness.

1 Like

I typically only have one web browser at a time open
I went around and closed any tabs on any other computer in my house, but none of those computers were “in use”. They were all laptops or tablets that were closed or asleep.

No gcode loaded.

How would I tell if there were a lot of open connections to webcontrol?

Are you autostarting it or running from a terminal? If running from a terminal, can you see any error messages in the terminal window? Also, are you trying to use the camera function? Make sure it’s turned off

it’s autostarting when I reboot.
but when I turn it off from webcontrol, it stays off. I can kill it via htop.
I never set up a camera, so I will check if it got turned on somehow.
perhaps related…I cannot update from 932 to 94.
when I look for a service to turn off…I see no service for webcontrol or maslow.
Instead I see a webMCP.service.
and it does not have “autorestart” checked. it does some sort of “docker” thing, which I read somewhere is not the way to go anymore.

I think the right thing for me to do is delete the webcontrol folder and “wget” the new version. but I don’t know how to do that.


so i was able to run it in terminal. here is what it spouted out:

Initializing Logger
Initializing Configuration
Camera initialized
raspbian gnu/linux
VIDEOIO ERROR: V4L: can’t open camera by index 0
Using routines for Python == 3.5
Starting Console Queue Processor
opening browser
Checking latest pyrelease.
Trying to connect to controller on /dev/ttyACM0

Connected on port /dev/ttyACM0

Sending: B05
Error checking pyrelease: could not convert string to float: ‘2020-05-26-2021’

WebControl 1.27
Firmware Version 51.27

Sending: G21
Sending: $$
Fontconfig warning: “/etc/fonts/fonts.conf”, line 100: unknown element “blank”
[2175:2272:0903/222219.374399:ERROR:object_proxy.cc(621)] Failed to call method: org.freedesktop.Notifications.GetCapabilities: object_path= /org/freedesktop/Notifications: org.freedesktop.DBus.Error.ServiceUnknown: The name org.freedesktop.Notifications was not provided by any .service files
{“hostAddress”: “”}
starting UI
I’m connected!
Sending Board Data
Sent Board Data
Sending Board Cut Data compressed
Sent Board Cut Data compressed
VIDEOIO ERROR: V4L: can’t open camera by index 0
ATTENTION: default value of option force_s3tc_enable overridden by environment.
[1:8:0903/222319.595385:ERROR:command_buffer_proxy_impl.cc(124)] ContextResult::kTransientFailure: Failed to send GpuChannelMsg_CreateCommandBuffer.
One Error Report Command Misread

I don’t know if any of that is helpful, but I noted it initialized the camera, but i don’t know how to stop that.

Many of these error messages I haven’t seen before. Some of the error messages suggest you are running headless chrome at the same time.

As for the camera, there’s a little camera icon on the right handle panel… should have a /cross through it for it to be disabled. If its not, click the camera icon to disable it. Don’t get stressed about some of the messages about camera being initialized… it doesn’t actually mean the camera was initialized… go figure :wink:

a few updates:
-camera is off/disabled (I found the icon- with a /cross )
-somehow in all this I managed to upgrade to version .94
-touch pad Z axis zeroing seems to work now.
-the “lag” between pushing a button/command and the machine doing something seems to have shortened to 5-10 seconds.

still runs at 95% cpu capacity with no gcode loaded.
I’ll see if I can get a new readout of errors tonight. I didn’t intentinally put chrome on this pi. it’s my first pi and I followed the directions someone posted here about piBakery and such (“raspberry pi for beginners”?)


A further update:

I was able to do holey calibration, but only after a few attempts.
Attempt 1 was successful, but this was the initial calibration.
Attempt 2 failed to complete the entire cut, and got stuck after cutting the first 3 holes.
Attempt 3 successfully cut all 6 holes. However, after putting in the values and clicking “calculate” it got hung up again.
I restarted the R/pi and was able to put in the values again, and recalculated after about 3 minutes of waiting.
So then I loaded up a gcode.
It froze after about 45 lines of code.
I was never able to get it to move past this. after restarting the pi and restarting the cut several times, it always freezes at about line 30-40.
Interestingly, when it hangs up, the CPU usage drops from the normal 95-100% down to about 80%. it’s not doing anything to process the G-code, but

I gave up.
so I plugged in the maslow to my laptop (ground control, not webcontrol), and was able to cut the ~4500 lines of code with no maslow-groundcontrol hangups.

What should I do to get info for the group here to help me diagnose the problem?
or is this R/pi 3 just not up to the task at all?

I’m running a headless raspberry Pi 3b for WebControl, installed on top of raspbian OS lite. I only see CPU usage around 30 to 40% while cutting. I connect to the WebControl server with an old laptop.

Are you running a desktop and browser on the 3b?

Mine is also headless. I VNC into it to check on things.
I just checked, and apparently I’m running the full raspbian image.

But, interestingly, when I don’t have webcontrol running, the CPU usage is down in the ~15% range.

I just ran htop, and here’s what’s consuming CPU when webcontrol is not running.

Generally low cpu usage even with VNC running. This shows about 12%, and htop is the biggest user with 5%.

Here’s what it looks like when webcontrol is running, and plugged into the arduino.

as you see, cpu is at about 97% with almost 85% of that webcontrol.

So, if I switch down to lite, will I still have the ability to VNC into it and have something that looks like a GUI/desktop to do troubleshooting?

And what about running lite will make webcontrol consume less cpu?


Lite does not contain Xorg or desktop environment, so VNC will not be much help. I just putty or use Mobaxterm (both free to use) to ssh to the Pi from my laptop and manually start WebControl.

I’m not saying you have to re-image your pi. You could test it by enabling SSH, mayb disable VNC in network options, then disable Desktop in raspi-cong boot options, if you are comfortable with it.

Just be sure to enable and test ssh before switching off desktop, or you’ll be dragging out a monitor and keyboard to the shop to get back in to your Raspi.:slight_smile:

1 Like

This is a model 3b as well and it only takes ~20% of the processor. The snagged screen shot and said 16 instead of 21, but it was rotating through processors 1,2, and 3 at 14-21%.

It runs the command line interface with a text display screen. The instructions @Jamtek provided to switch to the command line interface (CLI) should really cut down on the processor overhead. On the system being viewed, there is also a separate python thread running that sends and receives data to/from webcontrol over a socket every half second, so most webcontrol instances should be using less cpu.