It's Better With Arduino


Leave a comment

NSX Road Trip – Day 9

Day Nine: Topeka, KS to St. Louis, MO
Distance: 310 miles

The hotel in Topeka was… basic, to say the least. BUT, it was cheap and offered continental breakfast, which was important, because by now we had run out of the nuts and apples we smuggled in from Canada (take that, Border Patrol!). We ate weird, rubbery eggs, split a waffle, and pilfered another handful of apples for the road (fiber is important, kids). You may be shocked to hear that Topeka boasted few options as far as attractions go. I’m glad we had the experience of driving through the state, but we left Kansas with little hesitation.

IMG_4689.JPG

The horizon disappeared behind dense woods as we pushed further into Missouri. Things were starting to look more familiar now. We killed the time with podcasts and the entire discography of Lady Gaga. It was incredibly hard to stay strapped in and not turn the car into a dance floor (obviously), but we resisted the temptation for our own safety.

We hit a lot of traffic as we approached St. Louis, adding another 30 minutes or so to our ETA. FYI, if you’re ever stopped in traffic next to an oil tanker and happen to be in a very low car, here’s what it might look like:

IMG_6722.JPG

I figured it might be a good time to book our hotel for the evening. Until that point, we’d managed to stay under budget for accommodations (we’ll pretend we didn’t have to pay for those tires back in Denver), so we decided to splurge on a nicer hotel downtown with a decent view.

IMG_4700IMG_4697IMG_4698

We lounged around our room for awhile, then changed and set out to explore St. Louis. The city was bigger than I’d expected! First things first – we bought tickets to go inside the Gateway Arch later that evening. Then, we barely turned the corner before witnessing a very heated argument about a sports game (Ball-hit? Shooty-hoops? I couldn’t tell, but the trash talk was my favorite). We had to get an early dinner in order to be back at the arch in time for our tour, so Victor graciously looked up some restaurants and we ended up with… not pizza! I know, I was surprised, too. He picked calzones instead.

IMG_6735

After a delicious dinner, we slowly worked our way back toward the arch. A portion of the downtown area was closed off due to a charity race earlier that day, so we got to wander around and go building watching with zero traffic – win! We also stopped for a few minutes at this lovely park full of water features, which was an excellent idea for such a hot day.

IMG_6742IMG_6738IMG_6740

The sun was just starting to set, so we took a few photos outside of the arch before heading underground to the elevators.

FullSizeRender (2)IMG_4709IMG_4716

Once inside, we were all lined up in front of tiny doors and warned that the elevator system (built in the 60’s) may induce claustrophobia in some guests. A few minutes later I understood why. Picture a really big suitcase, then picture shoving 5 adult humans inside and zipping it shut. It was kind of like that. Thankfully, it was only a few minutes to the top. After navigating a very uneven staircase, we were greeted with amazing views.

IMG_4719IMG_4717

Watching the sun set from 630 feet above the city was totally worth a couple of rickety elevator rides. When we were satisfied that we had taken enough photos (perhaps too many), we squeezed back into the strange little elevator pod and emerged on the ground at the gift shop. Instead of buying overpriced souvenirs, we found a nearby grocery store, picked up a bottle of wine (yes, predictable, I know), and enjoyed it back at the hotel in the huge, comfy bed while watching stand up comedy.  


Leave a comment

NSX Road Trip – Day 8

Day Eight: Denver, CO to Topeka, KS
Distance: 540 miles

The alarm went off at 7, but neither of us wanted to get out of bed. Well, I never want to get out of bed no matter the hour, but Victor complained that he was still feeling some altitude sickness. I dragged myself to the kitchen and got him a glass of water. He said he didn’t want to eat, but I suggested that we at least grab some breakfast we could take with us – we had a long day of driving ahead.

Just around the corner was a tiny, charming breakfast joint called Blunozer Cafe. Fresh quiche, pastries, and cold brew coffee – perfect. We each ordered a slice of quiche and a coffee, but Victor (aka Sicktor) couldn’t eat more than a few bites. I was suuuper tired (not a morning person, if you haven’t guessed), but otherwise fine.

IMG_6686

IMG_4677

Our waitress noticed Victor wasn’t eating and asked if something was wrong. We explained the situation and she rattled off a handful of remedies that she always recommends to visitors. She even ransacked the kitchen looking for ginger tea, but to no avail. I thanked her and suggested that we look for candied ginger at a gas station. She perked up at that and informed us that there was a Sprouts down the street – they’d be sure to have ginger in addition to a ton of other cures.

Victor packed up his quiche for later (hopefully), and within minutes I found myself ogling chocolate covered blueberries in the bulk bin at Sprouts. I got wayyy more candied ginger than necessary, along with a probiotic smoothie for Sicktor (every little bit helps, right?), and a coconut-almond-milk-coffee-protein drink of some kind for myself that sounded good, but was actually just liquid chalk with a faint coffee aftertaste. We had over 7 hours of driving that day, so we were putting a lot of faith in those candies.

We left Denver and said goodbye to the Rockies. The landscape shifted to lush, green fields that were actually much prettier than I’d expected. We drove through nearly all of Kansas that day, stopping only to replace some painter’s tape that had come loose.

IMG_4678

I expected this to be the most boring part of the entire trip, but the flat emptiness gave way to rolling hills and slowly, trees started appearing again as we approached Topeka. The drive turned out to be quite scenic, and there was even this cool train carrying wind turbine blades.

IMG_6703IMG_4692IMG_4690IMG_4685.JPGIMG_4686

The AC stopped working at one point, which made for a really uncomfortable 45 minutes in the 80° weather. I was worried it was broken and we would be nothing but puddles of melted humans by the time we got home, but luckily it was only temporarily frozen and kicked back on after a sweltering hour or so. Seriously, how did people even survive before modern air conditioning? I don’t want to think about it.

We had no plans in Topeka other than dinner and a nice, long shower. We agreed on Mexican (I don’t think we’ve ever disagreed when it comes to food, actually), and then took a long walk around the nearby campus of Washburn University until the sun set.


Leave a comment

NSX Road Trip – Day 7

Day Seven: Casper, WY to Denver, CO
Distance: 277 miles

We planned for a short drive to Denver so we would have time to hike and explore the city. Over the morning our ETA increased due to traffic congestion and accidents, and we realized a hike wasn’t going to happen. The night before, a gentleman named Mark responded to Victor’s post on NSX Prime and offered his garage and tools so he could clean and repack the CV boot. Three months ago I never knew the “NSX Community” was a thing, and now I feel like there’s an underground network of welcoming homes and garages hidden all around the country, should we need them.

