hjLabs.in

Industrial Automation

Official User Guide  ·  v1.0

karmyogi.hjLabs.in

The browser-based CNC controller & CAD/CAM workbench

Why karmyogi exists

To close the gap between what a CNC machine can do and what an ordinary person can actually operate — and to put every job a 3-axis machine can do into one application you never have to leave.

Running a CNC machine has traditionally meant stitching together a pile of tools: one program to draw, another to generate toolpaths, a third to send G-code, a driver package to install, and a manual to decode before any of it moves. karmyogi collapses that whole chain into a single browser tab, and deliberately designs for the most layman operator — plain-language labels, safe defaults, a visible 3D preview of exactly what will happen, and a motion lock-out so nothing moves until you say so. Ease of use is not a trade against capability here: the same app carries carving, engraving, laser, PCB isolation routing, soldering, plotting, 3D printing, embroidery and more, so you stop hopping between applications and start finishing work.

One app, every job

23 work modes for 3-axis machines. Never leave the app to change task.

Nothing to install

No drivers, no server, no account. A browser tab and a USB cable.

Built for beginners

Plain language, safe defaults, motion lock-out, and a 3D preview before every cut.

Any 3-axis controller

GRBL · FluidNC · grblHAL · Marlin, over USB, Bluetooth or Wi-Fi.

Guide edition
v1.0
30 July 2026
Documents app build
mrc6q0w1
published 8 Jul 2026, 14:40 UTC
Check your build
Click the karmyogi wordmark in the app → About. It shows the build id and date.
Versioning
Builds are continuous, not numbered releases. A higher build id is newer.

karmyogi updates continuously, so a screenshot may differ slightly from your build. Where this guide describes something newer than the published app, it is marked in the text. A full no-warranty / no-liability notice appears on page 2 — please read it before you run the machine.

hjLabs.in
karmyogi · Official User Guide · v1.0

00 · Contents

How to read this guide

Every figure is a real screenshot

Every Figure is a screenshot of karmyogi actually running — never a mock-up — captured at 2× so it stays sharp when you zoom or print. Numbered balloons sit on the exact control described, and a leader line ties each one to its entry in the key, the same convention as an engineering drawing. A few wide photographic bands open sections; those are labelled Illustration and are artistic, not a guide to the interface.

Interactive, on screen: hover a balloon — or its key row — to highlight the pair in amber. Click any figure to open it full-screen. If a balloon covers something you want to see, the button on the right-hand rail hides every balloon while leaving the leader lines live, so you can still trace a key row to its exact spot. The printed PDF always keeps the balloons and the key.
Safety first. karmyogi drives real machinery. Every generated program retracts to a safe Z before travelling, but you remain responsible for the setup — see the notice at the foot of this page, and §10 for safe working practice.

Conventions used throughout

BoldA control you click, or a value you type — Stream, Zero.
monoLiteral machine text: G-code, a GRBL setting such as $110, or a console reply.
①②③A balloon on a figure. The same number appears in the key beside or below it.
§04A cross-reference. Click it on screen to jump to that section.
Blue boxUseful to know — a tip, a shortcut, or an explanation.
Amber boxRead it. Something here can damage a tool, a workpiece or the machine.
§Section — click to jump
01Quick start — from browser to first cut
02The workbench — full-screen anatomy
03Top bar — connection & global controls
04Controller — DRO, jog, overrides, coolant
05Visualizer — live 3D toolpath
06Program & Console — streaming, MDI
07Work modes — all 23 tabs
07bTab reference — inputs & outputs
08Machine settings — GRBL $-parameters
09Shortcuts, gamepad & mobile
10Troubleshooting & support

Requirements

Chromium browser — Chrome, Edge, Brave or Opera. Web Serial is not available in Firefox or Safari.
HTTPS or localhost — karmyogi.hjlabs.in is already served over HTTPS.
A USB cable to your controller. Bluetooth and Wi-Fi also work.

The five surfaces you will use constantly

① Work-mode tabs (left)

One tab per job — carving, PCB, laser, embroidery… Each turns a design into G-code.

② Visualizer (centre)

The bed, your toolpath and the live tool position in 3D.

③ Program (centre-bottom)

The combined G-code, section list, and the Stream / pause / stop controls.

④ Console (centre-bottom)

Raw GRBL traffic, plus an MDI box for typing commands directly.

⑤ Controller (right)

DRO, jog pad, homing, overrides, coolant, work-coordinate systems.

Everything is dockable

Drag any tab to re-arrange, float or stack it. The layout is remembered.

The words you need — a plain-English glossary

If you are new to CNC, these twelve terms cover almost everything in this guide.

G-codeThe plain-text list of instructions a machine runs. karmyogi writes it for you; you rarely need to read it.
ToolpathThe route the cutter takes. What you see drawn in the 3D view.
Work zeroThe corner of your material that you call X0 Y0 Z0. Everything is cut relative to it.
Machine zeroA fixed reference the machine finds by homing. Not usually where you cut from.
HomingThe machine drives to its limit switches to learn exactly where it is.
JogMoving the machine by hand, from the on-screen pad, keyboard or gamepad.
Safe ZA height the tool lifts to before travelling, so it clears clamps and the workpiece.
Feed rateHow fast the tool moves while cutting, in mm/min. Too fast breaks bits.
StepoverHow far sideways each pass moves. Smaller = smoother finish, longer job.
WCSWork Coordinate System — six saved datums (W1–W6 / G54–G59) so you can keep several setups.
AlarmThe controller has stopped for safety (a limit hit, or a reset). Unlock, then home.
OverrideTrimming feed or spindle speed live, mid-cut, without stopping the program.
⚠ Important — no warranty & no liability · read before you run a machine

karmyogi is provided “as is”, without warranty of any kind, express or implied, including but not limited to merchantability, fitness for a particular purpose and non-infringement. The software is experimental and under active development: it may contain defects, may behave unexpectedly, and may cause a machine to move in ways you did not intend. You operate your machine entirely at your own risk. You alone are responsible for checking every generated program before you run it, for your setup, workholding, tooling and workspace safety, and for supervising the machine at all times — keep a hand on the E-stop. This guide is likewise provided “as is.” It describes intended behaviour at the time of writing; the app changes continuously, so a feature may look different, behave differently, or not work as described here. Nothing in this document is a guarantee, specification or warranty of any kind. To the maximum extent permitted by law, neither hjLabs.in, its proprietor, nor any contributor accepts any responsibility or liability whatsoever for damage to machines, tools, workpieces or property, for injury to persons, or for any loss of data, time, production or profit arising from use of — or inability to use — this software or this guide, whether caused by a software defect, incorrect output, an error or omission in this documentation, a discrepancy between this guide and the app, or operator action. If you do not accept these terms, do not use the software. Licensed under the MIT Licence; the licence text governs and prevails.

karmyogi · Official User Guide v1.0hjLabs.in
hjLabs.in
karmyogi · Official User Guide · v1.0

01 · Quick start

From a browser tab to a finished part

Six steps. No installation at any point.

1 · Open the app

Go to karmyogi.hjlabs.in in Chrome, Edge, Brave or Opera. Nothing to download. You can also install it as an app and work offline.

2 · Connect the machine

Press Connect in the top bar and pick your USB port. Choose the firmware (GRBL / FluidNC / grblHAL / Marlin) in the selector to its left.

3 · Home & set work zero

In Controller, press Home if your machine has limit switches. Jog to the corner of your stock, then press Zero to make that point X0 Y0 Z0.

4 · Make a toolpath

Pick a work-mode tab (§07). Load your file — DXF, STL, STEP, OBJ, SVG or Gerber — set the tool and depths, then press Generate.

5 · Check it in 3D

The Visualizer draws the path over the bed. Use Frame to trace the outline with the tool up, and confirm the job fits your stock.

6 · Run it

Arm motion, then press Stream in the Program panel. Pause, resume and feed-override are live while it runs.

Before the very first cut — a two-minute checklist

Motion is armed — karmyogi blocks jog and run until you explicitly arm it, so an accidental keypress cannot move the machine.
Work zero is where you think it is — read the WORK column of the DRO, not the MACHINE column.
The right work-coordinate system is active — W1…W6 (G54–G59) in the Controller.
Tool fitted matches the toolpath — the operation card names the bit it was calculated for.
Safe-Z clears every clamp — every program retracts before travelling; make sure that height is above your hold-downs.
Framed the job — trace the outline with the spindle off first.
E-stop within reach.
Web Serial is Chromium-only. In Firefox or Safari the CAD/CAM half of karmyogi still works — you can generate and export G-code — but the app cannot talk to a controller. Use Chrome, Edge, Brave or Opera to drive a machine.
No machine yet? Open the Connect menu and choose Mock device — an in-browser GRBL simulator. Every panel, the DRO, the jog pad and streaming all behave normally, so you can learn the whole app with no hardware attached. Every screenshot in this guide was taken against it.

Units & conventions

karmyogi works in millimetres and emits G21 G90 G94 G17 at the top of every program (metric, absolute, feed-per-minute, XY plane). Feeds are mm/min. Z is positive up: cutting depths are negative.

Worked example — engrave your name in wood

The shortest complete job in the app. If you can do this, the rest of the guide is just variations on it. Allow ten minutes.

