Friday, January 4, 2013

New Years Resolution(s)!

Happy new year to all of you readers and random clickers! First lets get some 
awesomeness going. Y'all are here for the pictures any am I really. If you don't have photographic proof, it didn't happen. I randomly posted an ad to craigslist asking if anyone could use a sign made for free. Man that was crazy. I got about 20 emails for the hour that the ad was up. Most were just people asking for random crap that didn't stand out too much. One was special. One screamed that it needed to be done.

A lady emailed asking if I could make a sign in remembrance of her daughter and if there was going to be a sign made...that one was going to be it. She didn't have a specific design in mind so I got to play around with the design. One request was to have a butterfly in the center of the sign. To the right is a shot of the initial test cut I did of the butterfly. This was just a generic Google image converted into a vector drawing. I may do a quick tutorial on how to do that later if there's interest. It turned out much better than I had anticipated. I was for sure that the intricacies of the wings would be lost but they worked out well. The only downside was that in order to get enough cut divergence to show the detail it forced the sign to be almost 2'x2'. That would be bumping up against the Y limit of the CNC.

In the end it worked out. All of the lettering was done using a 45 degree router bit. I still havent broken down and ordered a set of real CNC bits other than a couple for circuit board milling. The biggest thing that I notices about the sign that I would have liked to change is the font. I used a font found in AutoCAD and it just wasn't desined to go that big. You can see the individual vectors in many of the letter. The heart outline was done using a 1/4" endmill. As for the heart shap of the sign I found it faster and easier to draw that up in AutoCAD, add the butteryfly vectors, and then import it all into MasterCAM to create the tool paths. All in all it took me forever to get it finished with everything else that was going on but the lady was very nice and understanding since I was doing the work for free. Total cost of the project was $20 bucks for a piece of cedar. This doesn't include the time I spent joining the wood to make a sign blank or the time I spent designing the sign but all that was a learning experience that I couldn't have gotten any other way. I would say that the self test was PASSED...mostly. There's still another sign that I've agreed to make and have just let fall by the wayside due to a whole host of other things. Fortunately the dudes I promised it to have been way uber patient or just completely written it off. I hope to get around to making it... maybe I'll finish it up one day and surprise them.

The most recent CNC news is that I've moved the machine to my house! This was no small feat though. I didn't even want to take before pictures. It was impossible to walk into the office area and even if you could get into the office you couldn't have walked into the works space in the garage from the office due to all the stuff that was in there. It is still a little cramped but fortunately the CNC is on wheels so if needed it can be moved to the main section of the garage as long as my wife isn't parked in there...gah so demanding! The idea is to run the monitor in to the office so you can close the door while its running. eBay supplied a 25' long VGA cable for less than the gas that I would have spent trying to find on locally. I have a wireless keyboard and mouse but the one thing that's bothering me is zeroing the machine. So far this has proven to be my weakest skill. 
There is still more that needs to be done to get up and running again but hopefully now that the machine is in my back yard I'll get time more often to play with it. I've got a couple projects I've been kicking around. The first of which is building the tool paths to mill out the lower receiver of an AR-15. I'm not one of the fanatical fans of the AR-15 at this point but its a massive undertaking to build one from scratch. If you dont know me by now, you'll soon understand that I often do things for the wow factor. You walk into a room and say I climbed Mount Everest and people shut up an listen....baring those who are deaf or who don't know what Mount Everest is. This is no means my Everest but its a feat non the less.
The other project  I will be throwing at you guys is a cube. Much less awesome factor but it targets building that positioning skill that I mentioned I was lacking earlier. Here's a link to an instuctable that I'm going to try to follow.

And for those of you to lazy to click on it, here is a stolen image from the instructable. I'm going to first try this out of wood because its cheap but if it goes well I might shell out for the aluminum because it looks pretty. 

Now that were way down here and most people have stopped reading I'm going to hide a couple of my new years resolutions. I hate announcing these things cause they always seems to be the first things to get swept under the rug and not talked about again after they are made. 
  1. First and foremost I'm going to lose weight. As generic and mundane as that sounds its going to happen and I need to write it down to in an effort to commit to it. Here's what I'm going to do in order to achieve this goal.
    • 5:30 a.m. outdoor runs every Tuesday and Thursday
    • Indoor run on Sunday
    • Nike+ fuelband (2500 fuel points a day)
    • Libra weight tracking app (Android)
      • This shows trend lines and tries to average out daily fluctuations
    • Weighing portions when possible
  2. Next is the cooler and less lame resolution. I've set an alarm on my phone to write a blog every other week. Starting today I'm going to start this and we'll see how far it goes. I hope that they are all going to be CNC related but I doubt that with school starting back up that I'll be able to generate that much CNC related news. Either way there's always something techie or nerdy enough to hit the blog.

    There is is. Whew. That's rough to write that stuff down but its done. I can always go back and edit it out later! 
See you in a coupe of weeks.

Saturday, August 11, 2012

Graduate school and xbee HOWTO

After many months applying for jobs and trying to figure out what I'm going to do next, Holley and I have both decided to go on to grad school!  I'll be posting about my ventures into the world of electronics design here starting with today. A part of my graduate project is going to deal with wireless communication and mesh networking.

That being said, I picked up a couple xbee modules and USB adapters to play with and get familiar with using them. Being a Linux nerd the majority of my time is spent trying to figure out how to make Windows solutions work in the Linux realm. Yesterday was no exception.

Here we have the xbee 900 pro digimesh something or other. It works on the 900 MHz band and claims a  range of up to 6 miles. Wow. That's way overkill for my needs but that is what was laying around the lab to play with. To my understanding all of the xbee products pretty much work the same with a few minor differences. I'll figure that out later down the road. First task is to get them talking.

I picked up two of the USB carrier boars along with the RF modules just so I could get them talking via USB and not have to worry about programming at first. After doing a little research I knew that getting them to work under Ubuntu wasnt going to be plug and play. The picture to the right shows the inhouse board the department made as well as an evaluation board from both work in Windows using X-CTU at a baud rate of 4800. X-CTU is the software utility that Digi uses to connect to and configure the xbee modules. Getting that up and running is a must if we want to do anything.

There is no Linux alternative to X-CTU so my first thought was WINE. Keep in mine I'm not particularly fond of WINE. It works sometimes and most of the time it doesn't. For this particular situation it does with a great deal of modification. I'm not going to pretend that I knew what to do to make U-CTU work but my googling skills are top notch. The following sites don't necessarily provide the working solution but go a long way to help piece together one that does. 

The problem with the wire.less link is that /dev/ttyUSB* is owned by root. So unless you run WINE as root all the time (dont do that) then you have to change the permissions of the device every time you plug on in. It possible and only requires one command but its a pain to remember all that. This is where the second link comes in. Its possible to set rules for specific devices. When they are plugged in you can mount them with a special name or in a special place or some other more complicated things. These are called udev rules. They reside in /etc/udev/rules.d/ . The hard thing is figuring out how to write these rules so that anytime you plug in an xbee it makes it readable and writable by users other than root.

Lets start with the easy stuff. First you want to install WINE if you don't already have it. The software manager of your distro will have it so go get it.

Nect go download the X-CTU installer from Heres the link that I used.

Open up some terminal and from your home folder

cd /.wine/dosdevices

ln -s /dev/ttyUSB0 com5

ln -s /dev/ttyUSB1 com6

ln -s /dev/ttyUSB2 com7

ln -s /dev/ttyUSB3 com8

Those steps are literally cut and pasted from the wire.less link. What they do is link the COM ports windows normally uses to the /dev/ttyUSB ports we use in Linux. So when X-CTU goes looking for COM5 its directed to /dev/ttyUSB0 which is where it needs to be looking in Linux.