After an added 45 minutes in traffic (on the poorest quality roads of the trip so far), we arrived at an O’reilley’s in Denver. Victor purchased more car supplies while I fixed up the tape on the front of the car. Guys, we’ve murdered so many bugs (in addition to the bird, which I’m still sad about). The tape looks pretty silly, but the time Victor will save by not having to clean off all those bug splatters seems worth it.

IMG_4660.JPG

We walked down the street for a quick bite at a nearby Mediterranean restaurant. We both had mild headaches, but I figured it was due to hunger and all the exhaust fumes we inhaled in traffic. Mine went away after lunch, but Victor still felt “weird,” even after eating a delicious gyro. He dropped me off at our Airbnb so I could lounge around, read my Kindle, and enjoy a beer. Just kidding. I washed and folded all of our laundry (contrary to what Victor thinks, there is a limit to the amount of times one can wear the same basketball shorts) and worked on some blog posts. Meanwhile, Victor took the car to Mark’s house for some fixing up. On the counter was a Welcome Guide, left by our wonderful Airbnb host. On the very first page she mentioned that it’s typical for out-of-town guests to experience altitude sickness when they visit Denver. It seems pretty obvious now, but for some reason it hadn’t occurred to me that the altitude could be the reason behind our ailments (certainly not the fact that we’re getting old), so I mentioned it to Victor.

IMG_6773

Victor here. I hadn’t responded because I got caught up in a great conversation with Mark while repacking the CV boot. Also a believer of not just leaving his supercar in the garage, Mark’s NSX has over 200,000 miles on it and he’s driven it to all 48 contiguous states. I truly enjoyed the company while fixing my car – I was expressing my discontent with my car breaking on a 3400 mile road trip, and he responded with something like, “If you make yourself vulnerable, you’ll be surprised what might happen.” Fair enough, since this is the second stranger who has offered to help me fix my car along the way. Once everything was buttoned up and I had chugged a few glasses of water (I was feeling light headed at this point) I thanked Mark again for his hospitality and headed off. Now back to Page.

IMG_4666.JPG

Victor stopped at Discount Tire for some fresh rear tires (See? We totally could have done a burn out back at Border Patrol!), then met up with me at the Airbnb. I could tell he was a lot less stressed now that all the issues with the car were fixed. When I informed him that I’d found a place downtown known for their “creative and ecclectic” pizzas, he was definitely in much better spirits.

IMG_4674IMG_6678

We spent the evening wandering around downtown Denver, petting random dogs and admiring the architecture (I like to call this “building watching”).

IMG_4672

We stopped for ice cream and popped into a bar or two for a drink. Because we are super interesting party animals, we then summoned another Uber to bring us to our home for the night . We were both cozied up in bed by 11:30pm. #Thuglife


Leave a comment

NSX Road Trip – Day 6

Day Six: Great Falls, MT to Casper, WY
Distance: 493 miles

Great Falls didn’t have much to offer in the way of entertainment of sightseeing. When I was booking our hotel the day before, I actually spent an extra 15 bucks to be in a hotel that was downtown, thinking it would be nice to walk around and see the city. “Downtown,” consisted of every fast food restaurant imaginable, a Walmart, and an abandoned car dealership. Womp womp.

We set out on the 8 hour drive to Casper. The scenery wasn’t very exciting, but still beautiful in it’s own way. We passed lots of cows, antelope, and windmills.

IMG_6629
IMG_4639
IMG_6645
IMG_4646
IMG_4648
IMG_6648
IMG_4643
IMG_6708

This was our longest day of driving thus far, so I expected both of us to feel really cramped by the end of it. We checked in with each other periodically along the way, and we were both surprisingly comfortable the whole time. Even with the snack/hydration station at my feet:

IMG_6721

Along the way, Victor called the Acura dealership in Denver and canceled the appointment he made previously to replace the CV boots (to the tune of $1,500, yikes). It had pretty much stopped leaking by now, so he posted to NSX Prime asking if anyone in the Denver area had a jack and jack stands so he could properly clean the boot and repack it with grease.

While he waited for a response on the forum, we listened to lots of podcasts and Latin Top 40 music, and eventually made it to Casper, Wyoming. It was a really neat little town. Actually, Victor just informed me that it’s the second largest city in Wyoming. So it was a really neat little… city. The downtown area was very old and run down in some places, but there seemed to be lots of revitalization happening.

Victor looked up some good places for dinner and we found ourselves in an out-of-the-way Venezuelan spot. The food was amazing, and the owner was one of those people that just radiates happiness. He shook our hands and introduced himself as we walked in and thanked us for choosing his restaurant out of all the other eateries in the area. He walked us through the menu and made excellent recommendations (fried plantains and mini arepas with avocado sauce… yaasss). Throughout our meal he told us about how he used to be an electrical engineer but found the hours too demanding and stressful, and he always dreamed of opening a restaurant. Two years ago he pulled the trigger and hired all his family and now he gets to live his dream. It was great to hear his story and even better to taste his cooking.

IMG_4649.JPG

After dinner we found a little trail by the river that was perfect for walking off all that food. There were lots of baby bunnies hopping around, and this really cool bridge overpass:

IMG_6654.JPG

Victor found a map and observed that the trail eventually looped back toward downtown, so we followed it all the way in and walked the streets of Casper until it got dark.

IMG_6657.JPG
IMG_4652
IMG_6659
IMG_6660
IMG_4655

We came across a bottle shop and stopped in to grab something to enjoy back at the hotel. The owner here was super nice too, she introduced us to a group of her girlfriends that were “sampling” wine and keeping her company on the boring Tuesday night. She offered us wine samples and subtly tried to convince me to buy a $25 bottle (lolnope) that she thought we would enjoy, but we absconded with a $14 red blend. Still $4 above my usual price range, but I was feeling indulgent, we’re on vacation after all.

It had been a long and, thankfully, uneventful day. Back at the hotel we enjoyed our wine while watching Youtube videos before resting up for our drive to Denver the following day.


Leave a comment

NSX Road Trip – Day 5

Day Five: Banff, AB to Great Falls, MT
Distance: 396 miles

It was really hard to leave Banff the next morning. Victor and I agreed that we would love to come back someday and stay for more than one night, but in reality I know we both have long lists of other places we want to visit, so we’ll see what happens. I don’t think either of us will forget the beautiful landscape anytime soon.

The mountains gave way to flat fields shortly after we left. Unlike the NC mountains, there was no transition from mountains to hills, to smaller hills, to flat land. The mountains jut dramatically into the sky, and you can see them for miles away.

IMG_4629

IMG_4630

We made our way toward the US border, passing the time with an audiobook and some podcasts. It was nice to relax and enjoy an uneventful cruise through the farmland after the stress of the previous day. I’d had my nose buried in my Kindle for a while when there was a sudden, loud THUNK. Victor pulled the car over.