1Clamp a flat offcut of softwood to the bed. Fit a V-bit or a small engraving bit.
2Connect the machine, then Home it if it has limit switches.
3Jog to the bottom-left corner of where the text should sit. Lower Z until the tip just touches the wood — use the 0.1 mm step for the last bit.
4Press Zero. That corner is now X0 Y0 Z0.
5Open the Writing tab. Type your name. Set height ≈ 12 mm and depth ≈ −0.4 mm.
6Press Generate. The path appears in the Visualizer over the bed.
7Press Frame — the machine traces the outline with the tool up. Confirm it lands on the wood.
8Arm motion, start the spindle, then press Stream in the Program panel.
9Watch the first plunge. If it is too deep or too shallow, press Hold, adjust, and re-run.
Why V-bit and 0.4 mm? A V-shaped cutter engraves a clean line at a very shallow depth, so a mistake costs you a scratch rather than a broken bit. It is the most forgiving first cut there is.

If the letters look wrong: too shallow means Z zero was set slightly high — re-zero and add 0.1 mm. Ragged edges usually mean the feed is too fast for the wood; drop the feed override to 70 % mid-cut and see if it cleans up.

Do not skip step 7. Framing is the only step that proves the job will actually land on your material before a cutter touches it.

Stuck in the first five minutes? Start here

These five account for almost every failed first attempt. Fuller diagnosis in §10.

What you seeWhyWhat to do
The Connect button does nothing, or the browser shows no port list Web Serial is missing. Firefox and Safari do not have it. Use Chrome, Edge, Brave or Opera. Connecting must also start from your click — it cannot happen automatically.
The port picker is empty The board is not enumerating: cable, driver, or the port is held by another program. Close any other sender or serial monitor, try a different USB cable, then re-plug. On Linux add yourself to dialout.
Connected, but nothing moves Motion is locked out — this is deliberate, so a stray keypress cannot drive the machine. Press Arm motion in the Controller. The badge turns green and reads Motion armed.
Every command is refused, and the state reads Alarm The controller stopped for safety — a limit switch, or a reset while it did not know its position. Unlock, then Home. Do not jog before homing: the machine does not yet know where it is.
An axis runs the wrong way, or hits a limit immediately Direction-inversion or travel limits are wrong for your machine. Fix it once in Motion settings$3 direction, $130–$132 travel. See §08.
karmyogi · Official User Guide v1.0§01 Quick start
hjLabs.in
karmyogi · Official User Guide · v1.0

02 · The workbench

Anatomy of the screen

The whole application is one screen of dockable panels. This is the default arrangement, with a machine connected and motion armed.

karmyogi workbench with a connected machine 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
  1. 1Brand / About — version, changelog, licence, report a bug.
  2. 2Connection cluster — firmware, baud, state, Connect / Disconnect. §03
  3. 3Machines — save several machines and switch between them.
  4. 4Layout & zoom — reset the dock layout, global UI scale.
  5. 5Language, theme, alerts, account — 53 languages; light/dark.
  6. 6Work-mode tab strip — 23 tabs; the ⌄ chip reveals the overflow.
  7. 7Active work-mode panel — here 2D/3D Carving. §07
  8. 8Visualizer toolbar — views, fit, measure, screenshot, gizmos.
  9. 93D bed & toolpath — machine envelope, WCS origins, live tool. §05
  10. 10Machine / Simulation legend — show the live tool, the simulated one, or both.
  11. 11Program panel — Check, Stream, pause, stop, progress. §06
  12. 12Sections list — every generated operation, reorderable and individually runnable.
  13. 13Console — raw GRBL traffic, searchable. §06
  14. 14MDI box — type any G-code or $ command; quick-buttons for the common ones.
  15. 15DRO — work and machine position, live. §04
  16. 16Motion lock-out — jog and run stay disabled until you arm it.
  17. 17Jog pad — tap to step, hold for continuous. §04
  18. 18Presets rail — save and recall the whole set of parameters for a panel.

Figure 02.1 — Default workbench, 1600 × 1000 logical px. Screenshot taken against the built-in Mock device.

What lives where

The key above names the parts of the screen. This names the panels, and where each one is documented — click a section to jump.

Top barConnect, machine profile, language, theme, zoom, About. §03
Work-mode tabsTurn a design into G-code — one tab per kind of job. §07
Bit & MaterialThe tool and the stock the active work mode calculates against. §07
VisualizerBed, toolpath, live tool position, cut simulation. §05
ProgramThe combined G-code, its sections, and streaming control. §06
Console + MDIRaw controller traffic, and a box to type commands. §06
ControllerDRO, jog, homing, overrides, work offsets, coolant. §04
Motion settingsEvery GRBL $-parameter, explained. §08
karmyogi · Official User Guide v1.0§02 The workbench
hjLabs.in
karmyogi · Official User Guide · v1.0

03 · Top bar

Connecting to the machine

Everything about the link to your controller lives in one strip across the top. The coloured dot is the machine state at a glance.