Now go find that .exe installer file we downloaded. Right click on it and set the permissions to executable. Then double click on it and let it install. It should do it automatically if you installed WINE correctly.

That was the easy part. Now we need to make it to where the user can go find and use /dev/ttyUSB whenever one of these devices is plugged in. I'm big on changing permissions as little as possible. Its easy to screw something up or create a security problem you don't even know about so I only want this to change permission when an xbee is plugged in. Otherwise leave it alone.

First thing you need to find an unique id to the ftdi chip that runs the USB converter.. This allows the computer to recognize the specific device the rule is for and not just blanket the rule over every device that's plugged in. I chose to use the vendor ID but you could just as well use the product or serial ID. I actually started with the serial ID but it would require an additional line be added to the rules for each different board. This is the most specific and secure but the least convenient. 

Open up a terminal and

udevadm info -a -p $(udevadm info -q path -n ttyUSB0) | egrep -i "ATTRS{serial}|ATTRS{idVendor}|ATTRS{idProduct}" -m 3

Write the values that come up. My idVendor was 0403. If yours is different youll need to change that in the rule.

So next we want to create the rule file. In the aeturnalus link they names their rule file 10-ftdi.rules. After doing some reading I saw it was recommended to name the rule file with a letter first so it is read last and overrides any previous rule. This makes sense due to the fact that the computer would read files starting with numbers first. So the next line is slightly different that what is seen in the aeturnalus link. 

Open up a terminal and

sudo touch /etc/udev/rules.d/ftdi.rules && sudo chmod 644 /etc/udev/rules.d/ftdi.rules

This is two commands in one line. it creates the file as well as modifies its permission. Next we want to add out rule to the file. Ubuntu uses vim and kubuntu uses kate to do text editing so pick your flavor. Im using kubuntu at the moment so

Open up some terminal and

sudo kate /etc/udev/rules.d/ftdi.rules 

This should open up a graphical text editor with a blank sheet in front of you. Don't panic. We just created this file. There shouldn't be anything in it.

cut and past this line in the file

KERNEL=="ttyUSB?", ATTRS{idVendor}=="0403", SYMLINK+="XBEE", MODE="0666" 

If you idVendor was different you'll need to change that here. 

Finished. Thats it. Now every time you plug into the usb port with a xbee through an ftdi chip it should set the permissions so that X-CTU can read from it. Here's a final shot of my Linux laptop communicating to my windows machine through a pair of xbees.

Friday, May 25, 2012

Found a couple spare moments!

Man, I uploaded these pictures from my phone to an unpublished blog post back in March.... Its now May if you haven't noticed. They need to hit the web though. This is a 3" interlocking cube that I designed with an interference fit. It worked and it also taught me that the Geko drive needs a cooling source or it will begin to skip steps. When I say cooling source I really mean a box fan that I put under it.

Ive forgotten what all Ive talked about on here but this is the newest purchase and build that Ive done to the CNC. Its a Porter router and DIY mount that works very well. I still have the mount for the smaller Rotozip router. I'm hoping to be able to use the smaller setup to make PCBs but I haven't been successful yet but that's mainly due to a couple of variables I will go into more detail in a later post.

In the upcoming weeks Ive got a new project I would like to start tossing around in CAD. I'm thinking about designing a boomerang. I used to make them by hand when I was young and this sounds fairly simple. I also have some pictures to throw up of a bio-reactor that I designed and cut out for work.. That design may have alternate uses in future projects. All in all, now that graduation is over, school it out, and my internship at ORNL just ended, I should have a nice amount of free time on my hands.

Ive also registered the CNC on Thats a cool site that allows you to register your CNC so others can contact you with project ideas. Pretty cool. That's it for now. Go build something.

Saturday, February 4, 2012

Stop the CLOCK!!!!!!!!


