User Tools

Site Tools


The Mini Mill

The Mini CNC Mill is was being re-wired.

The mill now uses a customised version of Marlin firmware, which is open source 3D printer firmware, which runs on an Arduino Mega with a RAMPS board and 8825 stepper drivers.

It is able to:

  • Accept gcode created by Cambam from Pronterface via USB
  • engrave flat surfaces like plastic boards to make signs, etc.
  • mill fine 3D parts such as gears in acrylic and other plastics or wood
  • engrave and drill PCBs
  • accept parts up to approx. 100 mm height x 200 mm width x 200 mm length and is able to accept longer items albeit not actually mill them unless repositioned (e.g., a long board)

Metals should not be milled on the mini mill except for standard copper PCBs.

Acknowledgements and Background

Rob Gannon has converted the electronics to RAMPS 1.4 and installed and modified Marlin firmware for milling.

Luke Weston who has done much with the electronics.

Rob Brittain made much stuff for it.

Stu/Cefiar and Andy Gelme did some checking of hardware, firmware, software and safety cutouts, etc.


The endstops are now working! The X and Y origins (0,0) are in the centre. It homes X to the left at -110, Y to the front at -110 and Z homes to the top at 100.

The spindle is now controlled from by the firmware and can be turned on with the M3 command and turned off with the M5 command being sent from the host.

It runs at 115200 baud.

The stepper motors have been upgraded to 2.5amp with drivers capable of 32 micro steps.

There is now a thermal cutout which will stop the mill operating if the spindle temperature gets above 80°C.

Recommended speeds would be <F600 for maximum stability. Maximum speeds would be F1000 for any chance of useful results on all but the most simple jobs.

The recommended software to run it is Pronterface, which is installed on the laptop connected to it.

Previous Marlin firmware source can be found here:

Even older firmware can be reverted to by building source from here:


Add an LCD Display, and setup spindle speed measurement.

General Notes & Overview

The CCHS laptop ELITEBOOK-08-W has all of the utilities for working with the mill. You can use your own laptop if you like, but it will likely take some time to put together the entire set of software and configuration to make it completely usable.

The system uses absolute coordinates in X/Y/Z from the 0/0/0 point, not relative motion from present position.

Broadly speaking, the process for the mill looks like the below list. Each item will be covered in detail:

  1. Design a suitable project using CAD software
  2. Choose materials and check that everything in your design fits in the scope of the mill
  3. Convert your CAD design to G-Code
  4. Connect and power up the mill
  5. Auto home the X and Y axes
  6. Manually home the Z axis
  7. Feed G-Codes to the mill one at a time
  8. Monitor the mill until the project is finished
  9. Remove finished work piece and cleanup the mess
Communications Overview

Communications are done over serial bus over USB. That means all communications are as if you were using RS-232 and need to be configured as such. 115200 8N1 are the serial settings necessary.

Hardware flow control must be turned OFF to communicate properly under Linux (all OSes?). Software or none both seem to work pretty well. None is recommended.

Manual Control

Automated Control

Regardless of which software you use to run the Mill it is recommended that you execute a test job prior to actual milling operations to ensure your GCODE behaves properly. Simply turn off the Mill and manually raise the Z axis by a suitable height so it will not impact your material in a dry run. Since when you turn on the mill it will reset the Z axis to 0 at this new height you can run a job with the tool turned off and hovering above the bed to ensure your GCODE's path is good.

Printrun / Pronterface

The mill has been successfully tested running GCode from the RepRap software Printrun by Kliment. It is available for every platform (MAC, Linux & Windows).

Simply open Printrun and connect to the appropriate COM port @ 115200. The Mill will accept the controls on the dashboard for moving on its axis but it might be a good idea to turn the XY speed down from 3000 to 500 and the Z speed down to 100 just to give you time to turn off the power should it attempt to run away on you. You can manually send GCODE by using the 'Send' button in the lower right hand side of the main screen to test the mill is running or simply use the XYZ controls (Start with small safe movements.)

Obviously the mill has no A/B axis or heaters so these controls do not do anything.

When you are happy that Printrun is talking to the Mill properly load your GCODE file, Put on your safety goggles, Set tool speed and turn power on to the milling tool, lastly select Print to execute the job.

Project Design

The software package Cambam is used to create the set of tool paths from the design and the gcode that is sent to the mill. The design can be imported into Cambam as a .dxf file from another design package, or it can be drawn within Cambam. Any CAD or vector graphics programs that can export 2D designs in .DXF format or 3D designs in .STL format are can be used.

There are limitations on what can be accomplished as this is only a 3-axis mill. Engraving, hole drilling, and PCB milling are all viable candidates for projects, but more complex designs may need to be split in to multiple sessions or may be impossible.

More than one type of machine operation and more than one tool can be used on a single model. For example engraving text or an image, drilling holes and cutting out pockets and edges can all be done in one job or a series of jobs with manual tool changes in between on the same work piece.

Material choice and tool decisions should also be done at this stage. Plastic, wood and soft metals are all candidates, but each has its own properties to account for and toolheads that will work better or worse depending on the the specifics. Setting up a simplistic test project such as a few straight lines or curves and trying out different materials and tools is highly recommended, but keep in mind that bits are liable to break if misused.

Safety & Use Considerations

Materials and methods should be well researched before milling occurs as other considerations exist. For example, it is probably advisable to us some kind of lubricant for milling metals. WD-40 intermittently applied has been suggested but not tested, and would likely make a mess.

Some forms of wood, including plywood and MDF/particle board, contain elements in epoxies or laminates that can be poisonous if released when milling. Take appropriate measures such as only utilizing a properly ventilated area. Consider that others may also be affected in an enclosed area such as the Hackerspace.

Extreme noises may be generated by milling and ear protection may be needed. Consider that others may also be affected in an enclosed area such as the Hackerspace.

Instructions For Use

  1. Secure the material to be milled to the milling bed. This is an exercise left up to the reader.
  2. Install the milling bit of choice
  3. Power on the mill control with the switch at the front of the control box.
  4. Plug in the USB, start Pronterface and test communications
  5. Load your G-Code file with the 'Load file' button.
  6. Start the job by clicking 'Print'.
  7. Monitor the progress of the job while it runs until completion.
  8. Ensure that the spindle has stopped spinning when the job is complete before opening the enclosure
  9. That should be it!

Don't forget to completely clean up and put everything back where you found it.

Images of the CNC mill:


Build images, Engineering diagrams and Reference images:



Examples of completed items/projects created with the CNC Mill:

  • Bob's “TESLA” dog tag tesla_final.jpg
  • Wes' “Hackerspace entrance –>” sign

Firmware Programming

project/cchs/cnc_milling/the_mini_mill.txt · Last modified: 2016/01/22 07:19 by geoff