karmyogi top bar 1 2 3 4 5 6 7 8 9 10 11 12
  1. 1karmyogi / About — build version, what's new, MIT licence, source link.
  2. 2Firmware — GRBL, FluidNC, grblHAL, Marlin, Smoothieware, Masso. Sets the dialect used for every command.
  3. 3Import controller config — read settings from a file.
  4. 4Baud rate — 115200 suits GRBL and FluidNC.
  5. 5State dot — grey offline · green Idle · teal moving · amber Hold/Door · red Alarm.
  6. 6State text — CONNECTED / DISCONNECTED and the GRBL state.
  7. 7Connect / Disconnect — the menu offers USB, Bluetooth, Wi-Fi and the Mock device.
  8. 8Machines — remember several machines; switch without re-picking a port.
  9. 9Probe — Z-probe, corner finding and auto bed-size measurement.
  10. 10Motion settings — the full GRBL $-parameter editor. §08
  11. 11Layout · reload · UI zoom — reset docking; scale the whole interface.
  12. 12Language · theme · notifications · account.

Figure 03.1 — Top bar, full width. A crop of Figure 02.1.

Four ways to reach a controller

USB cable

Web Serial. The standard, lowest-latency choice. Chromium only.

Bluetooth

Web Bluetooth for BLE-equipped boards. Needs a Chromium flag on some systems.

Wi-Fi

For FluidNC/ESP32 boards on your network — scan and connect by address.

Mock device

A GRBL simulator inside the browser. Ideal for learning and for testing programs.

If the port list is empty: the board is claimed by another program (close any other sender or serial monitor), the cable is charge-only, or a driver is missing (CH340 / CP210x on Windows). karmyogi cannot see a port that the operating system has not enumerated.

Reading the state dot at a glance

The single most useful indicator in the app. Learn these six colours and you always know what the machine is doing without reading anything.

Grey — offline

Not connected. Nothing can move. CAD/CAM still works.

Green — Idle

Connected and ready. Safe to jog, home or start a job.

Teal — moving

Run, Jog or Home. The machine is in motion right now.

Amber — Hold / Door

Paused. Press Resume to continue from exactly where it stopped.

Red — Alarm

Stopped for safety. Unlock, clear the cause, then home.

Connecting

Amber while the handshake runs. If it never turns green, check baud rate.

The tab strip

karmyogi work-mode tab strip 1 2 3 4
  1. 1Active tab — underlined; its panel fills the dock below.
  2. 2Other open tabs — click to switch, drag to re-arrange or float.
  3. 3Close (✕) — hide a tab you do not use. Reopen it any time from the layout menu.
  4. 4Overflow chip — the count of tabs that do not fit; click to pick from the full list.

Figure 03.2 — Work-mode tab strip. A crop of Figure 02.1.

A laptop and a phone driving a desktop CNC machine One browser tab · any 3-axis machine
Illustration — the whole chain is a browser and a USB cable: karmyogi runs in the tab, speaks GRBL over Web Serial, and the same interface works from a laptop or a phone. No driver, no server, no account. Artist's impression, not a screenshot.
karmyogi · Official User Guide v1.0§03 Top bar
hjLabs.in
karmyogi · Official User Guide · v1.0

04 · Controller

Driving the machine by hand

The panel you will live in. Position, jogging, homing, work offsets, coolant and tool changes — all in one column.

karmyogi Controller panel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
  1. 1WORK vs MACHINE — work position is relative to your zero; machine position is absolute from home. Cut using WORK.
  2. 2Axis labels — X, Y, Z (A/B added when the firmware reports them).
  3. 3Live coordinates — updated continuously from the controller's status report.
  4. 4Motion lock-out — the safety gate. While locked, jog and run are refused. Click to arm.
  5. 5Home ($H) — runs the homing cycle. Needs limit switches.
  6. 6Unlock · Reset · Hold · Resume — clear an alarm ($X), soft-reset, feed-hold, cycle-start.
  7. 7Zero (G10 L20 P0) — make the current position X0 Y0 Z0 of the active WCS.
  8. 8Jog step — 0.1 / 1 / 10 / 100 mm. Keys 14 select these.
  9. 9Jog feed — how fast a jog runs, mm/min.
  10. 10W1–W6 — the six work-coordinate systems (G54–G59). The highlighted one is active.
  11. 11Jog pad — X/Y plus diagonals. Tap = one exact step; hold = continuous until you let go.
  12. 12Stop jog — the red ✕ cancels motion immediately.
  13. 13Z jog & go-to-zero — Z± column; the ⟳ button returns to work zero, retracting Z first.
  14. 14Shortcuts — the full keyboard map. §09
  15. 15Zero X / Y / Z — zero one axis only, leaving the others.
  16. 16Teach points — store named positions and return to them.
  17. 17Coolant & Park — flood (M8), mist (M7), off (M9); park at a chosen XY.
  18. 18Tool change — guided change with a length-offset re-probe.

Figure 04.1 — Controller panel, machine connected and armed. A crop of Figure 02.1.

Jogging with the keyboard

