diff --git a/modules/hardware/pot b/modules/hardware/pot
index 3e6ffe92d8d7da75252b26a66274628531925d4f..ef127f6382c0484634cb9f1c53d740d3e9c5ff96 100644
--- a/modules/hardware/pot
+++ b/modules/hardware/pot
@@ -141,6 +141,17 @@
         // Construct an updated profile given the number of layers specified
         // using linear interpolation
         var geomPoints = [];
+
+        // Construct the base
+        var firstPt = mod.points[0];
+        var firstX = firstPt.x;
+        var numSprials = Math.floor((firstX * +(mod.widthInput.value)) / 3.0);
+        for ( var spiral = 0; spiral < numSprials; ++spiral) {
+            var spiralX = (3.0 * spiral) + 2.0;
+            geomPoints.push(new THREE.Vector2( spiralX, 0 ));
+        }
+
+        // Construct the rest of the layers
         var layers = mod.layersInput.value;
         for ( var i = 0; i < layers; ++i ) {
             var scaledLayerIndex = (i / layers) * (mod.points.length - 1);
diff --git a/modules/hardware/profile b/modules/hardware/profile
index e72da1638af61169239a1841cb285a4b5bb7c4ac..4f60e255a4c2d62edba5f9b98623022bc14aedd5 100644
--- a/modules/hardware/profile
+++ b/modules/hardware/profile
@@ -79,7 +79,7 @@
         for (var i = 1; i < TOTAL_POINTS; ++i) {
             points.push({
                 x: (400 * (i / TOTAL_POINTS)),
-                y: (600 * (i / TOTAL_POINTS) * (i / TOTAL_POINTS))
+                y: (600 * (i / TOTAL_POINTS))
             })
         }