I had noticed small rodents darting across the highway all morning, (prairie dogs, maybe?) but this impact was definitely caused by something bigger. I looked at Victor and raised my eyebrows.

“Yeah. We just killed a big ass bird.”

He got out to see if there was any damage to the front bumper. Nothing major, thankfully, but the bird was lodged inside one of the crevices. We obviously couldn’t bring him along for the rest of the trip, so Victor grabbed the paper towels from the trunk and fished out our dead stowaway.  

IMG_4636

The bird blended into the road so well that he couldn’t see it, until the very last second when the bird’s head popped up, and by then it was too late. I agree, the poor guy’s (or girl’s) feathers did strongly resemble the texture of the highway. RIP, friend.

IMG_6615.JPG

It wasn’t long before the NSX nearly claimed another life. Less than 30 minutes after pulling back onto the highway, a badger came running out of the grass and into our lane. He was big enough that a collision would have surely resulted in some damage to the car. Victor honked the horn a few times and he turned around and scurried back into the grass. To add insult to injury, Victor absent-mindedly stuck his hand out the window a few minutes later and a butterfly immediately smashed into his palm. He pulled his hand back in and rolled the windows up.

Another hour or so passed and we pulled into the border crossing station in Sweetgrass, MO. I’ve never crossed a border by car before, so I don’t know if our experience was typical, but I’d rate this border crossing as 0/10, would not cross again.

We pulled up to the booth and the attendant snapped at us about having the car’s temporary tag in the back glass instead of on the back bumper of the car. Victor explained that the tag was made of paper and would disintegrate in the rain. She seemed pretty mad about that for some reason (had this lady never seen temporary tags before?) and when Victor explained that he was importing the car, she practically yelled at us to pull around into the parking lot and bring all of our paperwork inside.

Inside we were greeted by an officer who immediately slid a bunch of paperwork across the counter.

“Fill these out,” he demanded. “If you already have them filled out, fill them about again because you probably did it wrong.”

Victor obliged and passed them back across the counter. The officer flipped through the folder where he had all the car’s paperwork and took some of it back to his desk. He returned a few minutes later and informed us that because the car was a foreign import, we would be charged a tax to bring it into the US. I already knew I wasn’t going to be fond of this guy, but here’s when things got really sour.

Before he purchased the car, Victor researched the importing process extensively. The Border Patrol’s website states that if you import a car that was previously registered in the US (as this one was), and you had all the necessary paperwork to prove it, there would be no tax to import the vehicle back into the US. He had called that exact Border Patrol office weeks before to verify this information was correct. The officer on the phone looked up the rules and confirmed that there would be no tax to bring the car to the US.

Victor explained this very politely to the officer, even citing the name of the person he spoke to on the phone.

“If you actually read the website, then you would have seen that that rule only applies to domestic vehicles. Your car was manufactured in Japan, so you’re paying taxes today. I know you think you did your research, but this is my job. I do this for a living.”

Victor explained again that he looked up this specific situation AND called and had everything confirmed by an officer in that very office. The website didn’t state anywhere that this rule only applied to domestic vehicles. The officer insisted that he misinterpreted what he read and informed us that we would be paying taxes or we wouldn’t be bringing the car into the US. I figured I should occupy myself before I opened my mouth and got us in real trouble, so I pulled up the Border Patrol website on my phone and found the exact paragraph that was in dispute:

IMG_4694

I showed this to the officer. He read it and informed us that he was getting his supervisor involved, then walked over to his desk and made a phone call. We stood quietly at the counter while a group of officers congregated around his desk. I figured this wouldn’t end well.

Eventually the officer came back and informed us that last summer, the law had changed. The duty-free import only applied if the vehicle was returned within 3 years of being exported (he seemed to have given up on his foreign vs domestic manufacture argument). Victor argued that that change was not reflected on the website anywhere, and again, an officer in that very office confirmed what the website said.

“Look, I have no control over the website. I’m just a little Border Patrol officer in Montana. But the law is the law, I have it in an email from my supervisor if you want to read it yourself.” He said it really sarcastically, which pissed me off.

“Actually, yeah. If you don’t mind, I’d like to take a look at it,” Victor replied. Good, because if he had not asked to see it, I would have.

He printed out the email and passed it across the counter. He walked very deliberately back to his desk, sat down slowly, and pointed to his chair, “Take your time, I’ll be right over here when you’re done reading that.” I flashed him a huge smile and replied in my best Valley girl voice, “Perfect, thank you soo much!” Below the counter where the officer couldn’t see see, Victor poked me in the leg and muttered something about not getting us thrown in jail. Whatever. I know their training includes all kinds of intimidation tactics and really, the guy was just doing his job, but still. Rude.

We both scanned the email, which was basically a memo informing officers that as of April 2016, vehicles could be re-imported duty-free as long as they had not been out of the country for more than three years. So, yes, the officer was right, however I still thought we had a case.

I caught the officer’s eye and smiled again, this time twirling my hair in my hand, “Excuse me? I think we’re done reading this now?” I never read Sweet Valley High but that’s how I imagine the characters would sound.

He came over and pointed to the date in the memo. “As you can see, it’s right here. The law is the law, and your car is way out of the 3 year limit, so I’m going to calculate your tax right now, and you guys can just wait here until I’m done.”

It’s true, the car had been out of the country for 6 years. But when something like this is put on the books, any transactions that had taken place before the implementation of the new law are usually grandfathered in. The memo was very dense and full of legalese, so it wasn’t clear whether it was intended to go into effect retroactively. If anything, there was definitely a lot of room for interpretation in the way it is written. Whose authority is it, exactly, to make those interpretations? I offered my opinion to the officer.

“Look, the memo says exactly what I already told you. If you don’t understand, I’d be happy to have my supervisor come over and explain it to you.”

“Oh, if he wouldn’t mind, that would be really helpful!” I gladly accepted his offer. Before he left, the officer reached out and grabbed the memo out of Victor’s hand.

“Actually, do you mind if I hang on to that?” he asked. The officer informed us that this particular law wasn’t “for public consumption,” so no, we couldn’t have a copy.

He went back to his desk and made a phone call, but he spoke quietly so I couldn’t hear what he was saying. I’ll assume it was something along the lines of, “I’ve already been an ass to these people and I’d look really dumb if I was proven wrong at this point, due to my being an ass, so let’s just force them to pay this tax no matter what. On account of I’m such an ass.” Unfortunately, we’ll never know what was truly said.

The supervisor came out and asked Victor to explain everything from the beginning. He did, and the officer said he didn’t have the authority to make a decision in our case, but he would escalate this to his supervisor in Great Falls. It looked like we’d be stuck there for awhile.