That's it! I have met my goal. I am almost a full 34 days past due but I'm finally there. A lot has gone on in the last two weeks so let me hit the highlights of that real quick.
I got the new hardware in not last Friday but the Friday before. As you can see I took a shot of the new motor vs. the old one. Its almost twice as large. I got all the hardware hooked up and installed the latest version of Linux CNC ( formerly Linux EMC) and did what anyone would do in their right mind. I found some double sided tape and a Sharpie and hit play. It came out twice as large as it should and reversed in the X-axis. Both easy fixes in EMC. I kept the rev per inch on the rod at the default of 20 in order to keep things nice and big since I had a whole poster board to work with

I played with a couple other test files including a couple spiral patterns and a snow flake. It was the greatest feeling on earth to see this thing run.

I spent several hours just going through the software and getting acclimated to the controls and which direction was what on the screen as opposed to on the table. My dad hung the posters from the wall in the garage like I was in kindergarten. It awesome. My parents weren't my parents during that period of my life so its fair game now. That was all the excitement I could handle last weekend.

I spent the entirety of last week thinking about the CNC. It was so bad I had dreams about it. I kept looking at parts from my small engines class and thinking if I could draw them up in AutoCAD. I picked up a copy of MasterCAM and installed it. Sadly there is almost no information on how to use it. There are two or three books on Amazon, a couple online classes you can pay for, and a couple DVDs you can buy but nothing for the person that's not sure what sources of information are really good and which ones are garbage. I finally came across this site;

Those are free PDFs and are extremely well documented. They have window screen shots, button screen shots. Its simple to follow. I cant imagine how long it took to create them but man am I glad that I found them. I ran through a couple of the first CAM guides and waited for the weekend to roll around.

Once it did, we built a mount for a supercharged Dremel looking tool. Its made by Bosch but I didn't thing it was going to handle this job. I was glad to be wrong and another moment even better than what I mentioned came about. I crossed the line that I set for myself shortly after starting this blog. I cut a tangible object.  I cut an EMC logo in the double size and then recalibrated to cut a logo in a one-to-one scale. The one-to-one scale is sitting in front of me as I type. I may sleep with it under my pillow. The larger one stayed with my dad and I wouldn't be surprised to find it hanging on a wall somewhere the next time I go over to my parents place.

Here's a video just to show off. Enjoy the screaching sounds. I wanted to cut the sound and have it be a silent film but apparently that's not an option. YouTube should get one that but until then turn the volume down.

Where to now that I've met this goal? Well I'm going to take it all apart and sell it for scrap....Nope. Not even funny. Even as I look at the screen I'm not laughing. Well I've got some ideas. I'm thinking about making an enclosure to hold all my air ride equipment and sound equipment for the Blazer. Im also thinking about guitar bodies, and missing dashboard buttons, and signage, and random small engine parts.

Tuesday, January 24, 2012

Short Update!

23:14:07:13 passed the deadline

I'm now five hundred bucks poorer! Why am I sooo excited about that you ask? If you'll take a look at the nice picture on the right ----------------------------->

You will see that the money will soon be converted into a set of three high torque stepper motors, a Gecko g540 motor driver, and a matched power supply to get this party started! Hell yeah I'm excited. This should make getting up and running a lot easier. No more dealing with the Arduino and those tiny tiny stepper motors I was playing with. On a side note I will most likely be building a 3d printed or something smaller when I get the CNC up and running. So in the end those stepper motors will have a home....even if I end up selling the whole thing.

For those wondering, I got the job at ORNL and that's the main reason I have the excess financial funding needed to acquire these final pieces. There are upsides and downsides to this deal though. The upside is that I have a job and am being paid good money. The downside is that this is only a spring term internship with the possibility of extension. So the hunt is still on for a permanent job once I graduate. I've got some leads but nothing solid at this point. Fortunately my resume is getting full of all kinds of different and important acronyms that make me a strong candidate for many positions.

