# Machine Design

## Intro

*Machines in a week*  
*It's easy, so to speak*   
*In minutia is mayhem*  

OK, welcome to Machine Week.  

If you're reading this, chances are you're about to design a machine, and then build it, and then 'bring it online', and then do something with it. Exciting! There's a great deal of complexity here! I have done this a few times now<sup>1</sup>, and every time it's a new adventure.  

This document will serve as a guide for how to make (almost) a fairly standard 3-axis machine. *!ALERT! ~ This is a design process ~ !ALERT!* so please bear with any ambiguities, and the inherent nonlinearities present. For example, I already have a machine in mind, that I want to build (for reasons) - you may have an entirely different type of machine in mind, for different reasons. When possible, I will take asides to explain my reasoning, but overall, I intend this to be (1) a guide - for how to build this machine or slight deviations thereof, and (2) an exposition on (almost) how I go about considering machine design. Mostly, I hope to demystify CNC D&B<sup>2</sup>  

### In this order, we will do:

#### Design:
 - Draw a Layout (Rhino Suggested)
 - Detail the Axis
 - Detail Interconnects

#### Manufacturing:
 - Do Material Layout in Rhino
 - Program CAM in Fusion
 - Do the Milling

#### Assembly:
 - Put it together!
 - Alignment, alignment, alignment!

#### Electronics Assembly:
 - Plugs, Switches, Power, oh my!

#### Motion Control 
 - TinyG with a Big Heart (and minimum acceleration!)

#### Machine Communication
 - Chilipeppr 
 - Learning about GCode

#### End Effectors
 - Open Season: Design your own!

## Layout 

First thing, you'll want to get a hang of what rough sizes / shapes / orientations your machine is going to have.


- X, Y or Z ? mm? relative scaling? Relative Stiffnesses? 

## Parametric Axis
- Go Here https://github.com/fellesverkstedet/fabricatable-machines 
- Racking (two senses)
- Pinioning

## Axis Blocks
- Connect ur axis

## Doing the Milling
- First we go to fusion
- Then we do the milling

## Plugging in Motors
- Coils are connected
- One and two

## Configuring TinyG
- https://github.com/synthetos/TinyG/wiki
- Steps / mm
- Acceleration
- Travel, etc

## Talking to, loading firmware on, TinyG
- Arduino, I hope?
- Chilipeppr (rad alert!)

## Gcode Basics
- may it RIP

# Footnotes

1. Link Machines
2. Design and Build