Introduction: How to Assemble the Sienci Mill One (Desktop CNC Machine)

About: We aim to innovate on small-scale automated manufacturing, and this journey has begun with our first machine: the Sienci Mill One. This machine is simple in its design yet complex in its abilities. Able to mak…



The Sienci Mill One is a 3 axis desktop milling machine that turns your ideas into real objects. It comes as an easy to use, affordable package that focuses on simple design and user experience. It was built by a team of mechanical engineering students as part of a venture to create low cost, easy to use rapid prototyping tools.

The Sienci Mill One uses a rotating cutting tool, like a router or Dremel tool, to robotically cut or engrave a wide variety of materials, leaving you with a 2D or 3D object.





This Instructable is designed to provide assembly and build instructions for putting together the Sienci Mill One Kit. Instructions on building your own Sienci Mill One from scratch will come soon! We are also preparing files and other documentation as well, so please stay tuned.

PLEASE NOTE: The design and instructions for assembly of the Sienci Mill One may change. Please follow us on social media or check our website for updates on the latest news on the Sienci Mill One.

Step 1: Y Axis Bed Gantry

There are two gantries, one that connects the x and z-axis and one on the y-axis, on our CNC machine. They have v-wheel bearings to constrain the movement of the axis they travel along in two of the three axis, and provide smooth linear movement for the CNC machine.

The Sienci Mill One uses the y-axis gantry, also known as the bed, to move along the y-axis and provide a place to mount your work piece. The bed of the machine allows for the mounting of parts up to 250mm by 200mm.

Each v wheel goes into the four holes in the y-axis bed, and a nut holds the v-wheel in place. You'll see that two of the four holes are larger than the other. This is for the eccentric nuts. The eccentric nuts have a shaft that slots into the large holes. Unlike regular nuts which have a hole in the center for the bolt, eccentric nuts have off center holes that let you adjust the spacing between the v-wheels by turning the nut.

Note that a washer is used between the bearing and the surface of the bed. Make sure you have this to keep the side of the bearings from rubbing against the bed!

There are also a set of three brass lead screw nuts that are fastened using M3 screws and nuts to a holder, which allows for easy mounting to the gantries using M5 screws and nuts. The y-axis bed gantry requires two M5 screws and two M5 nuts to secure the lead screw nut assembly in place.

Step 2: X and Z Axis Gantry

The Sienci Mill One implements the x and z-axis gantry in one assembly. Start by gathering the four v-groove wheels, four M5 washers, four M5 screws, and two M5 nuts and eccentric nuts. Mount the v-wheels to one side of the gantry as shown in the images. Note that there are larger 7.12mm holes to allow for the shaft of the eccentric nut to fit. The eccentric nut allows you to adjust the spacing of the v-wheels by turning the nut.

Repeat on the opposite side. Remember to mount the two sets of four v-wheels on opposing sides of the gantry.

With the remaining brass nut assemblies, mount them to the gantry using two M5 screws and two M5 nuts. Note the direction of the nut, allowing for the right orientation for the lead screw. You can see in the photo that one nut assembly is turned 90 degrees from the other.

Step 3: Mounting the Motors

The Sienci Mill One is powered by three, high torque NEMA 17 stepper motors on each axis. Each motor powers one axis (x, y, and z).

The kit comes with five angle mounts, three of them are used to mount the NEMA 17s, which are then mounted to each end of the aluminum rails with the shorter set of M8 screws.

Screw each motor securely to the angle mounts using the appropriate M3 screws.

Note that the wires should face in the same direction as the photo so that when they are mounted to the frame, the wires are able to exit through the slot properly.

Step 4: Sliding the Gantries Onto the Aluminum Rails

Each gantry rides along one of the three thick aluminum angle rails. The two 400mm rails are used for the x and y-axis, while the 200mm rail is used for the z-axis.

Taking each motor mount, attach them to each end of the aluminum rails using the short M8 screws in your kit. You can also attach the router mount on the 200mm rail at this point.

Slide each assembled gantry onto the 400mm rails, making sure they are in the correct configuration. Note that if you are having a difficult time sliding in the gantries (you should only need a firm push to get them to slide on), you may have to turn the eccentric nuts to provide more clearance for the v-wheels.

Check the movement in the gantries and ensure that everything is moving smoothly but is not too loose.

Step 5: Coupling the ACME Lead Screws to the NEMA 17 Motors

Each axis comes with one coupler and ACME lead screw for a total of three couplers and lead screws. There are two 400mm lead screws for the x and y-axis, and one 200mm lead screw for the z-axis.

There are two ways of installing the lead screws, and both work fine.

You can either:

-Attach the lead screw to the motor with the coupler, then slide on the gantries, or

-Put the gantries on first and thread the lead screw through the nut on the gantry after they're on. Once you thread it in until it's touching the motor shaft, just separate the two enough to fit the coupler in, then couple them together!

Note that one gantry should go on each 400mm x and y-axis rail, you can set aside the 200mm x-axis rail for later installation. Also, be sure to tighten the couplers really well!

Once that's complete, you can mount the remaining angle mounts to the x and y-axis rails.

