Cookie Baker 3D Printer

Programmable 12×12 2D gantry


  • 36”×36” sheet metal CNC (without cutting tool) with server and client control systems
  • Became significantly more fluent in C#
  • Developed .svg parser and toolpath scheduler with local optimization
  • Learned elementary electrical engineering
  • Engineered basic Arduino CNC controller
  • Wrote serial client featuring optimized protocol
This project started with the objective of making a 2×2 plasma cutter. You see, until then, I had been painstakingly hacksawing all my sheet metal, and I probabbly broke 3 or more cutting blades each day in the process. It seemed like a no-brainer then to automate this process... or so I thought.

I quickly began deciding objectives. PDFs started piling up on material science, electrical engineering, mechanotronics, programming, and gcode. For the first month, I spent much of my time in school taking notes, formulating designs, and drafting parts. It’s so easy to get tempted to plan out every millimeter of a machine.

Finally, I settled on an acceptable design and began construction. At this point, there were only a few weeks of school left, and I wanted to share my work with my peers so I intensified my activity: no more basketball, programming through class and lunch, staying in the garage much of the evening. (I would’ve made more balanced decisions now) At this point, I began actually learning about machanical and electrical engineering, arduino programming, C#, SVG processing, matrix transformations, and of course, failure.

CookieCutter in development

It’s hard to maintain a crazy level of involvement for long without losing some enthusiasm, and when the roadblocks came, I was ready to move on to another more exciting project. One of the bigest setbacks was the day before I was scheduled present the machine to my class. I was showing the electro-discharge cutting head to some of my teachers and school principle. It had worked before on aluminum foil, but this time I was using a homebuilt transformer to carry higher current. Because of a miscalculation however, the moment I turned on the switch, it shorted half of the classroom I was in and also a neighboring lab. Needless to say, that was a very embarassing moment. Summer break was just around the corner anyway so from then on, I gave up on making a working machine and just focused on giving a good presentation.

In honor of an attempted 3D printer, the Cookie Baker, I named this machine the Cookie Cutter. This system has all the bare-bones you would expect from a sheet metal cutting CNC except for an actual working cutting head. It uses CookieWare to read SVG files, an Arduino Mega with CookieWare Client to buffer serial input and make appropriate movements, and a threadscrew XY table. Check out the CookieCutter’s Github repos for server and client code.

Final CookieCutter (left), mock product-release video (center), and CookieControl (right)