The officers made phone calls and sent emails while I read an entire magazine about the hazards of a career in Border Patrol (did you know that rock attacks are a thing? Apparently, people sometimes just go to the border and throw rocks at Border Patrol. Also, there’s a whole scuba division that retrieves sunken drug boats and other contraband, pretty cool!). Finally, the original officer came over with all of our documents.

“I’m gonna give this my stamp of approval today and let you guys be on your way. Just so you know, we are opening a case about this and it will be updated on the website. Sorry for any troubles you’ve had.”

I told Victor to do a burnout in the parking lot, but he refused.

IMG_4632.JPG

A few hours later we pulled into an AutoZone in Great Falls, MT. Victor bought a tire pressure gauge (the one in the car was inaccurate) and the correct CV clamp tool. He realized the day before that the boot wasn’t actually broken, but the clamp had loosened up enough that it was leaking 26 year old grease, which had pretty much turned to liquid by that point. I’ll let him explain exactly what he did here.

Victor here. This is apparently a common issue with NSXs – the CV grease turns to the consistency of melted ice cream over the years, making sealing it inside the boot next to impossible. On top of that, the original clamp (which I’d replaced the last time I had the wheel off in Golden) loosens over time, leading to a mess which looks like a torn boot, but isn’t. I’d managed to fill the (still intact) boot with new grease and put a new, tighter clamp on with a pair of needle nose plyers, but the old grease was still leaking out by the time we got to Great Falls. The plan was to open it again in Denver, clean out all the old grease, and pack it with new grease. This should get us home until I have time to rebuild the axles properly.

Also around this time I realized that the rear tires, which had plenty of tread on them when we left, were wearing at an alarming rate. There are two alignment specs for the NSX – the original, 1991 version, then a revised 1993 version. The 93 spec came after a class action lawsuit was filed because NSX owners owners were only getting 5-7k miles out of a set of rear tires. After some digging through the paperwork that came with the car, it appears that my alignment was somewhere between the two, causing the rapid tire wear. I called ahead to Denver and had Discount Tire order some new tires, since they’re a weird size (265/35/18) and they’d be hard to find otherwise. Now back to Page.

We stopped for tacos (they make everything better) and then finally checked into our hotel room and called it a day.


Leave a comment

NSX Road Trip – Day 4

Day Four: Revelstoke, BC to Banff, AB
Distance: 176 miles

We spent Sunday morning searching for an auto parts store that would be open and, hopefully, on the way to Banff. We lucked out with a place called Lordco right in the middle of our route, in Golden, BC. We downed some coffee and a couple apples, gassed up, and pulled into the tiny town of Golden about two hours later. Victor spent a lot of time going in and out of the shop with various parts that were either the wrong size or incompatible with the available tools. I found a comfy spot in the shade and browsed Reddit on my phone while being real stealthy with my camera.

IMG_6529

In hindsight, I guess I could have used that time to start working on this blog, but oh well, it’s a vacation, right? Anyway, as his hands became covered in more and more grease, Victor recruited me to Car Fixing Assistant Extraordinaire (I personally preferred Paper Towel Distribution Engineer), and I handed him clamps and wrenches and lots of paper towels.

IMG_6531

As Victor worked, the occasional person would ask about the car or offer to help, which he politely declined. In his words it was, “pretty much a one person job.” That changed when a man who later introduced himself as Edward wouldn’t take no for an answer. He seemed very knowledgeable about cars and when it became evident that the CV boot clamp tool wasn’t compatible with the boot clamps Lordco had, he insisted on driving back to his house where he had a bunch of very highly specialized and difficult to find precision tools – zip ties. His were contractor grade, very fancy, he informed us. He returned with a bunch of zip ties, and a friend, Chris, in case we needed an extra set of hands. This was very convenient for me. As Edward and Victor worked on the car (boring), Chris and I discussed American politics, movies, and national parks (not boring). He even gave us a Discovery Pass which allowed us to have free admission to all of Canada’s National Parks! Throughout the process, Edward ran to his home and back no less than four times to pick up other tools, and when we thanked him profusely, he admitted he was really surprised that more people hadn’t already offered to help us. So far, Canada is the #1 place to be if you need a place to stay, a place to drink and talk about cars, or happen to have car issues.

IMG_6539

Victor felt comfortable with the fix for now, so we shifted focus to our next priority – lunch. We walked for a few minutes and found a sports bar with outdoor seating. The view was pretty awesome, and there was an entire page of poutine dishes on the menu. Jackpot.

FullSizeRender 3

I know taking photos of your food is a super annoying-millennial-hipster thing to do, but just look at this. It’s Mexi-poutine, which is basically Canadian nachos, which, if you know me, means I was in the right place.

IMG_6542 - Edited

Also, we needed to carb up for all the hiking we would do later that afternoon (as if I need an excuse to eat carbs). We finished our food, walked back to the car, and left for Moraine Lake.

We started seeing signs for Moraine Lake and I was getting pretty excited as we sloowwwwly made our way up the mountain. There was a fair amount of traffic going up the hill, and speed limits in Canada seemed sooo slow compared to the US. There was lots of gorgeous scenery to admire, so it was still a lovely drive. That was until we hit a pretty sizable bump and heard a weird “card in bicycle spokes,” noise coming from the front end of the car. Victor pulled over, observing that the brakes felt “mushy.” Did I mention that our AAA coverage wouldn’t start until the following day?

Victor inspected everything under the front hood while passersby asked if we were okay and kindly offered to tow us into town if we needed it. I started doing damage control as best as I could, looking up how far our hotel was from there and if there was a shop nearby that could repair whatever was broken. There was some liquid dripping onto the ground under the car which I knew was bad, but when Victor mentioned something about the radiator, my heart sank. He kept poking around so I kept thinking of alternative plans. Eventually, he realized that the radiator was fine – the liquid we saw was actually brake fluid from the (very high tech in 1991) ABS system. I assumed we were still screwed, since we would definitely need brakes to drive anywhere. I’m lucky Victor knows as much about cars as he does, because it turns out that if you just remove the ABS fuse, it turns the ABS system off and you can still drive the car perfectly fine. Unless you need to stop REALLY quickly, of course. I’m told this is a feature Honda added to their cars so you could still drive even if you lost ABS. Thanks, Honda!

He removed the fuse and we pulled back onto the road. After a couple brake-check tests, Victor was confident in his diagnosis. (Victor here, wanted to give my perspective). I figured that when we hit the bump, it activated the (also very high tech for 1991) traction control system, which uses the ABS. In a 26 year old car, it’s not surprising that the ABS actuator solenoids were sticky and probably hadn’t been activated in a very long time (this is a common issue for these cars, as it was a very early ABS system. End Victor). It’ll have to be fixed, but at least we weren’t stranded on a mountain.