move X/Y; PgUp/PgDn move Z. A tap steps once; holding a key runs continuously and stops the moment you release. Esc cancels. The panel only needs to be visible — not focused.

Overrides while cutting

[ and ] trim feed by 10 %, \ returns to 100 %. These are GRBL real-time overrides: they take effect immediately, mid-move, without stopping the program.

karmyogi · Official User Guide v1.0§04 Controller
hjLabs.in
karmyogi · Official User Guide · v1.0

05 · Visualizer

Seeing the job before you cut it

A real 3D view of the machine envelope, your toolpath and the live tool position. This is the cheapest way to catch a mistake.

karmyogi 3D visualizer 1 2 3 4 5 6 7 8 9 10
  1. 1Layers — show/hide bed, grid, stock, origins, dimensions, the carved preview.
  2. 2Standard views — fit, top, front, side, isometric.
  3. 3Placement gizmo — move, rotate, mirror and array the job on the bed.
  4. 4Measure & capture — dimension tool and a PNG snapshot of the view.
  5. 5Axis triad — X red, Y green, Z blue. karmyogi is Z-up.
  6. 6Machine envelope — your configured travel, labelled X/Y/Z. A job outside this cannot run.
  7. 7WCS origins — G54…G59 markers, so you can see which datum you are cutting from.
  8. 8Live tool — the spindle follows the real machine position as it moves.
  9. 9View cube — drag to orbit, click a face to snap to that view.
  10. 10Machine / Simulation — the live tool, the simulated preview tool, or both.

Figure 05.1 — Visualizer with an empty program. A crop of Figure 02.1.

Orbit · pan · zoom

Drag to orbit, middle-drag or two-finger drag to pan, wheel or pinch to zoom.

Simulate the cut

Scrub the playback timeline to watch the tool follow the path, with the carved-stock preview updating.

Read the colours

Rapids and cutting moves are drawn differently, and each operation section gets its own colour.

Frame before you cut. The Frame action traces the XY bounding box of the current program with the tool raised. It is the fastest way to confirm the job lands on your stock and clears the clamps.
A toolpath previewed in 3D above a CNC machine cutting the same part See it before you cut it
Illustration — the point of the Visualizer: the path on screen and the path in the material are the same path. Artist's impression, not a screenshot.
karmyogi · Official User Guide v1.0§05 Visualizer
hjLabs.in
karmyogi · Official User Guide · v1.0

06 · Program & Console

Running the job, and talking to the board

Program

karmyogi Program panel 1 2 3 4 5 6 7 8 9 10
  1. 1Restart — rewind to the first line.
  2. 2Start line — begin from a chosen line (recovery after a stop).
  3. 3Check mode — GRBL parses the whole file without moving. Catches syntax errors.
  4. 4Stream — send the program to the machine. This starts cutting.
  5. 5Pause — feed-hold; the spindle keeps turning.
  6. 6Stop — abort and flush the queue.
  7. 7Progress — lines sent, percent, elapsed / estimated time.
  8. 8Sections — one row per generated operation; reorder, hide, or run individually.
  9. 9Export / copy — save the combined G-code to a .nc file.
  10. 10Upload G-code — run a file made elsewhere; karmyogi is a plain sender too.

Console

karmyogi Console panel 1 2 3 4 5 6 7 8
  1. 1Search — filter the log; useful for finding an error: or ALARM.
  2. 2Auto-scroll — follow new lines, or freeze to read back.
  3. 3Clear — empty the log.
  4. 4Sent commands — what karmyogi sent, e.g. a $J= jog.
  5. 5Repliesok, error:n, alarms and controller messages, timestamped.
  6. 6Quick commands$$ $H $X $G G0 X0 Y0 ? one-tap.
  7. 7MDI — type any G-code or $ command and press enter.
  8. 8Send.
The MDI box moves the machine immediately. There is no preview and no undo — a mistyped G0 Z-50 will be obeyed. Check the axis letter and the sign before pressing enter.

What the common replies mean

ReplyMeaning & what to do
okCommand accepted. Normal.
error:9G-code locked out — the machine is in Alarm. Press Unlock, or home it.
error:20 / 24Unsupported or conflicting command — usually a hand-typed line.
ALARM:1A hard limit was hit. Unlock, jog off the switch, re-home.
ALARM:2The move exceeded the soft-travel limit. Check work zero and job placement.
[MSG:…]An informational message from FluidNC/grblHAL — read it, it is usually explicit.
karmyogi · Official User Guide v1.0§06 Program & Console
hjLabs.in
karmyogi · Official User Guide · v1.0

07 · Work modes

One tab per job

Every tab takes a design, asks for the few numbers that matter, and writes safe G-code into the shared Program panel. They all share the same rhythm: load → set tool & depths → Generate → check in 3D → run.

2D/3D Carving panel

2D/3D Carving

The general-purpose CAM tab. DXF/SVG for 2D profiles and pockets; STL/STEP/OBJ for 3D relief carving. Bit & material presets set feeds for you.

Writing panel

Writing

Single-stroke engraving and pen-plotting text. Built-in Hershey font, or load a custom handwriting font made from your own writing.

PCB panel

PCB

Gerber + Excellon → isolation routing, drilling and board cut-out, via a guided wizard. In active development — not yet documented.

Soldering panel

Soldering

Automatic selective soldering. Per-point travel and touch-down heights, feeder pulses and dwell times in an editable table.

Laser Cutting panel

Laser Cutting

Vector cut/engrave with power and pass control, plus raster from an image. Uses M3/M4 spindle-as-laser mode.

3D Printing panel

3D Printing

Slice an STL to layers with a live layer preview: temperatures, retraction, infill, perimeters and supports.

3D Print House panel

3D Print House

Construction-scale printing. Import a civil floor plan (SVG/DXF), set wall width and layer height, and it prints walls course by course with openings.

Pick and Place panel

Pick & Place

Component placement from a centroid file, with feeder positions, nozzle actions and optional camera-assisted alignment.

Spring Coiling panel

Spring Coiling

Wire diameter, coil pitch and turns become a two-axis feed/rotate program, with a 3D coil preview.

Embroidery panel

Embroidery

Stitch paths from vector art. XY only — the needle is driven by the machine itself, so no Z is emitted.

Camera panel

Camera

A live overhead view of the bed with calibration, so you can align work optically and record a job.

…and 12 more

Screw Fitting · Bore/Drill/Hole · Glue Dispense · Signature · Welding · Spot Welding · Clothes Stitching · Tattoo/Henna · Visualizer · Program · Console · Controller. Full list overleaf.

karmyogi · Official User Guide v1.0§07 Work modes
hjLabs.in
karmyogi · Official User Guide · v1.0

07b · Reference

Every tab, what it takes, what it makes

TabInputWhat it produces
ControllerManual control: DRO, jog, homing, work offsets, coolant, teach points, tool change.
ConsoleTyped commandsRaw GRBL log + MDI. The place to diagnose anything.
ProgramG-code / sectionsStreaming with Check mode, start-from-line, progress and export.
VisualizerCurrent program3D bed, toolpath, live tool, placement gizmo, simulation.
2D/3D CarvingDXF · SVG · STL · STEP · OBJEngrave, profile (on/in/out), pocket, and 3D relief roughing + finishing.
WritingText · custom font JSONSingle-stroke engraving or pen-plotting, with pen-up/down Z handling.
SolderingPoint list · Gerber padsSelective soldering: per-point free-Z, touch-Z, feeder pulse and dwell.
Screw FittingHole listDriver sequences with approach, torque dwell and retract per screw.
Bore / Drill / HoleHole list · DXFPeck drilling, boring and circular interpolation with chip-clearing.
PCBGerber ZIP · ExcellonIsolation routing, drilling, board cut-out. One- and two-sided. In active development — behaviour may change; not documented in this edition.
Glue DispensePath / pointsBead paths with on/off lead-in and lead-out to stop stringing.
Pick & PlaceCentroid CSVPick-from-feeder, place-at-XY-with-rotation sequences.
SignatureDrawn / imported strokeReproduces a signature as a pen path at any scale.
3D PrintingSTLSliced layers, temperatures, retraction, infill, supports; layer preview.
3D Print HouseFloor plan SVG/DXFConstruction-scale wall courses with door/window openings and pump control.
Laser CuttingSVG · DXF · imageVector cut/engrave with passes and power; raster engraving.
WeldingSeam pathSeam tracking with weave, travel speed and arc on/off timing.
Spot WeldingPoint listElectrode approach, squeeze/weld/hold timing per spot.
EmbroiderySVG · DXFStitch paths, XY only — the machine drives the needle.
Clothes StitchingSVG · DXFSeam paths, XY only, with optional presser-foot and trim signals.
Spring CoilingWire & coil specFeed + rotation program with a 3D coil preview.
Tattoo / HennaVector artFine-line paths with needle/nozzle depth and speed limits.
CameraWebcamCalibrated overhead view, bed mosaic, optical alignment, job recording.
Sections stack. Generating from several tabs adds several sections to the one Program. You can carve a pocket, engrave a label and drill holes in a single run — reorder the sections and stream them together.

Which tab do I need?

I want to…Use
Cut a shape out of wood or acrylic2D/3D Carving → profile
Hollow out a recess2D/3D Carving → pocket
Carve a 3D model or relief2D/3D Carving → 3D from STL/STEP
Engrave text or a logoWriting (or Carving → engrave)
Draw with a pen instead of cuttingWriting, pen Z mode
Make a circuit boardPCB
Drill a row of holesBore / Drill / Hole
Cut or engrave with a laserLaser Cutting
Solder a populated boardSoldering
Run a file someone else madeProgram → Upload G-code
Just move the machine by handController
Find out why something failedConsole

