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
- Feed Hold
- Coolant Enable
- X, Y, and Z Direction
- X, Y, and Z Step Pulse
- X, Y, and Z Bi-Polar Stepper Motor Signals
- Power (6-30V)
- Mini USB power/control (for Arduino)
- Bluetooth control
- Solder male header pins into the 9 circled pin sockets on each of the 3 Easy Driver boards
- Install heat sinks on the Easy Driver ICs. Many heat sinks come with adhesive tape pre-applied.
- 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.
- Cut 40x1 female headers into two 15x sections, one 6x section, four 4x sections, four 3x sections, and four 2x sections
- 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
- Solder a 6 pin 90 degree angle connector into the socket on the left hand side of the board
- Solder 5.08mm screw terminals into the corresponding sockets at the bottom, right, and top right of the board.
- Change the baud rate of your HC-05 or HC-06 Bluetooth module to 115200 using your Arduino Nano by following these instructions
- Download Grbl v0.9
- Uncomment the "#define VARIABLE_SPINDLE" line in the Grbl v0.9 "config.h" file
- Compile and flash Grbl v0.9 to you Arduino Nano using the instructions found here
- 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
- Connect your stepper motors, external buttons, limit switches, etc. before connecting power to the board
- Connect your power supply to the power and ground screw terminals and plug it in.
- 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.
- Pair your computer to your HC-05/HC-06 Bluetooth module or connect to the Arduino's USB port.
- Install (if you haven’t already) and launch Universal Gcode Sender and select the Bluetooth module or Arduino as your serial port
- Start cutting!
image credit: http://www.schmalzhaus.com/
Video of the M Cubed Bluetooth Controller in Action
M Cubed 3 Axis Bluetooth CNC Controller
Low cost, Bluetooth enabled, 3 axis CNC controller. GRBL 0.9 compatible.
- Build License:
- CC - Attribution - CC BY
Reason for this BuildTo create a low cost, Bluetooth enabled 3 axis CNC controller/driver
Inspired byEasy Driver V4.4, Arduino Nano V3.0, CNC xPro V2, Grbl 0.9
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