diff --git a/js/cam/cam.js b/js/cam/cam.js
index 3eaa46c0a57c2e5f0d9d47886cb1a590a89e4a9f..00cd7fb60cfcd6e3917b175688ca4ca776ce637b 100644
--- a/js/cam/cam.js
+++ b/js/cam/cam.js
@@ -81,6 +81,7 @@ Cam = Backbone.Model.extend({
         var machineName = this.get("machineName");
         if (this.get("assembler")) this.get("assembler").destroy();
         this.set("assembler", null);
+        this._setMachineDefaults(machineName);
         if (machineName == "shopbot"){
             this.set("assembler", new Shopbot());
         } else if (machineName == "handOfGod"){
@@ -96,6 +97,14 @@ Cam = Backbone.Model.extend({
         }
     },
 
+    _setMachineDefaults: function(machineName){
+        if (globals.plist.allMachineDefaults[machineName]){
+            _.each(_.keys(globals.plist.allMachineDefaults[machineName]), function(key){
+                globals.cam.set(key, globals.plist.allMachineDefaults[machineName][key], {silent:true});
+            });
+        }
+    },
+
     makeProgramEdits: function(data){
         this.set("dataOut", data, {silent:true});
         this.set("editsMadeToProgram", true, {silent: true});
diff --git a/js/models/AllAppPLists.js b/js/models/AllAppPLists.js
index dca4e835cc463aafb2edcb197a2d78c150143d3c..5d01495bfdc9652dc712206e3e201154cd7c60ca 100644
--- a/js/models/AllAppPLists.js
+++ b/js/models/AllAppPLists.js
@@ -177,6 +177,24 @@ function AppPList(){
         staplerDual: {gcode: "G-Code"}
     },
 
+    allMachineDefaults: {
+        shopbot:null,
+        handOfGod:null,
+        oneBitBot:null,
+        stapler: {
+            camStrategy: "raster",
+            placementOrder: "XYZ",//used for raster strategy entry
+            camProcess: "gcode",
+            rapidHeight:3,
+            rapidHeightRelative: true,
+            safeHeight: 0.05,
+            originPosition: new THREE.Vector3(0,0,0),
+            rapidSpeeds:{xy: 3, z: 2},
+            feedRate:{xy: 0.1, z: 0.1}
+        },
+        staplerDual: null
+    },
+
     allScripts: {
         loadFile: "Load From File..."
     },