Mug-O-Matic: A Modular Tiny CNC

Open Source Reconfigurable Robot Arm for Learning STEM. Make It Your Way!

Public Chat
Similar projects worth following
Mug-O-Matic is a one of a kind DIY toy, a real 3-axis Tiny CNC drawing robot that can customize coffee mugs!

This bot uses sharpies to draw via manual controls, calculated algorithms, or even g-code! Mugs can be washed clean or the drawing can be made permanent by baking it in the oven.

The intent of the project is to produce a fun and accessible hands-on educational tool. One that encourages young folks to engage in tinkering and making things because those activities are powerful ways to learn and inspire people to pursue STEM careers.

To that end this robot is very hackable in terms of software, electronics, and hardware. All aspects are open source (License = CC BY-NC-SA 4.0) and with dozens of hardware modules it can be used to build many different robot configurations. Whether it's making your own custom mug designs or building an entirely new kind of robot, the Tiny CNC collection is all about making things your way!



2018HackadayPrize Final Video:


This project started when my imagination was set to wander by a sentence from the book Invent To Learn.

 "Erector Set, Tinker Toys, Meccano, Lincoln Logs, LEGO ... All of these toys could be used to construct fanciful models of things, but not the things themselves. The game-changing 'toys' available to today's girls and boys are capable of making real things."

 Of course that quote refers to things like 3d printers and laser engravers, but I saw it as an interesting challenge. A toy that can make real things...  Why not customized coffee mugs? :) 


 I found it necessary to make a customized PCB for this application. I could not find an off the shelf arduino based servo driver that did everything I wanted for the cost & size I needed. I ended up  working with Scott Pierce and his open source pcb design to modify it for my needs. This is the result:

  • Utilizes 1x Arduino Nano V3
  • System Inputs: Up to 2X Analog Joysticks, Bluetooth (HC-06), Ultrasonic (HC-SR04), IR wireless remote, and of course micro-USB
  • System Outputs: Up to 9x servo motors, built in Buzzer & LED.
  • Power Requirements: 6VDC Wall Wart or 4X AA (Energizer Ultimate Lithium Recommended)
  • Drives servos directly from battery power unhindered by the arduino and has extra wide copper traces to minimize board resistance.

Mug-O-Matic Tool Path Summary:

1. Create or find an image file you want to draw and convert it to an STL that is 0.1mm thick. 

2. Use RepetierHost + Slic3r to convert the model into gcode. 

3. Use Processing to send commands line by line from computer over usb.

4.  Use Arduino with the Mug-O-Matic Gcode_reader sketch to decode commands.


So it draws on Mugs, But what else can you do with it?

All parts in the TinyCNC Collection are compatible with 2 recurring design patterns. One is the 'snap on lid' that allows you to connect different base structures around the PCB. The other is a 20mm spaced hole pattern that allows for reconfiguration of all modules at 90 deg angles. So all parts either snap together or are connected by a single size of 'plastite' screw, which forms its own threads when installed. 

 All actuators are powered by 9g size servos, (SG90 extremely cheap, MG90s metal gear good quality, MG91 pro-quality, FS90R continuous rotation) all are physically interchangeable.

  The servos are also great because they don't require motor drivers and they are physically small and yet still able to perform meaningful work.  Up to ~0.5kg from the linear actuator in my simple experiment, though it varies directly with voltage.


 My idea was inspired in part by another interesting open source plotter robot design by MakerBlock. In particular, he and others developed (GRBL based) arduino code that allowed a robot to read g-code and plot with a marker using hobby servos, a task typically done with stepper motors. Great idea and perfect for making an ultra low cost robot that still had lots of functionality. 

The other part of the inspiration was to emulate the famous Egg-bot, except with lower barriers to entry, more hackability, and to produce objects with more everyday appeal. 

Linear Actuator Design:

The key module in the Mug-O-Matic is the linear actuator assembly. I hadn't found anything available online so I designed one from scratch. Why a Rack & Pinion?

I choose a rack & pinion type actuator to keep the vitamins low and the movement speed fast. (As opposed to a slow leadscrew or pulley driven actuator with belts & bearings).  Well for those reasons and the fact that hobby...

