Sender software with the Twinwright controller

This page is for people who want to drive the MC-1 from a G-code sender of their own (bCNC, gSender or Universal G-code Sender) instead of from Studio. The MC-1's controller is the Twinwright controller (kernel), compatible with the Grbl 1.1 serial protocol and the extensions current senders use, so these senders work with it, with the few settings and caveats below.

Everything here was tested on the MC-1 digital twin, which runs the same controller code as the machine. Checking it on a real machine is still to come. Tested versions: bCNC 0.9.16, gSender 1.6.4, UGS Platform 2.1.27.

Connect

WhereHow
The twin in Studio's windowStudio takes one sender at a time on localhost:2323 (this computer only; start Studio with --bind any to reach it from the network). bCNC: port socket://localhost:2323. gSender: Ethernet, address 127.0.0.1, port 2323. UGS: tcp://localhost:2323.
The MC-1 itselfNative USB: the controller shows up as a serial port (COM*n* on Windows). Pick that port. The baud rate does not matter on native USB, but some senders want one: 115200 works.

What the controller says about itself:

Pick the firmware in the sender

SenderSettingWhy
bCNC 0.9.16Controller: GRBL1bCNC does not read the firmware's name. Tested with GRBL1.
gSender 1.6.4Default firmware: the choice other than GrblgSender recognises a firmware by its name in $I. Our controller gives its own name, so gSender uses the firmware you set as the default. Tested with that choice.
UGS 2.1.27Firmware: GRBLTested: settings, programs, alarms and homing after a reset, with no extra Soft Reset (section 3). UGS's other firmware choice works as well, but needs one more Soft Reset after a reset; jogging was tested with that choice only.

After an alarm or a reset

Tool changes (M6)

None of the three senders, with their default settings, lets the MC-1 change the tool and measure the new one:

SenderDefaultWhat to do
bCNCSkips every M6 line: the next tool's cuts are made with the tool still in the spindle.Set its tool change to Manual tool change (TLO) and measure on the MC-1's tool setter (section 5).
gSenderTool change "Ignore": M6 is sent as a comment and the program does not stop.Set its tool change to Fixed Tool Sensor at the MC-1's tool setter (section 5).
UGSHandles M6 itself: it retracts, stops the spindle and asks you to change the tool, but it never measures it. A longer tool then cuts too deep, and on a real machine it can crash into the part.Run one tool per program and set the tool's length or work zero before each, or use Studio for programs with tool changes.

More about UGS and M6:

Measuring tool length on the MC-1's tool setter

The tool setter is at the back left of the table; G59.3 is stored right above it.

Setting work zero with a touch probe

Other things to know