Adding A Tachometer To The SX2 Mini Mill


[Jeff] recently bought an SX2 mini milling machine with plans to eventually automate it for use as a CNC mill. After paying nearly $700 for the mill, he decided there was no way he was willing to pay for the $125 tachometer add on as well. Instead, he reverse-engineered the mill and constructed a tachometer of his own.

He opened the control box and started looking around. After identifying most of the components, he got sidetracked by a 3-pin header that didn’t seem to have any particular function. That is, until he realized that a lathe by the same manufacturer uses the same components, and figured that the header might be used for reversing the motor. Sure enough he was right, and after adding a reverse switch, he got back to business.

He probed the 7-pin socket with his logic analyzer and quickly picked out the mill’s data line. He hooked the line up to an Arduino and in no time had the RPM displayed on an LCD screen.

[Jeff] says that this little experiment is the first of many, since the mill is so hacker friendly. We definitely look forward to seeing a CNC conversion tutorial in the near future.

13 thoughts on “Adding A Tachometer To The SX2 Mini Mill

  1. Oh hey, it’s my hack :)
    Derp, The difference between RPM vs. RPMs is now noted. I still have quite a bit to learn in the world of machining.

    After I figured out the protocol, I made some tachometer kits using KiCad. It has some kinks/annoyances which I hope to work out, but it’s worth a try if folks are looking for an alternative to Eagle. Just make sure you download a copy from the site vs. using the old copy that is in Ubuntu and probably other linux distros repos.

  2. Nice job! I bought a G0619 from Grizzly a while ago and it included a tach and a Z axis DRO. I’ve been thinking about ways to add a readout to the x and y axis. So nice to have something to do rough work on at home though.

    Look forward to hearing about the CNC conversion!

  3. SX2 at a US distributor! I had almost given up. (wallet runs and hides in corner…)
    How about machining a nice enclosure for that board with your fancy new machine.
    …and omg! it’s the forknife guy! teach him to make you dinner yet? ;)

  4. Awesome job reversing the protocol. I know it would’ve been quite the leap for me to get to bits in the control protocol representing LED segments. Props for taking that guess.

    Wouldn’t you prefer a big-ish 7-seg LED display for this though? It seems that the tiny LCD text would be difficult to use when you’re actually machining something.

  5. @voodoo
    Working on it! Right now I’m trying to stuff all the electronics into one box for convenience sake. I don’t have much space in my kitchen.

    As for the robot, I tried, but they always skip to making dessert. :( They have some strange fascination with honeycombs right now…

    YES! :)

    I used an arduino and LCD only for prototyping. After I reverse-engineered everything and verified it worked, I made custom pcb board kits with 0.53″ 7-Segment LEDs. These are visible from way across the room. You can see those here:

  6. I am liking this, but you should know that for that specific application the Arduino is completely superfluous (other than being a requirement for getting you listed here, so I guess it does do something…)

    If you take a $2 opto sensor, point it at any shaft or pulley, and mark the pulley with a sharpie to get a single dark line on the item you are pointing the opto at, you have a functioning tachometer.
    All you have to do is connect one wire from the opto to one of the input pins of the parallel port you already have anyway (as its required to run the machine), then tell the software running the machine what pin it is (and all current programs have tachometer functionality built in already).
    Done in one, and the display is right there with all the rest of the needed data to run and calibrate the machine.

  7. @stunmonkey

    Read the post above yours where he said the Arduino was only used to prototype it, and then he made a display using a MAX 7219. The benefit of this is that you don’t have to have a computer on to measure the speed of the mill.

    Besides, it’s a nice hack that interfaces in a very professional manner to the stock port, thus keeping any added sensors away from moving parts where they could theoretically get caught.

    Also, what is with the Arduino hate from everyone? We should be happy that more people are getting in to building/hacking because of them rather than complaining about their over use. Just my $0.02

  8. @boarder2k7

    I agree its a great hack to use the existing port. That was some smart hacking.

    However, I don’t see why it would be of value to see what the rpm is without a computer running, as if it is a CNC mill like the project envisions, it sort of requires a computer to be on to function pretty much by definition. I guess thats the part that confuses me – why have a readout separated from the screen with all the other pertinent data required to run it, especially when there is a spot for it right there onscreen already? Why make two different places you have to constantly look between to operate the mill?

  9. @stunmonkey
    I’m far from the richest man in the world. My plan was to buy the mill and use it as a manual mill for a while until I saved up enough funds to make it a cnc setup. It’s probably not a bad idea anyhow since I am a novice in regards to machining in general. Gotta learn how to crawl before you walk!

    Someone else has already probed the uC daughter board for the mill on the cnczone forms (lots of great stuff in the “benchtop mills” section), made a board using radioshack components to ttl-ify the signal, and shot it over the parallel port into mach3. I can’t remember if they are using a signal from one of the hall effect sensors or a signal that drives the motor.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.