We arrived at Moraine Lake, both of us eager for some kind of distraction. We added an extra day to our trip specifically so we could see Banff, AB, and we made sure it would be a short driving day to maximize the time we could spend hiking. A colleague of mine grew up in Alberta and when she heard about our road trip, she came to my desk and insisted that we drive through southern British Columbia and stop there. She showed me photos from her family vacation and she had to convince me they hadn’t been photoshopped. Let me assure you, this place does not disappoint. It was breathtaking.

FullSizeRender 5

FullSizeRender 11

IMG_6555

FullSizeRender 4

IMG_4591

FullSizeRender 7 - Edited

We hiked all the way to the end of the lake and back. We weren’t nearly ready to leave, so we looked up another trail that began at a huge pile of rocks, aptly named The Rockpile. As we made our way around the pile toward the other side of the lake, we were stopped by a group of people huddled on a particularly large rock. They informed us that the trail was closed due to an accident ahead, and that we should turn around because a chopper was coming soon to medevac the injured hiker to the hospital. I felt bad that someone had been hurt, but I must admit – an incoming chopper sounded pretty badass. We turned back and hiked for a ways before finding a safe spot out of the way to skip rocks across the lake and wait for the chopper to arrive. Behold, only a few minutes later:

The chopper/ambulance/trail closure pretty much ended our time at Moraine Lake, but we had plenty of sunlight left, so we headed over to Lake Louise. You guys, if you ever have the opportunity to visit, you have to see this place. The pictures are beautiful, but in person it’s truly incredible.

FullSizeRender (1)

IMG_4609

FullSizeRender 8

IMG_4617

IMG_4619

We hiked around Lake Louise and back. As we headed to the car, we noticed a group of people gathered up on a hill. Curious to see what the fuss was about, we joined them to find a wild porcupine foraging in the distance! According to Wikipedia, they aren’t that rare or special, but neither of us had seen one, so we were pretty excited. The porcupine was far away so I only have one awful, grainy photo and this quick snap:

It was a long day. We were both looking forward to some hot food and a comfy bed, so we went back to the car and headed toward the highway. We thought we’d had enough excitement for one day, but of course, Canada had other plans. Just as we were leaving the park Victor spotted these guys by the side of the road!

IMG_6580

Our waitress from the night before was right! She also recommended a pizza place which made it easy to decide where to go for dinner. As a bonus, we saw group of elk eating by the side of the road as we pulled into Banff, but we passed them too quickly to snap any pictures. Safely in Banff, we ended the night with delicious pizza and a few well-earned cocktails.


Leave a comment

NSX Road Trip – Day 3

Day Three: Abbotsford, BC to Revelstoke, BC
Distance: 311 miles

The plan was to wake up early on Saturday morning and get a head start on the drive to Revelstoke. Unfortunately, we arrived back at Pam’s pretty late the night before, and someone (ahem, Victor) set the alarm on their phone without realizing it was only active M-F. We did get a later start than we’d hoped, but I was pretty happy to have the extra sleep. Nothing good happens before 9am anyway (that’s 100% true science).

We packed up our stuff, thanked Pam for her hospitality (best hostess ever!), and spent some time in the driveway wrapping the front of the car in painter’s tape. The blue tape against the red paint looked a lot less cool, but it beats having tons of rock chips in the paint which would be inevitable on a trip like this with such a low car.

We had to carb up and caffeinate before hitting the road (obviously), and we had to make up for all of our American dining choices from yesterday. There was only one place to go.

IMG_6492

(I know this isn’t about me, but I was far too focused on my biscuit to think about snapping a photo of Victor, sorry.)

Properly fed and watered, we hit the road. The 5 hour drive to Revelstoke was amazing. The Canadian Rockies are really breathtaking, photos just don’t do it justice.

IMG_4556IMG_4558IMG_6499

Also, this is the first time we really put some miles on the car, so here is my official, super technical and objective spec report:

-The car is very low to the ground. A Toyota Yaris pulled up next to us at an intersection and totally blocked our view. Pretty sure we could drive under a lifted pickup truck.

-The car attracts attention. Some guy in a Charger tried to race us, or at least peel off very aggressively from a traffic light, and nearly hit the highway median in the process. Cute, bro.

-The car is SUPER COMFORTABLE. Everyone commented on how miserable we’d be, stuck in a tiny sports car for so many hours each day. Not the case. It’s really quite roomy inside, and handles VERY well. I’ve been keeping a huge water jug and a small backpack at my feet for the entire trip and haven’t felt cramped or squished. The seats are very comfy and offer a good amount of lumbar support. A+ for spinal health, Acura.

-There’s no bluetooth or navigation, but this car does have automatic climate control, which I didn’t even know was a thing for cars. We’ve been cruising at a comfortable 71 degrees with no need to adjust the AC. This is important stuff, folks.

-The trunk is also surprisingly spacious! I was worried we’d be stuck with room for just one suitcase, but I compared the dimensions of our carry-on luggage to the dimensions of the trunk before we left. They both fit, along with all the car maintenance supplies Pam and Steve were nice enough to pass along to us.

IMG_6519

Victor here, just wanted to add my perspective, too. What Patience said is spot on. Despite having the price, color, and ride height of an exotic sports car, the NSX is really just a grand touring car in disguise. Not to say that the performance wasn’t up to par with other exotics at the time of its release, but the overall feel is that of a touring car with long, relaxed gearing, firm and yet somehow supple ride, super comfortable seats, and more arm\leg room than most other cars I’ve been in. Now back to Page.

We stopped for gas along the way, so I ran inside for a much needed restroom break. When I came back, Victor had his head practically inside one of the rear tires. I figured meh, he does weird stuff like that all the time, whatever. I got back in the car and picked up reading on my Kindle. A few minutes passed and he was still there, head stuck under the car, so I asked if everything was okay. He informed me that the rear CV boot had cracked and was leaking grease all around the wheel. “That’s fine, I’ll help you clean it up,” I offered. Turns out, the problem was bigger than making a greasy mess on the wheel. It would need to be repaired soon, or we’d risk trashing the axle, which, I’m told, is bad.

Back on the road, Victor called the Acura dealership in Denver since we’ll be stopping there in a few days. They said they’d order the parts, set up a service appointment, and give us a loaner car while his is in the shop. Everything was great – except for the price, which was a LOT (and especially frustrating for someone who prefers to work on their car themselves). Unfortunately, we had no choice but to go with it if we intend to make it back home, so Victor had the dealership order the part and checked on the boot any time we stopped. Meanwhile, outside our windows, this was happening:

IMG_4560

IMG_6509 (2)

We arrived in Revelstoke early that evening, checked into our hotel, and took a walk to stretch our legs. We found a gorgeous park and spent a lot of time quietly staring at the river and mountains. In the distance we could hear coyotes howling. I know I’ve said it already, but this place is so beautiful.

IMG_6514

IMG_4569

IMG_6517

IMG_6513

After some quick Google searches, it turned out that depending on the severity of the crack, Victor might be able to repair the CV boot himself if we could find an auto parts store. That fix will have to wait until morning, though, as it was now after 5:00 and everything in town was closed. With nothing left to do, we headed off toward downtown where we stuffed our faces with sushi and discussed which hike we wanted to attempt the next day. Luckily, our waitress was from Banff and highly recommended that we see Moraine Lake. In her experience it was much prettier and less crowded than other popular hikes, and if we were lucky, we might see an occasional grizzly bear. We were sold.


Leave a comment

NSX Road Trip – Day 2

Day Two: Abbotsford to various suburbs of Vancouver and across the same bridge a whole bunch of times
Distance: ??

Friday morning we cooked a delicious breakfast with Pam. Steve, the owner of the car, picked us up from Pam’s house (have I mentioned that everyone involved in the car search and buying process turned out to be extremely kind, helpful, and all-around nice people? Because they really were). Steve drove us to Coquitlam where the car was being kept, but not before tossing Victor the keys to his very own NSX.

IMG_6474

We arrived at the garage and the door rolled up slowly, revealing the car I’d seen so many pictures of and heard so much about for the last few weeks. I am really not a “car person,” (sorry, Victor) but it was an impressive sight, even to a laywoman such as myself. Victor sat in the driver’s seat and grinned a whole lot while Steve pointed out various features and specs.

IMG_6477

Paperwork was signed, tags were replaced, and after a few well-wishes and adoring comments about the car, we pulled out of Steve’s neighborhood and began our journey.

That was when a huge deer popped out of the woods in broad daylight and sprinted across the street about 10ft in front of us. It was majestic and terrifying. We both started laughing hysterically once the deer was safely out of the road and not smashed into the front of the car.

We gassed up, (Victor still grinning), took a photo, and headed to our appointment at a local garage where we needed to get the AC fixed before we could drive back to hot, humid NC.

FullSizeRender

Our route took us over the Fraser River by way of a suspension bridge that we would become very familiar with over the course of the day. We ate lunch while the car was repaired, then returned to the garage and a nice, icy cold AC system. With most of the afternoon free, we stopped a boutique Canadian mom and pop store called Walmart to pick up some road trip necessities, then headed over to a quaint, local coffee shop called Starbucks to fight off the afternoon slump. Traffic into and out of the city seemed pretty treacherous by this time, so instead of spending our limited time sitting in traffic, we found a lovely park in a suburb (back across the Fraser River) and explored for awhile.

IMG_4517

Pam texted us and said she’d managed to get a small group together from the NSX club to meet up later that night, hang out, and collectively admire their cars (she didn’t include that last part, but after listening to Victor for the last few months and accompanying him to a mini NSXpo in Chapel Hill, I knew what to expect). We were both pretty hungry after all that walking, so we researched some local restaurants and settled on having Thai before the meetup. We made our way across the Fraser River (yup, bridge), found the restaurant, placed our orders, and waited for our food. And waited. And waited. 40 minutes later, we still had no food and it was another 30 minute drive to the meetup. We asked the waiter how much longer it would be, his response was, “We’ll bring it when it’s ready.” Remember when I said everyone involved in this process was super nice and helpful? That guy wasn’t included in my analysis.

Time was ticking and we were pretty hungry, so we quietly slipped out of the Thai place and went next door to a charming confectionery shop called Dairy Queen. So far our Canadian experience wasn’t very Canadian, but the food was served quickly and I’m pretty sure ice cream was included as part of the value meal, so who am I to complain?

We set out on our way to the meetup (yep, back across Fraser River) where we spent a chilly evening admiring the various cars (exactly as I expected), discussing politics, business, travel, and the proper pronunciation of “Clamato.” I’ve never felt so welcome in the home of complete strangers as I have on this trip.

IMG_4543

IMG_4551


2 Comments

NSX Roadtrip – Day 1

Day 1: Fly from Durham, NC to Vancouver, BC
Distance: ~3,000 miles

Because I’ll be driving for most this trip, my lovely copilot (Patience) has agreed to write a travel blog on our trip. See below for our story from her perspective!

Back in April when he sold his 2004 S2000, Victor began searching for his next “investment,” (by this I mean investment in more tools, car parts, time reading forums, and hours spent in the garage). This sparked weeks of searching, sending emails, oscillating between wanting red and wanting black, inspections, paperwork, and one very frustrating wire transfer. Along the way, Victor joined the NSX Prime forum. He commented on a thread about an upcoming mini NSXpo, and a member named John offered to take him for a drive in his 2001 NSX. John turned out to be an excellent friend and great resource in the Great NSX Search.

Victor eventually settled on a red ‘91 NSX in Vancouver, due to the extensive service history and excellent overall condition. Also, just look at it:

IMG_6248

John was nice enough to contact Pam, another NSX Club member in Vancouver, and ask her to check out the car in person. Pam very kindly took the car for a test drive and gave it her stamp of approval. Later that day the following conversation happened:

IMG_6618

We discussed logistics and settled on a route that was a little longer than necessary, but allowed us to see southern British Columbia and stop in Denver for a day (a quick Google photo search of Banff, BC was really all it took). Total driving time: 51 hours.IMG_6254

We booked a few Airbnb’s, bought our plane tickets, and on June 1st, we arrived in Vancouver around midnight PST. Remember Pam who checked out the car? She really went above and beyond by picking us up from the airport and offering her home to us for the two days we spent in the area. She drove us to her lovely home in Abbotsford, where, jet lagged and exhausted, we very quickly fell asleep.

IMG_4512


1 Comment

PyCAM and CNC Machining

I wrote a tutorial for my lab on using PyCAM to generate toolpahs for our Sherline desktop CNC mill, and I figured others might find it useful as well. Read on below!

 

Using PyCAM to Generate G-Code for the Sherline

To use a CNC mill, first you need to understand milling. On a mill there are three important terms:

Speed: Tool rotational speed in RPM. This depends on the cutting tool and material being cut. Look this up in a materials\machining table like this, google the material + “speed and feed”, or look it up in the machinery’s handbook.

Feedrate: How fast the tool moves through the material, expressed in (inches per flute) per rotation. A flute is one “twist” on an end mill. If you look at the bottom, it will be obvious how many flutes it has. A federate of 0.002” means every time the mill rotates once, it moves 0.002*(number of flutes) inches. Speed is chosen first, then federate is calculated.

