Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Node.js 3D Printer Cloud Client (early test)

Currently running this as a command line tool to print gcode to 3d printer via node.js.

Testing with node.js v0.10.5 running on a TP-Link WR703N with OpenWrt.

WR703N is higly limited, low CPU and RAM, so it is required to launch node.js with some parameters:

# adjust serialport and speed in ./config/linux.json
export NODE_ENV=linux
node --stack_size=1024 --max_old_space_size=20 --max_new_space_size=2048 --max_executable_size=5 --gc_global --gc_interval=100 app.js ./bin/gcode/smallwheel.gcode

To send direct commands to your printer use this:

# adjust serialport and speed in ./config/linux.json
export NODE_ENV=linux
node --stack_size=1024 --max_old_space_size=20 --max_new_space_size=2048 --max_executable_size=5 --gc_global --gc_interval=100 app.js

NOTES: Cross-Compile, Node.js, and SerialPort NPM module:

NOTE2: No NPM available, just install the modules on a Linux/Mac machine (npm update) and copy 'node_modules' to the embedded system. SerialPort need to be Cross-Compiled (check the link instructions on NOTE)

Damn it, I just want to test this on my Laptop/PC

  • Install Node.js and NPM
  • clone this repo:
git clone
  • cd 3DPrinterCloudClient
  • npm update
  • edit one of the configuration profiles:
nano ./config/linux.json

adjust your 3D Printer Serial Port and Speed (use /dev/null to emulate a printer response)

    "serialport": {
        "serialport": "/dev/ttyACM0", 
        "baudrate": 115200
  • export NODE_ENV variable with the config file name to use (without .json extension) - you can create as much profiles as required:
export NODE_ENV=linux
  • launch app:
$ node app.js ./bin/gcode/smallwheel.gcode
  • or launch 3d printer command line [WIP]:
$ node app.js

NOTE: This is still in an early h@ck1ng stage, a lot of work on the WR703N memory tunning... WIP!!!


Node.js 3D Printer Cloud Client



No releases published
You can’t perform that action at this time.