Step 6: Configuring and Assembling the Electronics

The Sienci Mill One uses an Arduino Uno and a CNC V3 Shield with either DRV8825 or A4988 stepper driver chips.

Documentation on the CNC V3 Shield can be found here:

The Arduino runs GRBL, an open source firmware that takes g-code from your computer and translates it into motor movements. You can find out more and learn how to flash and configure GRBL firmware onto your machine using the following links:

Start by stacking the shield and the Arduino together, making sure all if the pins line up. You can now place the assembly into the electronics holder by slightly prying the sides of the case open and slotting the Arduino and shield inside.

Strip a pair of wires on either end (included in the kit) with approximately a quarter of an inch of exposed wire, and attach it to the DC power socket. The socket comes with a terminal and raised symbols to show which terminal is positive and negative. It is very very important that you do not mix these up. To follow convention try to use red as positive, or black as negative.

With the other end, attach the wires to the terminal block on the CNC V3 shield. These are also marked for polarity, so make sure that each wire is going to the right place.

The electronics holder comes with a clip to hold the plug. You may clip it in to keep it out of the way.

Next, take each DRV8825/A4988 chip and attach a heat sink to the main driver IC (the largest black rectangle) using the double sized tape patches that come with each driver. These heat sinks help with heat dissipation.

The current provided by each driver can be configured using the potentiometer on the driver chip. It looks like a small screw head. On each potentiometer, there is a flat edge on the dial so that you can see it's position. Current provided by each driver chip must match the current rating for each NEMA 17 to provide the most optimal performance. We recommend turning the potentiometer about 45 degrees clockwise, but you can fine tune it using the instructions here:


Before plugging in the chips to the board, note that you can configure microstepping on the CNC V3 using header pins. You can also configure max speeds and more through the firmware, more information for this can be found in the CNC V3's documentation; we should also be releasing a list of some recommended settings and pre-configured firmware sets in the near future.

You can now install all the driver chips in the x, y, and z sockets.

Step 7: Assembling the Frame

Start by putting the x-axis motor through the hole in the right-side frame piece, then screw the brackets in place using the longer M8 screws and nuts. Once the x-axis is also secured to left-side frame piece, and the y-axis secured to the front frame piece, mount all four of the aluminum brackets to the left and right-side frame pieces using the M8 screws and nuts.

Slide the y-axis assembly into the x-axis assembly and slide the back piece in to meet it. Use the remaining screws to finish assembling the frame and don't forget to also mount the 3D printed Arduino bracket onto the back of the frame.

Note that it's fairly critical that the bottom part of the frame is flush to the surface of your table. This makes sure that dust doesn't escape under the frame and also that the machine cuts accurately.

Step 8: Software

Our current software tool belt consists of our favourite 3D modelling programs as well as our most often used CAM programs. We hope to soon have a comprehensive list of resources for any first-timers who may be trying out any of the software associated with our machine for the first time, but for now here's a short description of each program and some useful links.


A great free tool that you can use to either turn existing pixel images into vector images or create your own vector drawings. Also great for importing Solidworks DXFs and turning them into vector images. Here's a great video guide for converting pixel images into vector images (courtesy of Glenn Langton):


This program is designed for 2D cutting and etching. It's very simple and also browser-based. The makers of MakerCAM put together their own instruction set that you can follow if you'd like to become more familiar with the program:

You could also check out Caleb Peters' three part tutorial outlining a gear coaster build he did on his Shapeoko 2, where in the first two videos he goes through making a model in Inkscape then importing the SVG into MakerCAM and generating the g-code for it.


This is a great cloud-based 3D modelling software recommended for both beginners and experienced modelers since it's quite powerful but also free. It's very similar in feel to Solidworks, and since it's cloud-based your computer doesn't require a gross amount of processing power to handle larger models. In addition, OnShape already offers a very comprehensive list of CAD tutorials which will easily carry you along in getting to know their software

You can also go straight to their main page if you're interested in making an account with them


Very similar to MakerCAM, but much much more diverse, Kiri:Moto was made by Grid:Space to be the ultimate, browser-based 3D printer/ laser cutter/ CNC machine slicing software. Kiri:Moto thrives more when carving out 3D objects on the CNC machine because it has the ability to create more advanced roughing and finishing profiles, while also taking tool geometry into account.

Grid:Space was also nice enough to compile a comprehensive playlist of YouTube tutorials so that you can easily learn you way around their software

Here are two videos from the playlist which cover most of the CAM features that the software has:

You can also reference their GitHub page for any further help or inquiry

Step 9: Conclusion

There you have it folks! The instructions on assembling the Sienci Mill One Kit. As time goes on, we'll be revising the 'ible with up-to-date steps once we start receiving feedback from our beta-testers and our first users, so be sure to keep an eye in this page.

If you want to support us by leaving a pledge, check out our Kickstarter page at:

Also, leave us a like on Facebook if you like what we're doing:

or follow us on Twitter!

Maker Olympics Contest 2016

Participated in the
Maker Olympics Contest 2016

Wood Contest 2016

Participated in the
Wood Contest 2016