Depth of cut: How deep the mill cuts into the part per pass. The above two terms are material and tool dependent, while depth of cut dependent on how much power the motor on the spindle has. For the Sherline, which doesn’t have a ton of power, keep this to 0.050” or less for aluminum (much more for plastic and wood).

This is obviously a crash course, and there is a lot to machining. The good news is that for plastics and wood, the materials are so soft that it’s hard to damage anything. Metals, on the other hand, require some planning, and research should be done before cutting (selecting correct speed and feed, smaller depth of cut, etc). On the Sherline, I wouldn’t cut anything harder than 6061-T6 aluminum (meaning no steels).

The Sherline is a full 3 axis CNC machine, meaning it reads a programming language called G-code. G-code is a machine agnostic language, meaning the code you write for the Sherline should also work for a $100,000 HAAS mill. Each code is alphanumeric, and is usually followed by coordinates. For example, G00 X1.25 Y0.02 is a rapid move to the coordinate specified, while G01 X1.25 Y0.02 F0.02 is a move to the coordinates specified at the specified federate. There are tables online of what all the codes mean. I find that examples are usually the best way of learning, so below is an example of a simple program that I used to wind the windings for my AMB:

(--------------------------------------------------------------)
(For winding poles)
G91 (Relative coordinate mode)
G21 (use milimeters)