Tip for those looking for a job in the science/research field. Mention specific instruments you have worked with in your resume. HPLC, GC, NIR, Bioflo reactors, Fermentors,  Mills, etc, etc. It tells the reader what kinds of things you can already do and also says that someone trusted you with high dollar research equipment.

More to come when it unfolds.

23:14:20:37 passed the deadline

Saturday, December 31, 2011


Well its now 55 minutes into the new year. 55 minutes past my CNC dead line. Sadly I didn't make that dead line but I am close.
What do I have? I have a CNC table with working X and Y axis. The Z axis wouldn't run due to the less than capable stepper motors. the final thing I have moving forward us a clear path and end goal.
That path is to buy a gecko 540 drive and stepper motors. This will run over $500 but its going to be controlling a $1500 table so that price is on par. I've been hired on at ORNL so I will be able to generate the capital required to finish this project up. So here's the big question. When? That's the hard line. This next semester is going to be jam packed. Senior design. The ORNL internship. Searching for a post graduation job. The list goes on.  My initial though was to push the deadline out till the end of February but to be safe I'm going to say March 15th. This gives me time to gather the funds, wait for it to be shipped, have some unknown delay, get it together, and crank out a piece.
There it is. I'm happy. Big things are happening this year. I graduate. I get a real time job. I finish the CNC.
Thanks for reading

Friday, December 9, 2011


Yeah that title is cliché as all get out but deal with it. :-) Currently I'm excited that the projects not dead. That sentence needs a little back story. Last week (that time I should have been studying for finals) I got everything hooked up and ready to go with the motor drivers and Boarduino sled I constructed to hook all those motors up in a cleaner manner. I eventually got enough spare time to get it all hooked up to the CNC and with bated breath to see if it would work. Yeah I spelled that right too! I googled it. Anyway, the whole thing went to hell as soon as I gave it the command to move any of the axes. The motor were skipping steps like crazy. There just wasn't anything that was going to make it all work.

I didn't throw anything. I didn't even get super upset. This project has been going on for years. Literally. Its just another hurdle in the road I told myself. So I left the garage and started looking for the solution. The Gecko g540 is probably the most recommended motor driver  over on so thats where I started. Ahren over at CNCRP has a kit that comes with everything to fit the need I was having.

For the small price of $520 the quick and easy solution could be mine. Right? Well no. Since Ive spent the majority of my project fund on the table itself I don't have enough left over to purchase such a fine piece of equipment. More on that later though.

Back to the drawing board I went. (another cliché phrase, is this guy kidding?)  The RepRap stepper driver V2.3 that I've built and am using is built around the Allegro A3982. Not much information is out there about the max specs of the v2.3 driver boards but Allegro provides specs for their chips so I just assumed that the circuit was built to utilize its capabilities.

"The A3982 is a complete stepper motor driver with built in translator for easy operation. It is designed to operate bipolar stepper motors in full- and half-step modes, with an output drive capacity of up to 35 V and ±2 A. The A3982 includes a fixed off-time current regulator which has the ability to operate in slow or mixed decay modes."

Hey I've got four, count them four, of these little drivers and I planned on frying one in the process anyway. After frying a HobbyCNC driver back in the first days of this project Ive come to expect to break a few things from time to time. So I scrounged up the biggest laptop supply I could find, cut the end off of it, found another old ATX power supply, cut the end off that too. Then I wired it all together and gave it a go.

After all that you're wanting me to say it ran perfect and I went on to cut something out or anything spectacular. Well not exactly. It bound up but it did have moments where it ran like it should. Even after cleaning the screw, the rails, and a light WD-40ing, it still bound in places going at the G0 rapid linear motion speed. At the slower G1 speed it did much better. This signifies that the motors are at the edge of their performance curve. Fortunately, Im still only running them at a fraction of what their capable of. Currently Ive got a 20v 6A power supply. Meaning that if I can get a hold of one closer to 35V it should make enough difference to get back on track to hit that dead line.


For now, enjoy this video of my latest Rube Godlberg project that knocks over a can of WD-40