Rest in Peace Maslow CNC

I am giving up on the Maslow CNC. I have replaced the controller board to deal with the bad solder joints on the stepper motor chips; I sanded the flash off of the belt spools and lubricated them; I adjusted the belt guards to reduce interference; I changed my designs to live with the +/- 2mm cutting error; I reduced the tension to eliminate the wobbling; I use a portable power station to resolve the power issues at the shop; I worked out issues with the post-processing, but the WiFi problem has defeated me.

At my house the 2.4GHz WiFi noise floor is less than -70dBm. My home network is typically -40dBm at 10 feet, and my travel router is typically -30dBm at 10 feet. I purchased the travel router to improve the connection to the Maslow CNC WiFi. The Maslow CNC WiFi in AP mode is -40 to -50 dBm at 10 feet depending on the antenna lobes.

At the shop, where I use my Maslow CNC, the WiFi noise floor is between -40 dBm and -50 dBm depending on the channel. I place the travel router 6 feet from the Maslow CNC and while I have no problems at home; at the shop the Maslow CNC will always reverts to the built in access point. Without the travel router in the middle, I cannot make a reliable WiFi connection to the Maslow CNC with my phone or tablet. I tried using my wife’s laptop but something between Windows11 and Maslow CNC is not compatible, and the connection resets under a minute constantly.

I might bring the frame home but that means that I can only use the router outside on sunny days which is not bad in the summer but is not workable in the rest of the year. I really wanted the Maslow CNC to work but for me it does not.

Randy

2 Likes

Sorry that sounds rough. Only thing I can think of is trying a Wi-Fi range extender. I bet you have thought through that. I wonder if there is a software way to attach a better antenna.

That is really frustrating. I am sorry to hear that.

On my reasonably short list of things that I want to do is to build an app version of the interface which uses the bluetooth connection to control the machine instead of wifi to provide an alternative connection method in situations like this.

That being said it might be several months before I can work on it realistically :confused:

I wish there were more hours in the day!

3 Likes

Wouldchuck,

The travel router works like a WiFi range extender with but with some nice features like being the host with all the bells and whistles like static addresses.

The problem with the Malsow CNC controller board is hardware. A software solution would be Ethernet over USB. Run a USB Cable to a computer and the Web interface would work like it does now. I know that Ethernet over USB on a Raspberry Pi zero was easy (so the software people told me) but I don’t know if it would be on the ESP32.

Back when I worked for a living, I did a lot of redesigns on RF boards to fix issues. The first step is to look at the PCB design and do some analysis to see if good practices were done. Second look at the matching circuit and test it to see that it is working efficiently. Third is to do some Rx and Tx testing in a screen room. Some software is needed to measure packet loss for the Rx test and software that put out a CW (Continuous Wave) so the Tx power can be measured. I no longer have access the PCB analysis software, the RF test equipment or a screen room so there is not much I can do to fix the RF issues.

Randy

2 Likes

Bar,

There are problem with the Bluetooth solution: less range, sharing of the 2.4GHz frequency band with WiFi and the limited bandwidth.

I would like to see an Ethernet over USB solution but I don’t know it that is easy on the ESP32.

Randy

2 Likes

Bar wrote:

That is really frustrating. I am sorry to hear that.

On my reasonably short list of things that I want to do is to build an app version of the interface which uses the bluetooth connection to control the machine instead of wifi to provide an alternative connection method in situations like this.

I started on this, but have not had a chance to do much testing

I am trying to set it up to work with regular wifi, bluetooth, usb serial and
usb network (all the possible paths)

David Lang

3 Likes

@GarageBoatBuilder , I’d really like to see some boats built in a garage. Sounds like you’ve tried various RF channels, i’m guessing you’ve used network analyzer apps on your phone to figure out local networks broadcasting SSIDs to get a sense of congestion and which channel(s) make sense to use.

Given your experiments and RF experience, do you suspect the antenna on your specific Maslow controller’s ESP32 module is the problem?

If so, sounds like you’d like an ethernet or USB wired connection. I previously ran 10ft USB cable to a CNC controller, I didn’t provide decent strain relief, so jobs failed enough into frustrating me to make wifi work.

If you’re unable to improve wifi in your env for reason(s), then am wondering if stranded ethernet to an additional raspberry Pi (or similar modest compute with ethernet port) that rides on the Sled, and runs serial port proxy to the Maslow controller over USB cable between the Pi and the stock Maslow controller?

What’s the recommended setup for someone that must run their Maslow wired instead of wifi? Just spit balling possible solutions. Critiques/suggestions welcome if that leads to working solution that helps churn out some garage born boats.

EDIT: I dug around to better understand what Ethernet over USB means, involves, and would enable. https://github.com/MaslowCNC/Maslow_4/pull/983 seems neat, even though USB CDC-ECM support wouldn’t help Windows users?

More details…

AI Generated detailed comparison of Serial-over-USB vs Ethernet-over-USB

Wired USB control options: Serial vs Ethernet-over-USB

Both use the same USB-C data cable and have the same basic USB cable-length / EMI limitations. Ethernet-over-USB improves the software/UI experience, not the physical noise immunity.

Topic USB Serial / COM Port Ethernet-over-USB
PC sees Maslow as COM / serial device Network adapter
Main use G-code, jog, logs, recovery Full browser UI over HTTP/WebSocket
Normal Maslow Web UI Requires serial-aware UI/proxy; may lose features Works much like Wi-Fi UI
File upload / downloads Awkward or not supported by basic serial mode Best option; normal HTTP uploads
Settings / calibration / files May need special serial implementations Can reuse normal WebUI paths
Diagnostics / raw commands Excellent Good, but serial is still better for console/debug
Windows 11 Very easy; CDC serial is native Use CDC-NCM or RNDIS; ECM alone is not a good Windows target
Linux / Raspberry Pi Very easy ECM or NCM are good options
macOS Very easy ECM is likely the simplest target; validate NCM/RNDIS behavior
Browser compatibility Web Serial is mainly Chromium browsers; desktop senders work everywhere Any normal browser once network/IP is connected
Long-distance approach Direct USB gets less attractive as length/noise increases Short USB to Pi/controller, then long Cat5e/Cat6 Ethernet
Physical EMI advantage None versus USB networking None versus serial; same USB cable/port
Firmware effort Lower Higher: USB networking, IP config, host compatibility
Best near-term fallback Yes More work
Best long-term wired product solution Useful backup / recovery path Yes

Recommended architecture

Maslow USB-C composite device
 ├─ USB CDC Serial  → logs, recovery, raw commands, basic G-code control
 └─ USB NCM Network → full WebUI, file upload, settings, calibration, live status

For Windows direct USB control, target CDC-NCM, not the current experimental CDC-ECM implementation. For a Raspberry Pi bridge, ECM or NCM can work well: keep USB short near the CNC, then use long wired Ethernet to the user PC.

Bottom line: Serial is the fastest “get me cutting without Wi-Fi” path. USB networking is the better path for preserving the full Maslow browser experience. The experimental Maslow Web Serial work itself hid some HTTP-dependent UI features, while the USB-network approach was designed to keep the existing network UI model.

AzaB2C,

Sounds like you’ve tried various RF channels, i’m guessing you’ve used network analyzer apps on your phone to figure out local networks broadcasting SSIDs to get a sense of congestion and which channel(s) make sense to use.

Yes, I used a WiFi analyzer app on my phone. There are more than 20 SSID’s that show up. There are two WiFi 6 mesh networks that use all of the 2.4MHz channels so all the other WiFi’s have to increase their power to get through. There are no good channels to use.

Given your experiments and RF experience, do you suspect the antenna on your specific Maslow controller’s ESP32 module is the problem?

Not the antenna but the layout. Mixing RF and motor drivers designs is not easy; been there, done that.

I did a quick design review of the schematic and layout. GND is not on either of the mid layers but instead split up on the top and bottom layers so the board is going to be noisy. Split grounds can be done but it is very difficult. Mid 1 is 3V3 and Mid 0 is VCC.

I would have done a six layer board with Top (signal and ground flood), Mid 0 (GND), Mid 1 (3V3), Mid 2 (VCC), Mid 3 (GND), Bottom (signal and ground flood). A six layer board would have about doubled the cost of the bare board.

Looking at the bypass capacitors for U1 for example. Pins 28 and 22 are VCC. Pin 28 is bypassed by C41(10uF) only and Pin 22 is bypassed by C1, C2 (0.1uF) and C39 (10uF). C2 should have been on pin 28. The data sheet recommends 47uF instead of the 10uF.

Pin 15 is 3V3 and is bypassed by C4 which is a 0.1uF. I would have put an additional 10uF on Pin 15 if there was space available.

Pin 8 is 5VOUT and is by passed by C5 (0.1uF). C5 should have been a 2.2uF to 4.7uF capacitor per the data sheet.

I will stop here with the design review.

If so, sounds like you’d like an ethernet or USB wired connection, how about a raspberry Pi (or similar modest compute with ethernet port) that rides on the Sled, and runs serial port proxy to the Maslow controller over USB cable between the Pi and the stock Maslow controller?

I was thinking of a RPI PICO on the sled as either as a Serial to USB (preferred) or a Serial to WiFi adapter

Randy

1 Like