The pattern behind all of them

Every work-mode tab is the same three questions in different clothing: what shape? (your file), what tool? (diameter and type), and how deep and how fast? Learn it once in Carving and every other tab will already make sense.

Tabs you can close

You will realistically use three or four. Close the rest with their ✕ to de-clutter the strip — they are one click away in the layout menu when you need them, and closing changes nothing about what the app can do.

Not sure a tab applies to your machine? Open it and read the panel — each one states what hardware it expects (a spindle, a laser, a dispenser, a needle). Generating a toolpath never moves anything, so exploring is free.
karmyogi · Official User Guide v1.0§07b Reference
hjLabs.in
karmyogi · Official User Guide · v1.0

08 · Machine settings

Every GRBL parameter, explained

The ⚙ button in the top bar opens the full $-settings editor. Each parameter is grouped, named in plain language, and shows its valid range and factory default — so you are never editing a bare number.

Motion settings — GRBL parameter editor 1 2 3 4 5 6 7 8 9 10 11 12 13
  1. 1Title — the dialog is scrollable and searchable; nothing is hidden behind tabs.
  2. 2Sync — re-read every value from the controller.
  3. 3Save changes — write the edited values back. Nothing is written until you press this.
  4. 4Copy $$ — the whole settings dump to the clipboard, for a backup or a forum post.
  5. 5Import config — restore from a saved file.
  6. 6Count & sync time — how many parameters the board reported, and when.
  7. 7Search — by $-number or by name.
  8. 8Only flagged / changed — hide everything at its default.
  9. 9Group heading — Stepper & ports, homing, limits, spindle, travel…
  10. 10Parameter number — the raw $n you would type by hand.
  11. 11Name, description, range, default — what it does and what it may legally be.
  12. 12Value field — validated as you type; out-of-range input is refused.
  13. 13Reset to default — restore just this parameter.

Figure 09.1 — Motion settings dialog, showing the Stepper & ports group.

The ones that matter most

$100–$102 steps/mm — calibration.
$110–$112 max rate.
$120–$122 acceleration.
$130–$132 max travel — soft limits and the bed drawn in 3D.

Homing & limits

$21 hard limits, $22 homing enable, $23 direction mask, $27 pull-off. Get direction right before enabling hard limits.

Before you change anything

Press Copy $$ and paste it somewhere safe. It is the only backup of a working machine configuration, and it takes two seconds.

FluidNC is different. On FluidNC many values live in config.yaml rather than $-numbers. karmyogi marks those read-only here and offers config download/upload over the SD card instead of letting you write a value the firmware would reject.
karmyogi · Official User Guide v1.0§08 Machine settings
hjLabs.in
karmyogi · Official User Guide · v1.0

09 · Controls

Keyboard, gamepad and phone

Keyboard

Active whenever the Controller panel is visible — it does not need focus. Keys are ignored while you are typing in a field or a dialog is open.

KeyAction
Jog X / Y — tap to step, hold for continuous
PgUp PgDnJog Z up / down
EscCancel jog immediately
1 2 3 4Step size 0.1 / 1 / 10 / 100 mm
HHome ($H)
UUnlock ($X)
RSoft reset
! / ~Feed hold / resume
SSpindle on / off
ZZero all work axes
[ ] \Feed override −10 % / +10 % / 100 %
Holding an arrow key runs a single long continuous move that is cancelled the instant you release — the same mechanism a hardware pendant uses, so it stays smooth and stops predictably.

Game controller

Plug in any USB/Bluetooth gamepad. Sticks jog proportionally — push further to go faster — and every button is re-bindable by pressing it.

Left stick jogs X/Y · Right stick jogs Z
LB / RB cycle the step size
Face buttons home, unlock, zero, spindle — all remappable
Rumble confirms connection and warns on an alarm

Hardware pendant

FluidNC's FluidDial pendant wires to the controller's spare UART. The Controller tab has a setup panel that writes the required uart section into config.yaml for you, and refuses pins that would collide with the USB console or SPI flash.

Phone & tablet

The same app, re-arranged: the dock becomes a single-column tab switcher, and touch targets grow. Nothing is removed — you can jog, stream and watch the 3D view from a phone at the machine. Install it from the browser menu to run it full-screen and offline.

Do not walk away mid-job. If the browser tab is closed, the device sleeps or the cable is disturbed, streaming stops where it is. karmyogi will tell you a job was interrupted, but the machine has already stopped cutting.

Making the workspace yours

Every one of these is remembered between sessions, per device.

Re-arrange panels

Drag a tab by its title to split, stack or float it. Drop it on an edge to dock, or outside to float a window.

Close & reopen tabs

Close what you do not use with its ✕. Reopen any tab from the layout menu — nothing is lost.

Scale the interface

