Skip to content
A gcode-sender application for Chrome/ChromeOS.
Branch: master
Clone or download
Pull request Compare This branch is 1 commit ahead of sir-buckyball:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


What is this madness?

gcode-sender is a chrome application capable of sending gcode commands to a USB gcode intrepreter (hobby CNC machines / 3D printers).

Why did you do it?

I feel that Chrome OS machines have qualities which make them ideal in the machine shop. They are always up to date, secure, have only your cloud-stored files/applications available, relatively cheap, and easily swappable should something bad happen...

The common place alternative is an out of date Windows machine which is usually disconnected from the network, only has local accounts, and is running unknown (potentially malicious) software. Files are typically transferred by flash-drive-sneaker-net.

How do I install it?

The easiest way to install this extension is to download it from the Chrome Web Store (

If you want to develop for it, you can load the 'src' directory as an unpacked extension. By going to chrome://extensions/, ensure 'developer mode' is checked and you should see a button to load it from your local file system.

Are there cool keyboard commands?

The control panel has the following:

'←', 'j' - jog X axis -N
'→', 'l' - jog X axis +N
'↓', 'k' - jog Y axit -N
'↑', 'i' - jog Y axis +N
'z' - jog Z axis -N
'a' - jog Z axis +N
'+' - increment jump size by 10x
'-' - decrement jump size by 10x
'3' - spindle clockwise
'4' - spindle counter-clockwise
'5' - spindle off
'/' - focus command input
'esc' - blur command input

What libraries did you use?

Are there any known issues?

Yes. This project uses the github issue tracker.

  • UI doesn't always let the user know of an issue (check the chrome developer console)
  • Sometimes chrome.serial doesn't obey the settings you ask for
    • try using 9600 baud
    • check the logs to see if it is forcing flow-control (happens on old Macs)
You can’t perform that action at this time.