Read more »

All STL & STEP source files for the Mug-O-Matic Specifically.

Zip Archive - 20.93 MB - 11/26/2018 at 07:16


PCB Source files in KICAD. Includes schematics, Layout, gerber/drill files.

Zip Archive - 4.70 MB - 10/20/2018 at 23:11


All STL files (Universally 3d Printable models) for entire Tiny CNC Collection

Zip Archive - 5.66 MB - 10/16/2018 at 04:03


All STEP source files (Universally editable 3d models) for entire Tiny CNC Collection

Zip Archive - 12.47 MB - 10/16/2018 at 04:03


Example Drawing

A dozen example files (STLs) prepared and ready to use for MugOMatic drawing

Zip Archive - 976.58 kB - 10/16/2018 at 03:49


View all 10 files

View all 15 components

  • Official HackADayPrize Video Posted!

    Michael Graham10/20/2018 at 20:52 0 comments

    This has been quite an adventure! At this point my whole basement is robots :) I converted a spare room into a temporary studio to create that video. My photography skills aren't the best but I am pleased with how it all turned out.  There is a lot of time lapse in that video, I think you can get a sense of the time I spent programming all the different bots. 

     The core functional goals of the project have been met, that is: Being able to customize coffee mugs, allow for mechanical bot customization, and make it easy for others to copy this work.  But my intention of selling some robot kits will have me working for a while yet to come. Actually, my day job work contract is ending and I am looking for a new job all of a sudden :/ but the release timing of this work is quite good in that it will keep me gainfully occupied when I need it most.

    CrowdFunding Update-

      I am teaming up with the folks at, a local company specializing in open source projects.  I love the other projects that they have supported and I would be proud to have mine among them.  One of the hardest decisions has been deciding exactly what combination of parts to offer (since this is so configurable), and how much to charge.

     I decided to offer a joystick controller with the standard kit so people will have a way to fiddle with the MugOMatic without a computer too. And I am offering ALL the little tools, grease, cables needed to make this bot work so it will be a self contained unit. 

       To keep my offering simple and compelling I am only going to have a few different backer levels and all will have the highest quality components. For example all my kits include MG91 servos, which have more torque, less backlash, and better heat sinking than the common MG90s.   If people want to 3d print or buy their own accessories separate, they will have that option. And if people want to save the time and get everything all at once they will have that option too. 

    Future Development-

    *HW- none necessary. 

    *EE- none necessary.

    *SW- All core functionality complete. But I still want to turn on new nice-to-have features like 2 way communication between robot & processing to speed up the drawing process, and turn on dot matrix drawing. 

    *Documentation- Everything is out there on this site. Now I am now working to organize the individual robot configurations by themselves and share each on different platforms. This will increase the chance of people finding them and improve project visibility. 

  • Updates + TinyCNC PCB Design

    Michael Graham09/30/2018 at 20:54 0 comments

    TLDR:  Physical Design hardened, turning on SW features. Kickstarter moved to November to focus on updating documentation & sharing everything! 

    New stuff since my last update:

     *World Makerfaire + Makerfaire PDX events: I love meeting fellow makers, lots of awesome and skilled people bring amazing toys to geek out on at these events! And as always I walk away feeling like the future is bright with so many smart kids interested in making things and science in general. My toy set was well received by my target audience of parents and educators so that's encouraging too! 

    *Mug-O-Matic Gcode drawing algorythms are hardened and I am reaching the limit of what I think is achievable with this technology :)   Ive discovered that drawing lines as a series of 0.5mm spaced dots will end up appearing as solid lines and it greatly improves accuracy because the servos dontd have to make small moves under load!d

    At Left is 'Basic kit', At Right is 'Basic + Expansion Kit'

    PokeBall GO! You can draw with multiple colors if you set it up as two drawings & change the tool.  The repeatability of this thing surprises even me!! (it traced the perimeters twice)

    *Programming Updates:  Ive gotten the bluetooth code & Dual joystick controls turned on too! Video of this thing in action here:

    I wanted to take a second to show off my attention to detail here. The pic above is ALL the tools needed to assemble a TinyCNC. There is only one type of screw used everywhere, and the magnet keeps it attached to your driver to make it easy to handle. The screwdriver has a removable handle which also presses the servo horns on. And the tweezers are for routing cables and double as a ratchet-like handle attachment for the screwdriver :) 

    My favorite person playing with my favorite toy!

    And finally, Showing off the customized PCB.  Originally I was going to use the ubiquitous red colored Nano Breakout from China but I learned that even though its cheap, it is too limiting!  The servos are driven THROUGH the nano's 5V output so it is limited on current & voltage in that way.   

     TinyCNC PCB is MUCH better than ol' red board.   Note that this work is derived from MePed pcb by Scott Pierce at SpierceTech. He shared his work open source and I picked it up and adapted it to better suit my needs and per his license am also sharing it open source. 

    *My contributions: Additional pins for attaching 2 joystick controls.  Added a Buzzer. Shifted components around to suit my container. Moved the bluetooth headers to block the nano's usb port when it is installed so the user doesnt try to have usb & bluetooth on at the same time (which doesnt work!) Removed i2C & ESP232 connections, & 3.3v power supply components as a cost reduction. Removed the on/off switch as a cost reduction. Updated traces to minimize the path resistance going to the servos to squeeze every last drop of power!

    This PCB runs the servos directly rather than through the nano. Not only does this give them more power, but there is a safety benefit. When you plug in just the USB cable to the china board it will attempt to drive the servos while you program it, the USB can only provide ~500ma current so you better hope those servos arent stalled!   This PCB separates the two so it wont move while you try to program it!

    Also of interest is that Scott designed the board to run just off 6v power input. Which means he had to get clever and use a diode to limit the input voltage to 5V +/- 0.5V and power the nano through its VCC.  The risk was selecting the desired voltage drop so that the board doesnt brown out or burn out if you connect different types of batteries to it. 

     Also of note, in the interest of squeezing out power Ive learned that the servos power output is a square function of their operating voltage,...

    Read more »

  • Project Update 2Sept2018

    Michael Graham09/03/2018 at 01:33 0 comments

    Fooling around with toys & discussing the challenges + plans moving forward.

  • ​A Review of Design Decisions

    Michael Graham08/30/2018 at 05:13 0 comments

      Ive been working on this project for many months now and there is still much to do but the end is in sight!

    In this post I thought it would be interesting to reflect how this project got here by sharing a summarized timeline of development milestones.  Often when such a thing is done over time the details on the process are lost, but fortunately I have kept great notes in my google drive!

    ***Timeline of Design Decisions Chronically starting Jan 2018.***

    *Idea Phase- My nagging interest to build 'a robot that builds other things'. Idea for hobby servo based drawing robot sparked by Makerblock's work on Thingiverse.
    *Problem Statement-  'Design a profitable robotics kit that encourages kids to persue STEM interests.' Per that goal, the kit should be:
         >Replicatable & Affordable- So others can copy this work. 
         >Unique: To be inspiring. 
         >Hands-on: Is critical to the learning process 
         >Expandable: Customization increases user engagement
         >Open source: Because I am basing some work on open source SW & electronics and I am respecting their license, and can benefit from help by others,and giving things away for free facilitates advertising. 

    Concept drawings: (Originals done on scraps & on different mediums over time. This image is many design considerations condensed nicely. 

    *Decide on the name "Mug-O-Matic" because its fun :) Stuck with it!

    *Research for existing projects similar to this to see if I'm reinventing the wheel. Most useful finds were inspirational but nothing else out there does what I want to do. 

    *Begin design work. Find a ubiquitous coffee mug. Take measurements to determine necessary drawable extents for actuator (80mm). Spec & order most likely hardware to be used. 

    *Utilize hardware & model elements from my SimpleSumo Robot project to get started quickly.

    *Make high level design architecture decisions and set them in stone:
         >Toy to use sharpies (mini's specifically.)
         >Mug to be oriented upright with robot sitting on top. I considered setting the mug on top of the bot to segregate the degrees of motion and improve mechanical stability during drawing. BUT the overhanging crane arm is distinctive and looks WAY cooler in action which matters more for a toy!
         >Arduino & batteries cannot sit inside of mug. Because there is no space, because you need to be able to access the USB cable to the computer, and because it would enable you to dunk the electronics if you weren't careful! 

    *Research for existing linear actuators. Come up short & start my design from scratch. 

    *Prototype assy #1. Very rough. The servos did not have enough power to move the actuator. Assembly freezes up. Asymmetrical parts unsightly. Focused on improving mechanics of the printed parts. (I threw out a lot of prototypes, this is what I had left!)

    *Discover that the common arduino nano breakout pcb I was using limited the current that could flow to the servos. Begin searching for other options. 

    *Realize that modularity would save me effort because the Mug-O-Matic uses 2 linear actuators.
    *Realize that modularity would enable a whole bunch of other cool creations. Begin the great distraction of creating the rest of the Tiny_CNC_Collection.

    *Repeatedly iterate individual parts to test fit,form, function, printability, etc. 
    *Thought of the layout for the Post-It-Plotter. 

    *Prototype assy #2: Getting better. But still had a hard time drawing vertical lines. Realized that I needed to add a flexible element to free the vertical axis from dependence on high 'pen to mug' accuracy to relieve excessive load.

    *(You can see the arduino layout is much different than what I ended up with!)

    *Lots more repeated iterations of individual parts and sub assemblies. All 3d models custom designed. Enjoyed plaing with gripper & different...

    Read more »

  • 2 steps back...1 leap forward!

    Michael Graham08/14/2018 at 05:15 0 comments

    This weekend has been quite the journey. With my wife & kid out of town for a few days and left to my own devices, I ended up working myself sick. Literally. :/ 

      Saturday was spent drudging through failure, frustration, & a nasty flu. But only a couple days later I have finally accomplished enormous success!

     The Mug-O-Matic (MoM) can now successfully draw with G-code using a simple replicatable toolpath!  Leveraging a processing program & gcode reader based on work by Makerblock,  Heindal, & Oliv4945, I had to modify their work significantly to suit my specific needs. In the end the path is:  Use Repetier Host + Slic3r to slice a flat 3d model & export gcode to desktop, Use Processing to send data over serial (usb tethered), have the arduino interpret said data line by line to print. Video to follow. On the downside more tuning is clearly required, the drawings resulting from gcode are much sloppier than I had hoped and the act of drawing is slow. Too soon to say how clean I will be able to get it. Im still happy though!

      Almost as good is that I successfully completed the line segmentation algorithm. Now when you tell the device to draw a long line from one side to the other, (at any angle/direction) it will segment that line into the minimum draw-able resolution of 1mm and move the specified distance in the maximum number of increments.  The result is a slower motion that negates the effects of rotating mass and prevents target overshoot!

     The backlash compensation code is also up and going successfully. The effect is subtle because the backlash was subtle, but it works and I am satisfied.

    Other learnings & updates in bullet form:

    *Unfortunately, this device can never do stall detection as I had originally hoped. While hobby servos do use potentiometers, they are not physically wired to provide feedback to the arduino. The feedback is simply unavailable. (Arduino command just tells you the last position you wrote to the servo, not the actual angle it is which may differ if the device as been stalled.)

    *I am designing a new Tiny_CNC_PCB specific for this project based on the MePed board by Scott P. Though his work is great for this, there are some minor variations for cost & fit & function that I want to implement.   To be honest I have never designed or ordered a PCB in my life, but have wanted to learn the skills. This has been a great opportunity to learn KiCad and pcb design via remixing rather than starting from scratch.  So I thought I had it finished and I even have a prototype supplier lined up, only then I decided that I need to update the design a bit more...This perfectionism is a trend with me that is great for getting a job done well, though timeliness can suffer. This is what has made the 3D models take so long to complete. 

    *My 3d modelling has also been slowed by the fact that designing all 60 components to be modular and function with each other as a set means that I have to be aware of every possible mechanical configuration for interferences and such. Physical testing with all parts in hand of the latest rev is very important. Often I find problems caused by very subltle issues like two seemingly perpendicular surfaces actually being 179.5 degrees apart, thereby stalling a hinge.  The devil is in the details!

    *The software is really powerful stuff for easily making a custom robot controller GUI and I am definitely going to spend more time learning the intricacies at some point. For now knowing the basics is adequate. 

    *I have been releasing 3dmodels to thingiverse as I get the time to photograph the assembly process and watermark the images. (Yes this project IS still 100% open source, and if people want to make their own from scratch you are welcome to do so, but the attribution aspect is important to me.)  Here is that growing 3d model collection:

    Read more »

  • Video Demo Project Update

    Michael Graham07/29/2018 at 18:25 0 comments

  • Updates to project vision & plan

    Michael Graham07/20/2018 at 05:19 0 comments

    This is the first update since I was awarded the $1000 for the first round of the HaD Prize, so thanks for that!  I took some time to look through the winners so far in this years Prize (and prior years) and I have to say that was a humbling experience. 

     People on HaD make some of the most amazing DIY projects I've seen on the internet, and so part of me feels like bringing my little toy to the party is a bit like a knife to a gunfight lol!

     Except, I do think this little toy is exactly the type of thing that this challenge is for. 

     The purpose of the Prize is to show the good that technology can do and to build hope for a better future, and where better to find that inspiration than the next generation of scientists and engineers?

    Tell you something, I love meeting smart kids! I go to as many Makerfaires as easily possible and I recently decided to sponsor a local public middle school robotics club because I see them as a valuable asset to the community. Its encouraging to see young people with technical interests who are clearly destined to grow up and make useful contributions to society. Not that non-techies don't contribute, but it's the scientists who solve life's big problems and the inventors who create technology to raise the tide that floats all boats. Constructive technology makes life better for everyone and society only stands to benefit from an increased interest in science and the key scientific virtues of honesty & curiosity. 

    That's also why I love to see how making things is becoming more culturally popular with time. As seen in the growth of MakerFaire's celebration of invention/creativity/resourcefulness, and kids movies featuring techno-optimist themes and tech-savvy hero's, like Big Hero 6, Meet the Robinson's, Cloudy with a chance of meatballs, and similar. 

     Open source educational toys also have their own role to play in sparking the interest of young minds. Things like the EggBot, MePed, & the MeArm are clever inventions that attract and provide an excuse for a newbie to get their toes wet and develop new skills.  And now alongside them will be the Mug-O-Matic and its various configurations!

    (Fyi I think up until this update I've made the mistake engineers commonly do when selling an idea. That is, sell features instead of benefits & ROI. This project is not ABOUT the 3d printed linear actuator. Rather, that was a stepping stone, a cool component of a larger work with a more important purpose.)

     For this project I chose to accentuate 3 features to solve key problems with currently available edu toys:

     *Usefulness: The finished robot should do useful meaningful work as real robots do, rather than exist solely to be cool. Also, as per the contest the robot modules themselves should have a usefulness such that they facilitate others to build incredible robot projects. 

     *Tinker-with-Ability: As I learned from Invent to Learn, kids learn by doing and are most engaged when they are able to independently experiment rather than just being told what to do. 

     *Accessibility: Be as easy and affordable to replicate as possible. Replay value is a must. Schools aren't known for being flush with spare resources.

    I think the current design is on target for these goals. Here is the current project status:

    While I have not been promoting this work much recently, I have basically been spending all my free time developing it. Keeping my head down pulling the cart. I've spent a significant portion of the prize money already gathering hardware to make a few of everything and then some. R&D isn't cheap.

    In a nutshell, Ill soon have the essential hardware models in a shareable state. I have a whole construction set of proven easy to print parts that can be rearranged to build all the common industrial robot configurations, or a walking bot, or any other Voltron style complexity a kid would desire. 

    The Mug-o-Matic...

    Read more »

  • Video Update #2: Measuring & improving the output precision.

    Michael Graham06/11/2018 at 06:53 0 comments

    While controlling the linear actuator can be done without hacking, I've found that doing so has its limitations. 

    Specifically with my setup the arduino nano has voltage and current limits that prevent the servos from reaching their full potential. Especially when I'm controlling 3 servos simultaneously in a stressful application!  This problem manifests in a locked up actuator when trying to make small movements, because the actuator cannot overcome the static friction with a proportioned control designed to only move a small distance.

     So I did some experimenting to find a way to power my servos directly from two 18650 batteries while isolating that 7V from getting to my computer's usb port. 

     In the end the hack was simple, which is the way I like it! This successful experiment will enable my drawing robots to operate with move torque and a greater degree of precision in small movements! 

    One step closer, yay!

  • Uploaded Accessories & STEP files

    Michael Graham06/02/2018 at 07:25 0 comments

    Continuing from last weeks log I have thought about how to best share the 3d models for this work. 

     I think since there are many applications of these modular components, each with their own instructions, that they are best shared as their own separate projects on HackaDay. (See end of this post for more new application pics!)

    Along that same line of thinking I believe that the small sub assemblies should each have their own project identity as well. This will make following & reproducing the body of work the easiest.

     But for now my time is limited so I simply uploaded a compressed folder containing some of the accessories that go with the linear actuator module, as well as a STEP file (universally importable 3d model) of the actuator assembly itself.

    Seen below top left are special mounts that clip onto an arduino nano without the need or screws and they hold bluetooth & sd card modules.  going CCw is a gripper, an ultrasonic sensor mount, a flexible joint, a hard 90 deg joint, and an assembly tool for pressing the servo horn on.

    I'll leave off with a neat picture of a laser turret I just finished up. It does not contain the linear actuator, but the components of this turret are compatible with the actuator mounting pattern so all the pieces could be used together to make something else! 

    The hinged joints in the turret shown below are also designed to be robust, rigid, and easy to 3D print like the actuator. 

  • Models complete! Testing in progress, Challenges encountered.

    Michael Graham05/22/2018 at 02:22 0 comments

    I am finally confident enough in my hardware to release all of the 3D models associated with this body of work! Every single model has been printed and tested to my liking. 

     However, I am dealing with 3 challenges at the moment.

    1.  Sharing too much makes the work hard to follow. I need to figure out a way to share these models without making it confusing as to which part goes where in which application...

    You see, sometimes (ok frequently) I get creatively carried away and at this point there are 39 different parts in this set! (And the arduino cases are compatible with the SimpleSumo robot set to boot). 

    The site does not allow you to sort your uploads into folders so I will have to upload everything into one long flat list and that will be hard to follow.  Hard to follow = hard to replicate = failure of a primary project goal...

    For now my plan is to be very careful with my naming conventions, and to provide separate build lists for the assemblies, & screenshots with callouts to identify which part goes where. 

    2. My drive system is underpowered. Through research & testing I realized that the arduino nano & breakout board that I love so much are actually limiting factors in the functionality of the drawing robot applications. 

     As it turns out, the breakout board does not have its own 5V voltage regulator and instead relies on the nano's built-in regulator to power all the 5V rails. I believe it is 1 amp maximum divided among the 3 servos and the nano itself. 

     The result is that the post-it-plotter application has a hard time completing small movements without stalling.  The mug-o-matic coffee cup application works OK though because it doesn't require as much torque to operate. Clearly, I am operating at the edge of the capabilities of my equipment.

     Ive tried to get cute & write the code to shut off the Z axis servo when it is not in use. This has helped to a limited extent. I can do that because these drawing robots are 2.5 axis CNC's in practice because the pen axis is only used in one of two extreme positions. Draw or no draw.

    Indeed, when I plug the servos into a stand alone servo driver with two 18650 batteries as I did in my demo video, they are exploding with torque.  

     One way I can get around this issue is to program the robot to draw via dot matrix. That is, drawing by making lots of dots instead of dragging the pen to make lines (which requires more torque.)

    3. Coding is hard. While I am strong at mechanical design & documentation, my coding skills are comparatively soft and flabby. Making the robot do the cool things it will physically be capable of is a challenge. 

      For now the robot can draw simple shapes via a mathematical algorithm written on the arduino. Fairly simple stuff. But my vision for the project includes drawing the EngineerDog logo on the side of my coffee mug which will require a more complicated solution.

     To draw via dot matrix I can convert images to a 2D array of 0s & 1s via a free website here;   However, getting the arduino to read that data is the issue. I can literally paste the array directly into the arduino code but I'd have to manually add text delimiters to make it work so thats a no go.

      To read the dot matrix or G-code I could send the data over serial using "Processing" or an SD card, but it is easier said than done. For that capability I will have to lean heavily on the code written by MakerBlock, whose work inspired this project.

     Im thinking the easiest cool thing I can accomplish within the time frame of this contest may be the addition of bluetooth control. Adding a common HC-05 bluetooth module is easy and I can use a nifty freemium program called Robo-Remo to drive from my phone.

     More time/sweat is...

    Read more »

View all 12 project logs

  • 1
    Mug-O-Matic Build: Gather All Parts + Materials

    Note: Updated Instructions here:

    This instruction set will start with physical assembly of the standard Mug-O-Matic, then programming the arduino, and finally preparing custom mug drawings for gcode. 

     Order of operations and following the instructions as shown here is very important for this build. 

    Also notice that these instructions are primarily in the form of images with a whiteboard background. I did this to facilitate sharing them!

    Link to Bill of materials for reference:

  • 2
    Tools + Pro Tips to remember during assembly
    Note that the servos can be centered mechanically as shown below, or you can program the arduino so send them to 89.5 degrees for a more accurate centering. 
    The TinyCNC collection is held together using Plastite screws which form their own threads as you drive them. For this reason it can be hard to drive them the first time you do so I recommend pre-screwing all your holes to form the thread before assembling parts together so you dont have to drive them from funny angles. 
  • 3
    Build Mug Lid Assembly
    IMPORTANT NOTE: At this stage I recommend taking a pea-size of grease and using a paper towel to apply it between the two surfaces that will move against each other. Wipe the grease into the crevices and then wipe off 90% of excess and basically just leave a shiny surface behind! It will feel wasteful but too much grease for these motors is like walking through deep mud! But that little bit leftover will be magic!

View all 12 instructions

Enjoy this project?



thesonicmenu wrote 02/06/2024 at 17:09 point

Hey Mike, appreciate it! The photo might look faded, but it's actually a drawing on a coffee mug, allowing for a new design each morning. (Note: Sharpie washes off in the dishwasher.) Adding a clock is a cool suggestion—I'll throw it onto my already massive to-do list! 😊

Can you please have a look on my new initiative. I really appreciate it

  Are you sure? yes | no

Nicolas Tremblay wrote 05/25/2019 at 01:54 point

Any news?

  Are you sure? yes | no

Mike wrote 10/13/2018 at 09:52 point

on the bom, the link to the Tiny CNC PCB doesn’t :)

  Are you sure? yes | no

Michael Graham wrote 10/13/2018 at 22:26 point

Thanks for the note! Yes at the moment I am still gearing up for a crowdfunding next month to create a big batch of the custom TinyCNC PCBs and offer them for sale. You can get things moving with the common china nano breakout or some other servo driver you might like, but the HW is built for my driver. The PCB files will be up this week though as I scramble to meet the prize deadline. 

  Are you sure? yes | no

Nicolas Tremblay wrote 10/12/2018 at 18:28 point

There seems to be a problem with your tiny URL link to follow for the kickstarter. I get redirected to some spam website.

  Are you sure? yes | no

Michael Graham wrote 10/12/2018 at 19:44 point

Gahh that has been up for a while! Lol, just fixed thanks!

  Are you sure? yes | no

Michael Graham wrote 06/30/2018 at 19:00 point

HI Mike, thanks!  My picture is a bit bleached but it is actually drawing on a coffee mug so you can have a different design every morning. (Sharpie washers off in the dishwasher) A clock is an interesting idea, Ill add it to my already enormous to do pile :)

  Are you sure? yes | no

Mike Szczys wrote 06/29/2018 at 19:55 point

Check out the demo setup for this where it's drawing on the white PVC using a green sharpie. It's like a graffiti robot that draws on itself. I'd like to see four of these turned into a clock that writes and erases the digits as needed. Very cool way to show off your mechanism!

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates