Welcome to Our Community

Some features disabled for guests. Register Today.

      1. Build Progress:
        • Build Complete!
      Rate This Build
      2 votes
      M Cubed 3 Axis Bluetooth CNC Controller


      Important: This controller uses Easy Driver V4.4 drivers with a 750mA current limit. The stepper motors in the openbuilds parts store require 1.68A (Nema 17) or 2.8A (Nema 23) to achieve the advertised torque values.

      This controller is a combination of many tried and true hardware and software solutions in one neat package. The basis of the controller is an Arduino Nano V3.0 http://www.arduino.cc/ running Grbl V0.9 https://github.com/grbl/grbl/wiki . Stepper driving is handled by 3 Easy Driver V4.4 boards http://www.schmalzhaus.com/EasyDriver/ . Finally, Bluetooth capability is managed by a HC-05 or HC-06 module. All of these are readily available parts at very low costs. PC control is accomplished using the free Universal Gcode Sender https://github.com/winder/Universal-G-Code-Sender .

      The M Cubed board is a purpose build mounting and breakout board for the aforementioned devices. It features screw terminals for easy wiring and a breakout header for x, y, and z stepper signals in order to clone any desired channels for a second stepper motor. The board itself is a 10cmx7cm package. A complete list of inputs and outputs can be found below. PCB Gerber files are provided in the files section and I have a few spare boards for the first few people interested. The parts list is very small for this build as most of the major components come pre-assembled. Any 6-30V power supply can be used including old ATX power supplies or laptop chargers. If using a laptop charger, ensure adequate current is available to drive your motors. Heat sinks for the easy driver chips are highly recommended. 1.5 cm DDR heat sinks fit nicely and are dirt cheap.


      • Spindle Direction
      • Variable Spindle PWM
      • X-Axis Limit Switch
      • Y-Axis Limit Switch
      • Z-Axis Limit Switch
      • Reset/Abort
      • Feed Hold
      • Start/Resume
      • Coolant Enable
      • Probe
      • X, Y, and Z Direction
      • X, Y, and Z Step Pulse
      • X, Y, and Z Bi-Polar Stepper Motor Signals
      • Power (6-30V)
      • Ground
      • Mini USB power/control (for Arduino)
      • Bluetooth control

      Build Instructions
      1. Solder male header pins into the 9 circled pin sockets on each of the 3 Easy Driver boards
      2. Install heat sinks on the Easy Driver ICs. Many heat sinks come with adhesive tape pre-applied.
      3. Solder 3 identical 0805 resistors to the R1, R2, and R3 pads in the lower right corner of the board. Select a resistor value between 500 and 10k Ohms.
      4. Cut 40x1 female headers into two 15x sections, one 6x section, four 4x sections, four 3x sections, and four 2x sections
      5. Solder the female headers into all the available 2.54mm spaced holes on the M Cubed board except for the 6 holes on the far left
      6. Solder a 6 pin 90 degree angle connector into the socket on the left hand side of the board
      7. Solder 5.08mm screw terminals into the corresponding sockets at the bottom, right, and top right of the board.
      8. Change the baud rate of your HC-05 or HC-06 Bluetooth module to 115200 using your Arduino Nano by following these instructions
      9. Download Grbl v0.9
      10. Uncomment the "#define VARIABLE_SPINDLE" line in the Grbl v0.9 "config.h" file
      11. Compile and flash Grbl v0.9 to you Arduino Nano using the instructions found here
      12. Plug your easy drivers, Arduino, and HC-05/HC-06 module into the M Cubed board. The mini USB plug on the Arduino should be facing the Bluetooth module, not the power screw terminal
      13. Connect your stepper motors, external buttons, limit switches, etc. before connecting power to the board
      14. Connect your power supply to the power and ground screw terminals and plug it in.
      15. If you are using the Bluetooth module the Arduino must be powered from an external source such as a cell phone charger plugged into the Arduino’s mini USB port. If you are not using bluetooth, the arduino will be powerd over USB.
      16. Pair your computer to your HC-05/HC-06 Bluetooth module or connect to the Arduino's USB port.
      17. Install (if you haven’t already) and launch Universal Gcode Sender and select the Bluetooth module or Arduino as your serial port
      18. Start cutting!

      image credit: http://www.schmalzhaus.com/

      Video of the M Cubed Bluetooth Controller in Action

    1. Build Author , Find all builds by M^3
  • Loading...
  • Build Details

    Build License:
    • CC - Attribution - CC BY

    Reason for this Build

    To create a low cost, Bluetooth enabled 3 axis CNC controller/driver

    Inspired by

    Easy Driver V4.4, Arduino Nano V3.0, CNC xPro V2, Grbl 0.9
  • Attached Files:

    Parts list

    Qty Part Name Part Link Comments
    1 20V >3A Laptop Charger Link
    1 HC-05 Bluetooth Module Link HC-06 also works
    3 Easy Driver V4.4 Link search ebay for "Easy Driver V44" for best results
    3 DDR Heatsinks Link 1.5x1.5 cm
    1 Arduino Nano V3.0 Link AtMega 328
    1 M_Cubed Board Link pm for details or see files section for gerber files
    13 5.08mm 2-pin screw terminal Link
    80 Female 2.54mm header Link cut 40x1 headers to length
    1 6 pin 2.54mm Right Angle Row Pin Header Link Optional - used for adding additional drivers/motors
    3 4.7k Ohm 0805 Resistor Link Any 0805 resistor between 500 and 10k Ohms will do, all three must be identical
  • Attached Files:

    • cnc.zip
      File size:
      41.3 KB
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice