Microsoft and Google are Evil! Using machine tools how do we avoid these suck companies in the shop
i am currently using Linux mint but have cnc machines that only run on windows and i hate microsoft and google for the evil corporations they are and refuse to use their products. I’m looking at a road map and trying to find alternatives in every instance that uses software
That’s a strong and principled stance—and one that’s totally possible to work with today. Many people are walking the same path: replacing Microsoft, Google, and other corporate platforms with open, user-respecting alternatives.
Let’s break down a realistic roadmap toward full independence, especially with a focus on your CNC machines, AI, and Linux-first approach.
🧭 Roadmap: Replacing Microsoft/Google & Running CNC on Linux
✅ 1. Audit Your Current Stack
- What apps are you stuck with on Windows?
- Machine control software?
- CAD/CAM design software?
- USB drivers or proprietary interfaces?
If you tell me the names of the CNC control software or hardware you’re using, I can find Linux alternatives or compatibility layers.
🛠️ 2. Strategies for Running Windows-Only CNC Software
You don’t have to run Windows to run Windows software:
Option A: Run Windows in a Virtual Machine (VM)
- Use VirtualBox or QEMU/KVM inside Linux Mint
- Run your CNC software in a contained Windows VM
- Benefits: full control, no telemetry, no dual boot
Option B: Use Wine/Proton Compatibility Layer
- Many Windows apps (even CAD/CAM) work through Wine, no full Windows install needed
- We can test yours and even patch it if needed
Option C: Replace the CNC software completely
If your machines can be controlled by standard G-code, we can use:
- LinuxCNC
- Mach4 via Wine or VM
- GRBL controllers + bCNC / Universal Gcode Sender
- OpenBuilds CONTROL
🧠 3. Replace Other Google/Microsoft Software
Here’s a list of top-tier alternatives:
| Task | Replacement | Notes |
|---|---|---|
| Operating System | Linux Mint (✅ you’re already on it!) | Can eventually move to Debian, Void, or OpenBSD for even more control |
| CNC Control | LinuxCNC, GRBL + bCNC | Works on real-time Linux kernels |
| CAD (2D/3D Design) | FreeCAD, LibreCAD, SolveSpace | FreeCAD is improving rapidly with AI plugins emerging |
| CAM (Toolpath Gen) | PyCAM, FreeCAD Path Workbench | Many use FreeCAD Path module with post-processors |
| Office suite | LibreOffice, OnlyOffice | Avoids MS Office/365 completely |
| Browser | LibreWolf, Mullvad, Ungoogled Chromium | Hardened privacy |
| Cloud storage | Syncthing, Nextcloud | Fully self-hosted |
| Thunderbird + Mailfence/Tutanota | Full Google-free stack | |
| AI tools | LM Studio (local), Ollama, LocalAI | Can run models offline |
💡 4. Start Building a Personal “Toolchain”
Start documenting the full workflow:
- “Design in FreeCAD → export STL → CAM in Path Workbench → G-code to LinuxCNC”
You’ll want to:
- Isolate hardware dependencies (e.g., USB-to-serial dongles, proprietary dongles)
- Test software equivalents
- Create virtual machines or isolated sandboxes for legacy apps
🌐 5. Build or Join the Community
- Follow projects like LibreCNC, LinuxCNC, and FreeCAD CAM community
- Consider starting a self-hosted wiki (using DokuWiki or Obsidian) for your stack
🧩 UCCNC on Linux: The Challenge
UCCNC is Windows-only software made by CNCdrive, and it’s tightly coupled with their proprietary motion controllers like the UC100, UC300, and UC400ETH. These controllers require drivers and real-time USB/Ethernet communication, which do not work under Linux or Wine natively.
So unfortunately:
❌ UCCNC cannot currently run on Linux or Wine, and the hardware interface makes virtualization (e.g. using a Windows VM) very unreliable for real-time CNC control.
✅ Options to Move Away from UCCNC
You’ve got two paths forward:
🔁 Option 1: Replace UCCNC Controller with Linux-Compatible Hardware
Use a controller board designed for LinuxCNC or GRBL, such as:
| Controller | OS Support | Notes |
|---|---|---|
| Mesa 7i76E | ✅ LinuxCNC | Industrial-grade, Ethernet-based, real-time motion |
| GRBL boards (Arduino-based) | ✅ Many | Budget-friendly, great for simpler 3-axis machines |
| BeagleBone Black + Machinekit | ✅ Linux | Embedded, real-time CNC control system |
| EtherCAT boards | ✅ LinuxCNC | Complex setups, but very powerful |
🧠 What the Operating System Does in CNC Use
The OS (Windows, Linux, etc.) is just the foundation. Its job is to:
- Manage hardware I/O (USB, Ethernet, serial, parallel ports)
- Run the CNC control software (like UCCNC or LinuxCNC)
- Handle file input/output (G-code files, tool libraries, macros)
- Provide a UI (graphical interface or terminal)
- Coordinate timing and resource access (very important for real-time movement control)
But the OS itself doesn’t “do” CNC — the control software sitting on top of the OS does.
🧰 What CNC Control Software (Like UCCNC) Actually Does
Once you load G-code, your controller software handles:
| Task | Description |
|---|---|
| G-code parsing | Reads line-by-line commands like G1 X10 Y5 F500 |
| Path planning | Calculates motion between points smoothly |
| Kinematics | Translates desired position into stepper or servo motor signals |
| Motion control | Sends precise pulses or commands to the motor drivers |
| Feedback/monitoring | Handles inputs like limit switches, E-stops, encoders |
| UI Display | Shows you toolpaths, jog controls, DROs, and machine status |
UCCNC handles this for Windows + their proprietary controller. LinuxCNC or GRBL do the same on Linux, but they replace the proprietary piece with open-source logic and compatible hardware.
📈 So, Why Does OS Matter at All?
Mainly because:
- Real-time control is sensitive to OS design
- Linux can run a Real-Time Kernel, which allows millisecond (or microsecond) timing precision.
- Windows is not a real-time OS, so UCCNC offloads real-time work to their external UC100/UC400 controller (which is real-time capable).
- Hardware compatibility and freedom
- Windows needs drivers and often only supports certain hardware
- Linux can be customized for minimal setups, embedded boards, offline-only systems
- Software freedom
- Linux gives you full control to modify or audit your entire CNC stack
- No telemetry, no license locks, no forced updates
🔧 What Happens Without an OS?
You can build a CNC system that skips the full OS and runs on:
- An Arduino running GRBL firmware
- A Raspberry Pi Pico or STM32 running FluidNC or Klipper
- A BeagleBone using Machinekit (embedded Linux with real-time extensions)
These embedded systems still interpret G-code → axis movements → pulse signals — but with very limited user interface and sometimes weaker performance or expandability.
✅ Summary
The OS is:
- A host for the control software
- A bridge to your machine’s hardware
- A tool to manage and monitor job execution
But the real CNC logic lives in the controller software and hardware, and that’s what you can switch to Linux-compatible versions of — with no Microsof
OpenBuilds CONTROL is a free, open-source CNC control software designed for machines running GRBL firmware (like many hobby CNC routers, mills, lasers, and plasma cutters). It’s made by the folks at OpenBuilds, a company known for modular machine components and open hardware kits.
It runs on Windows, Mac, and Linux, and is a great alternative to proprietary software like UCCNC — especially if you’re moving toward an open, Linux-friendly CNC workflow.
🔧 What OpenBuilds CONTROL Does
It’s a G-code sender and machine controller, designed to interface with a GRBL-based control board (usually over USB). Here’s what it can do:
✅ Core Features
| Feature | Description |
|---|---|
| G-code sending | Load and stream G-code to your machine |
| Jog controls | Move axes manually using keyboard or UI |
| Visualization | Shows a 3D preview of your toolpaths |
| Probing tools | Auto Z probing, touchplate support |
| Macros | Custom button scripts (homing, spindle on/off, etc.) |
| Port & firmware detection | Auto-detects GRBL-compatible boards |
| Machine setup wizard | Easy configuration for new machines |
⚙️ Typical Hardware It Works With
| Controller | Notes |
|---|---|
| GRBL (Arduino Uno + CNC Shield) | Most common DIY setup |
| BlackBox (from OpenBuilds) | A GRBL-compatible controller with extra features |
| Other GRBL boards | Like Spark Concepts xPro, Sainsmart, etc. |
| 32-bit GRBL boards | Some support for newer boards like ESP32/STM32 (FluidNC, Grbl_ESP32)** |
🐧 Why It’s Great for Linux Users
- Native Linux support (AppImage available)
- No need for Wine or virtual machines
- Works well with inexpensive GRBL boards
- Easy to install, intuitive UI
- Self-contained — doesn’t need cloud or internet
🧱 Where It Fits in Your CNC Workflow
Typical Linux/Open Toolchain Example:
1. Design part → FreeCAD / LibreCAD / etc.
2. Generate G-code → FreeCAD Path Workbench / Camotics / PyCAM
3. Send G-code → OpenBuilds CONTROL → GRBL board → CNC machine
🔒 Freedom & Openness
- Open-source licensed (MIT License)
- Maintained by a transparent and active development team
- You can audit or modify the code if needed
👎 Limitations (Compared to UCCNC)
| Limitation | Detail |
|---|---|
| Requires GRBL | Won’t work with UCCNC hardware (UC100, UC400ETH) |
| No real-time feedback for encoder motors | Best for stepper-based systems |
| Simpler feature set | Doesn’t have advanced MDI features or pendant support out-of-the-box |
🧪 Should You Try It?
If you’re planning to move away from UCCNC and into a fully Linux-compatible CNC setup with open hardware, OpenBuilds CONTROL is an excellent place to start.
You’d just need a GRBL-compatible controller (I can help you choose one), and you’re off.
SoftDMC Digital Motion Control firmware for FPGA based I/O cards so this would be the same as uccnc?
Yes — SoftDMC (Digital Motion Control firmware for FPGA-based I/O cards) is conceptually similar to UCCNC, but potentially more flexible and open, depending on its architecture and licensing.
Here’s how the two compare:
🧠 What UCCNC Does
UCCNC = CNC software + closed-source firmware running on proprietary UC100/300/400 motion controller hardware.
| Layer | Role |
|---|---|
| UCCNC software (on PC) | G-code interpreter, UI, motion planner |
| UC100/300/400 device (external) | Real-time pulse generation, I/O |
| UC firmware | Proprietary, pre-loaded, closed source |
| OS | Windows only |
🧱 It offloads real-time control to an external board with a fixed firmware — users can’t modify or extend it.
⚙️ What SoftDMC Is (in theory)
SoftDMC = FPGA-based motion control system using downloadable firmware and software that can be customized, ideally open-source.
| Layer | Role |
|---|---|
| Host software (on PC or SoC) | G-code sender, UI, motion planner |
| FPGA card | Real-time motion controller — reconfigurable |
| SoftDMC firmware | Handles motor control, step/dir, encoder feedback, etc. |
| OS | Could be Linux, RTOS, or even bare-metal |
🧠 You can reprogram the FPGA, giving you full control of:
- Number of axes
- Type of motors
- Stepper/servo logic
- Pulse timing
- Encoder interfaces
- Custom I/O or protocols
🆚 Summary: SoftDMC vs UCCNC
| Feature | UCCNC | SoftDMC |
|---|---|---|
| Hardware | Closed-source UC100/UC300 | FPGA-based, likely reprogrammable |
| Firmware | Closed, proprietary | Customizable, potentially open |
| Host OS | Windows only | Linux or cross-platform possible |
| Real-time motion | Handled by UC hardware | Handled by FPGA |
| Custom logic | ❌ Not modifiable | ✅ Fully modifiable in HDL |
| Software freedom | ❌ Proprietary | ✅ Depends on source availability |
🧠 What This Means For You
If you move to a SoftDMC-style FPGA platform:
- You can ditch Windows and UCCNC entirely
- Run your CNC on Linux with a UI like LinuxCNC, custom control panels, or even headless setups
- Use real-time FPGA motion control for ultra-precise timing (better than GRBL, possibly better than Mesa/LinuxCNC)
- Build a fully sovereign CNC stack — ideal for avoiding corporate lock-in
🧰 Real-World Similar Projects
If SoftDMC isn’t public or open-source, these alternative FPGA motion control projects might interest you:
| Project | Notes |
|---|---|
| Machinekit + FPGA (e.g. DE0-Nano) | A LinuxCNC fork that works with FPGAs |
| Remora | A real-time CNC firmware for STM32 boards that mimics LinuxCNC over SPI |
| Mesa FPGA cards | Most popular for LinuxCNC users — highly reliable, closed bitstreams but fully documented |
| SimpleFOC + MicroPython + RP2040 | Embedded control for advanced motion on a microcontroller, not FPGA but open-source |
🚀 Want to Explore This Path?
If you want to go this direction, we can:
- Evaluate SoftDMC’s compatibility with Linux
- Compare it with Mesa or Remora systems
- Build a software stack: FreeCAD → Path Workbench → G-code → SoftDMC FPGA