The ± zoom in the top bar scales the whole app. Useful on a shop-floor screen you read from a distance.

Reset the layout

One button restores the default arrangement if you dock yourself into a corner.

Light or dark

Dark suits a workshop; light suits a bright room or a projector. Both are fully supported.

53 languages

Pick yours in the top bar. The whole interface — including safety wording — is translated.

Presets

The rail down the left of each work-mode panel saves a whole parameter set: bit, depths, feeds. Recall it in one click.

Install as an app

Install from the browser menu to get a full-screen window, an icon, and full offline use.

Safe working practice

1Keep the E-stop reachable — software is never a substitute for cutting power. Know where it is before you press Stream.
2Eye protection, always — even a small end mill throws chips; a snapping 1 mm bit throws them fast.
3Clamp the work, twice — a part that lifts mid-cut is the most common way jobs and bits are destroyed.
4Dry-run above the stock — raise work Z by a few mm and run the program in the air first.
5Never reach in while it is armed — lock motion before you change a tool or clear chips.
6Extract dust — MDF, carbon fibre and PCB glass dust are all harmful; PCB dust is conductive too.
Laser work needs its own precautions. Correctly rated goggles for your laser's wavelength, an enclosure or shielding, active extraction for the fumes, and never leave a running laser unattended — ignition is a real risk.
The motion lock-out is there for a reason. It exists so that clicking around the interface, or a stray keypress while you read this guide, cannot move a machine. Leave motion locked whenever you are not actively driving it.

Before every job, in order: home → set work zero → generate → check in 3D → frame with the tool up → arm motion → stream. Skipping the frame step is what turns a small mistake into a broken bit.

karmyogi · Official User Guide v1.0§09 Controls
hjLabs.in
karmyogi · Official User Guide · v1.0

10 · Troubleshooting

When something is wrong

SymptomLikely cause and fix
No serial ports offeredAnother program holds the board — close other senders and serial monitors. Otherwise a charge-only cable, or a missing CH340/CP210x driver. Also check you are on Chrome/Edge/Brave/Opera, over HTTPS.
Connects, then goes quietWrong baud rate, or the board reset on connect. Re-select 115200 and reconnect; watch the Console for the welcome banner.
Jog does nothingMotion is locked — arm it in the Controller. Or the machine is in Alarm: press Unlock, then home.
Everything returns error:9GRBL is locked after a reset or alarm. Press Unlock ($X), or home the machine.
ALARM:1 on a limitA limit switch triggered. Unlock, jog off the switch, re-home. If it fires with nothing near it, check $5 limit-pin inversion and your wiring.
Moves are the wrong sizeSteps/mm is wrong. Command a 100 mm move, measure the travel, and correct $100–$102 proportionally.
An axis runs backwardsFlip that axis' bit in the direction mask $3.
Job is offset from the stockWork zero, or the active WCS. Read the WORK column, confirm W1–W6, and Frame the job before cutting.
Cuts too deep on one sideThe stock or the bed is not level. Use auto-levelling (height-map probing) — essential for PCB isolation.
Stream stutters or stallsUSB power management, a long/unshielded cable, or a controller low on memory. Try another port and a shorter cable; watch the Console for [MSG:ERR…].
Nothing appears in 3DNo program yet — Generate from a work-mode tab first. If a program exists, press Fit in the Visualizer toolbar.
Wrong language / layoutLanguage is in the top bar (53 available). Use the layout-reset button to restore the default docking.

Getting help

The Console first

Copy the last ~20 lines. It almost always contains the actual cause, and it is the first thing anyone helping will ask for.

Report a bug

The About dialog (click the karmyogi wordmark) links straight to the issue tracker and shows your exact build version.

Source

github.com/hemangjoshi37a/karmyogi — MIT licensed. Issues and pull requests welcome.

Your data stays in your browser. Designs, G-code and machine settings live on your own device. karmyogi needs no account to control a machine, and works fully offline once installed.

What every generated program does for you

These are built into the G-code writer, so they hold for every work mode — you do not switch them on. They reduce risk; they do not remove it. Read the notice on page 2.

A known starting stateEvery file opens with G21 G90 G94 G17 — millimetres, absolute, feed-per-minute, XY plane. Nothing is inherited from the last job you ran.
Safe-Z before travelThe tool retracts to the safe height before any XY move, so it cannot drag across the work or into a clamp.
A clean finishPrograms end retracted, with the spindle or laser off — not parked in the material.
Correct Z semanticsZ means different things to a spindle, a pen and a solder feeder. The mode is explicit, so pen work cannot be emitted with cutting depths.
No ambiguous numbersNo -0.000, and modal axis and feed words, so what the controller reads is what you asked for.
Conservative defaultsFeeds and depths start cautious. You raise them deliberately once a test cut looks right.
karmyogi.hjlabs.in — free, open source, nothing to install.
karmyogi · Official User Guide v1.0§10 Troubleshooting