(200 RPM = 3.2 RPS)
(Wire is 0.0055" in diam, 0.14mm, so feedrate should be)
(0.14mm per rev. At 3.2 RPS, vertical feedrate should be)
(0.466mm/sec or 28mm/min)
(To prevent stacking, use 30mm/min)

(--------------------Pass 1-2--------------------------)
G1 F30.0 Z11.4      (Move Z up 10mm at 30mm/min, 0.5mm/sec)
Z-11.4              (Move Z down 10mm at 30mm/min, 0.5mm/sec)

(--------------------Pass 3-4--------------------------)
Z11.4    (Move Z up 10mm at 30mm/min, 0.5mm/sec)
Z-11.4   (Move Z down 10mm at 30mm/min, 0.5mm/sec)

(--------------------Pass 5-6--------------------------)
Z11.4    (Move Z up 10mm at 30mm/min, 0.5mm/sec)
Z-11.4   (Move Z down 10mm at 30mm/min, 0.5mm/sec)

(--------------------Pass 7-8--------------------------)
Z11.4   (Move Z up 10mm at 30mm/min, 0.5mm/sec)
Z-11.4  (Move Z down 10mm at 30mm/min, 0.5mm/sec)

(--------------------Pass 9-10-------------------------)
Z11.4   (Move Z up 10mm at 30mm/min, 1mm/sec)
Z-11.4  (Move Z down 10mm at 30mm/min, 1mm/sec)

M0    (Program Pause)
      (Manually cut wire)

G0 X50.0 (Rapid over 50mm to get out of the way)
G0 Z100.0 (Rapid up 100mm to get out of the way)

M0    (Program Pause)
      (Remove coil)

G0 Z-100.0  X-50.0 (Rapid back down to start a new pole)

M2 (End Program)
(--------------------------------------------------------------)

G-code isn’t terribly hard to learn, especially if you already know how to program. I won’t cover it here since there are plenty of websites that cover it, the point I want to make is that for simple parts, it’s pretty easy to manually write a program to connect some points. What if you’ve got a complicated part you want to machine though? Writing it by hand would take forever.

Enter computer aided manufacturing (CAM). A CAM package will take a solid model, and given some user preferences, generate the G code for you. The downside is that almost all of them are ungodly expensive, with the industry standard (MasterCAM) costing upwards of $10,000. Being as we’re at a university and most likely don’t have that kind of money to blow (or if you do, why are you here?), I found a free alternative called PyCAM.

PyCAM takes a .STL or .DXF file (which you can generate with any respectable solid modeling software) and generates a G-code file, which is really just a .txt with a different extension. It’s not perfect by any means, but it’s free and usually does a decent job. It’s capable of generating both 2D and 3D toolpaths, depending on what you’re trying to make. Instead of trying to explain each step in the process, I’ll walk through a simple project I did recently.

First, I modeled the part in SolidWorks. I designed it to be made out of 0.25” aluminum plate, which we just happened to have in the lab. Keep in mind that your cutting tool determines the smallest radius your part can have, in my case I was using a 0.25” diameter end mill, meaning the minimum radius I could design for was 0.125”.

Figure 1:Hose separator to be machined. All dimensions are in mm, because why aren’t we using metric yet?

The next step depends on what you’re trying to make. If you’re making a 2D part, follow the steps in this section. If you want to make a 3D part, read through this section and then continue on to the 3D part section.

Create a drawing of your part (File -> Make Drawing from Part). Use a blank sheet, and size it large enough to fit your part on. Create a drawing view of the part and place it in the middle of the drawing:

Before we go any further, we need to make sure two things happen: change the sheet scale to 1:1 and make sure the document units are correct. To change the sheet scale, right click on Sheet1 in the tree, click Properties, and change the sheet scale to 1:1:

image005

Figure 2: Change this to 1:1 or you’ll make a part for ants.

To change units, go to options, units, and change them to the units you’ll be using with PyCAM. PyCAM defaults to metric, so I always change it to MMGS:

image006

Now that everything is in order, file -> Save As -> .DXF. You shouldn’t have any issues with scale, but if you do there is an option when saving as a DXF to force 1:1 scale output.

Next, download PyCam. I like the standalone version, which doesn’t require any installation. I’ll include a copy of that in the directory with this in case that link goes dead. Open it, and it should pop up with the default model:

image007

In the main window, there are tabs for manipulating the model, defining tools, modifying machining processes, modifying the machining bounds, and generating toolpaths (tasks). In the visualization window you should be able to rotate the model with your mouse, as well as check overall dimensions with the “model corners” text at the top.

Now, File-> Open -> The DXF you saved from SolidWorks. You should end up with this:

image008

Notice how the part isn’t in the center of the coordinate system? Click To Origin to move it there. Next, we should move the model to the Z position that we want. I prefer to put the origin on the top of the material I’m cutting, so it makes it easy to zero the mill. To do so, we need to move the profile down to the bottom of the material. Since we’re using 6.35mm (0.25”) thick material, under move model type -6.35 and Shift. Also while we’re on this tab, click Revise Directions under Miscellaneous. Don’t forget to do this! If you do, you’ll get errors when trying to generate toolpaths. It should look like this now:

image009

Also on this tab you can rotate the profile, flip it over, shift it, etc. Before we continue, make sure the model corners are correct, and that your part isn’t 50 microns across. You’d be surprised how easy it is to miss that. In this case they’re roughly 44mm by 59mm, which is correct.

Next, we’ll configure the Tools tab. This is mostly for 3D parts, but in our case it also defines the feed and speed. The engraving operation doesn’t take into account tool diameter, so don’t worry about that. Choose the cylindrical tool and set the appropriate feed and speeds:

image010

Next, click on the Process tab. We’ll be using Gravure to generate 2D paths:

image011

There are 4 items here we are concerned about:

Max Step Down – This is the max cutting depth per pass in mm. Since the Sherline isn’t very powerful, set this to 1.27mm (0.050”) for aluminum parts

Engrave Offset – This is how far away the toolpath will be kept from the actual part. For milling operations like this it will be half the tool diameter, or 3.125mm (.125”, using a .25” end mill)

Pocketing – How holes in the contour should be treated. Choose holes if you want to drill holes, pocket if you want to mill out the pocket, or none to just mill out the contour. Since we don’t have any holes, I’ll leave this at none

Milling Style – Determines which direction the path will be generated in (CW or CCW). For the Sherline use climb milling, as it will give you a better surface finish. If you’re interesting in learning the difference between climb and conventional milling, Here’s a good comparison.

The finished configuration should look like:

image012

Now, click the bounds tab:

image013

The bounds determine where the tool can go, and it will only travel within the bounds. I’ve found it can be problematic to have bounds that are too small, so I start large. Start by clicking New to create a new set of bounds, and change the relative margins to 20% in all directions:

image014

This defines the X and Y boundaries, but not the Z (It would if we were using a 3D model). To define where we want the tool to cut in the Z direction, change the margins to Custom. The absolute value of the boundaries should be filled in from when they were set to 20%, with Z being 0 thickness (lower and upper are both -6.35). Since our material is 6.35mm thick, change the upper to 0. We should now have a box roughly shaped like the stock we’re cutting it from:

image015

Now we’re ready to generate the toolpath, so click on the Tasks tab. Click on Gravure (Engraving), and change the Tool, Process, and Bounds to those we’ve defined. Once that’s done, click Generate Toolpath

image016

The program should generate a tool path and list it in the Toolpaths tab:

image017

From here you can export it as a .ngc, which CNC machines should be able to open. You can also simulate the toolpaths generated to make sure the toolpath moves in the correct direction, etc. I have the “Show Drill” option turned on, which you may have to do in the settings to see the end mill (red).

Once you export the .ngc, open it with a text editor like notepad. Scan the first few lines and remove any lines that select a tool – in this case, the code is T1 M6, which specifies that we’re using tool 1. While this is a valid code, we obviously don’t have a tool changer on the Sherline, and thus LinuxCNC will get angry. Transfer the .ngc to the Sherline computer, power on the stepper motors, and open LinuxCNC(Metric-mm). LinuxCNC needs a reference before it can move the stepper motors, so click All Zero in the lower right corner.

Next, we need to secure the workpiece to the stage. I put a piece of plywood down first so when the mill breaks through the workpiece it doesn’t try and machine the stage. If possible, try and bolt the part to the stage or plywood so it doesn’t go flying when the mill “liberates” it from the material. Also, be conscious of where the clamps go – CNC machines don’t have safeties, and are more than happy to move through anything they run into. This is true for anything bolted to the stage touching any part of the mill – be careful! Below is how I secured the workpiece:

image018

The part will be cut relative to where the origin is on the mill, which we set. We have a rough idea where the part will get cut out – notice in PyCAM where the origin is, and where the part is relative to it. If you want a very good approximation, you can print the .DXF 1:1 scale and put it on the material.

We need to zero the mill on the origin, so in LinuxCNC click on Continuous and Rapid in the lower half. Jog the mill until it’s close to where you want the origin. I usually put it where it is in the picture above – close to the edge, but not centered on it. Get X and Y where you want them by jogging them, and zeroing them individually. Zero the Z axis by turning on the spindle and slowly jogging the head down until it barely touches the workpiece – notice above how the mill left a slight mark on the part. At that point, zero the Z axis.

Now comes the fun part! Click on Auto, open your .ngc file, turn the spindle on and hit Run. If all goes well, it should look like this. Remember to use plenty of cutting fluid when cutting metal!

image019

3D parts

I’ll pick up here assuming you have a 3D part modeled in Solidworks. To export as a .STL, File -> Save As… -> .STL. Make sure under options to “Output as ASCII”. This means the file will be plaintext, instead of a binary file.image020

Figure 3: Save as ASCII, or PyCAM won’t be able to read the part

Since I don’t have a 3D part currently modeled, I’ll continue using the model that starts with PyCAM. So, close any instances of PyCAM you’ve got open and re-open it:

image007

I’m going to assume you’ve already read the 2D part, so if you haven’t do so now. By default the part is located at the origin, with the origin residing at the top of the part. This is what we want, so if your part isn’t like this, use the translations to move it there.

Define the tools you have on the Tools tab, including feed and speeds for each. For most jobs you’ll want a cylindrical cutter, but if you want to put a radius on the bottom of your part (or cut any curved surfaces), you’ll want to use a spherical at some point.

On the processes tab, there are 4 types of path strategies (located at the bottom):

Slice Removal – makes large cuts to remove all material around a part. Good for roughing out a part and removing material between contours.

Contour (Polygon and follow) – Slices the part along the XY plane and generates toolpaths around the profile. For milling a strictly 2D part, I find using the Engraving option is better, but for 3D parts like the example it works well

Surface – Slices the part along the XZ or YZ plane and generates toolpaths that follow the surface. If you’re trying to make a curved surface, use this with a high overlap and ball nose end mill to make smooth surfaces.

Engraving – This is covered in the 2D section

For any of these, make the overlap high (90) for accurate toolpaths but long computation times. Play around with each to see what gives you the best results for your part – I like contour, but sometimes it swaps climb for conventional milling and vice versa, which can be bad for surface finish. This may take some trial and error, and is the hardest part about milling 3D parts.

After playing around with the settings, I used a 1mm diameter cylindrical cutter, carve contour at 60% overlap, 0 material allowance and 1.25mm max depth, and 20% margins to generate the following toolpath:

image021

I used 60% overlap for speed of computation, but I would recommend around 90% for toolpaths that you’d actually use. Note that it only cuts out the profile of the words – not the space between them and the edge. If you actually wanted to make this, you’d also have to use a roughing pass using remove material to clear that out. I used a 1mm diameter cutter in this case which doesn’t really exist, but it’s because the part is so small. Design you parts for the tools you have J.

I hope this was helpful, Happy milling!