Tag Archives: Plans

The Football That Can’t Not Be Caught

This might sound crazy, but I’ve been pursuing a Bachelor’s degree for about six years.  What’s crazier is that I’m only half way done.  I can explain:  I go part time, and I needed a lot of pre-requisites that weren’t included in my previous degree.

What’s possibly even more crazy is that I have had ideas for my senior project since before I even started the program.  I am here today to discuss one of those ideas.  When I first had this idea, I had only a cursory knowledge of the technical details.  Furthermore, I knew it was possible, just not what all it entailed.

If you read the title, you know the idea.  Perhaps it’s about time I just said what it was.  …  I could just keep referring to it as “it” and prolong the anticipation for the big reveal.  That is, of course, assuming you have not read the title of this post.

The idea is guided artillery.  Not a new concept.  However, most guided artillery is designed with one major criteria that we will be leaving out of this project:

Traditional Guided Artillery Design Criteria

  1. Kill People

However, my idea still involves guiding a projectile at a person (in theory).  However, this projectile would not explode on impact.  It wouldn’t explode at some proximity.  It wouldn’t explode at all.  In fact, it would be soft, and grippy…  Like a Nerf football.

So, let’s list the desired end-user functionality of this guided artillery football:

Toy Guided Artillery Design Criteria

  1. Be throwable, like a football.
  2. Be catchable, like a football.
  3. Change direction during flight so as to minimize the distance between itself and some designated target.

Numbers one and two seem simple enough.  There might be some off-the-shelf items that could cover those bases.  I don’t know, maybe I’m underestimating the difficulty of those two criteria.

Number three is the real challenge.  How the hell do you make a football guide itself to a target?  The first problem that comes to my mind is that the ball’s flight time is limited by who threw or kicked it.  That greatly limits its ability to reach a target.  Secondly, the ball has no control surfaces with which it could change its direction during flight.  Along those same lines, it requires a lot of practice to develop the skill required to throw a stable-flying football.  Finally, and probably the worst part, it takes A LOT of fast-moving data and sensing to fly anything toward a target.

So, let’s split this big problem up into little bite-size, chewy pieces.

  1. The Guidance System
    1. Navigation – “Where am I?”
    2. Guidance – “Where am I going?”
    3. Control – “We’re in the pipe, 5 by 5!”
  2. Flight
    1. Stabilization
    2. Control Surfaces

The guidance system may be the most complex part of the project.  However, flight isn’t easy.  Flight is mostly a mechanical issue.  And, in this case, the control surfaces will be totally experimental.  Therefore, the flight surfaces cannot be trusted.  Stabilization is easy enough, though.  We just need to stick some fins on the back.  Or a long, flowing tail.

The control surfaces themselves are rather difficult.  In order for the football to be throwable and catchable, the control surfaces need to be discrete.  In other words, they need to be hidden away until they’re needed.  Furthermore, typical control surfaces on an air plane take advantage of the large lift-generating wing in front of them to alter the lift output.  The football will have small stabilizer wings, if any wings at all.  That means that it will not generate its own lift.  Therefore, the control surfaces are actually going to be simple air brakes.

Now that we have the “simple” part out of the way, let’s move on to the complex part.  The guidance system needs to answer two questions continously:  1. “Where am I?” and 2. “Where am I going?”  The answers to these questions will determine which control surfaces deploy and at what time.  However, answering these questions is potentially very difficult.

“And you may ask yourself

Well, how did I get here?”

I propose that the guidance system use an inertial measurement unit and a fixed-point reference (the starting location) to determine where it is.  To do this, the football will require an accessory:  A throwing glove.  The throwing glove will have magnets embedded at strategic locations along the gripping surfaces.  The ball will have hall effect sensors in close proximity to its outer surface.  In this way, the ball will know when it has left the thrower’s hand.

Next, the ball will have an accelerometer and possibly a gyroscope.  Many accelerometers are now capable of measuring the constant pull of gravity and comparing it to the X, Y, and Z axis.  When the hall effect sensors detect that the ball has left the thrower’s glove, and by measuring the change in acceleration on 3 axes and comparing them to the acceleration of gravity, the ball will know approximately its location relative to its starting point.

But, how does it know where to go?  I’ve been putting a lot of thought into this.  The best I have right now is, “I don’t know.”  I don’t know, because of the following reasons:

Reasons I Don’t Know

  1. The form factor limits the complexity and fragility of on board sensors.
  2. The form factor also limits the accuracy of on board sensors, because the ball cannot be expect to be precisely stable.  In fact it may intentionally be spun about its axis to gain distance.

Anyway, while writing those last two sentences, I had an idea aside from all the commonplace ideas (cameras, infrared, radar, GPS, etc).  However, this idea greatly limits the “fun factor” of the concept.  Although, it does use the existing hardware and adds only one more accessory:


The catcher’s glove will essentially just be another thrower’s glove.  It will be exactly the same.  The difference, though, is how it is used.  Before the ball is thrown, it must be told what mode it is in.  The first mode will be “target mode”, wherein the catcher makes contact with the ball.  While making contact with the catcher, the ball initializes all of its location variables.  Essentially, X=0, Y=0, Z=0.  Next, the ball is placed in “launch mode”.  In this mode, it is recording changes in its location and waiting to both make contact with the thrower’s glove AND to lose that contact.  Upon losing contact, the ball enters “flight mode”, wherein it tries to get all of the axial changes back to zero by actuating the control surfaces accordingly.

And that, my friends, is the football that can’t not be caught.

The Cheapest Solidworks Workstation

Update 5/31/15: Go check out How to build a true Solidworks Workstation for about $300.  The following post suggests using components that are not true workstation components.  Furthermore, actual workstation components can be had for as little or less than the system builds described here.

For quicker access to the information you want, here’s an index of this post:

1. Backstory

2. What does a Solidworks rig need?

3. Useful websites

4. Buy a used workstation/older components

5. Just tell me what new parts to buy

Over the holidays I received some gifts from my family.  They totaled to $312.50.  In my situation, having $312.50 that was as-yet not earmarked had me reeling over the possibilities.  (If you don’t know my situation, it goes a little something like this:  Homeowner, part time university student, full-time product designer, pet parent, husband, etc.  All of those things require a lot of time, and most of them cost a lot of money.  In other words:  I have no time or money.  My paychecks all come pre-spent.)  I had a couple ideas for how to spend it:

1.  Ninja Blender

I wanted a Ninja Blender because I’ve been frequenting Smoothie King for lunch.  I drink smoothies for lunch because I don’t have time to chew.  I’m only half joking.  I can pick up a smoothie and be back to work in 15 minutes.  I can drink the smoothie on the clock without disrupting my thought process or workflow.  The blender would negate the almost daily trip and reduce the cost of the smoothies.

2.  Electric Razor

I wanted an Electric Razor because I really, really hate shaving.  I also really, really hate having facial hair.  This seems like something every employed guy should have easy access to.  But, I’ve been using my wife’s disposable 24-blade, pumice stone equipped, moisturizer infused women’s razors for as long as I can remember.  It works.  It’s cheap enough.  Whatever.  But, the idea of saving time by shaving while driving to work is something I find enticing.

Then, it hit me.

I have this dream of doing freelance product design work.  I do product design for a home automation company.  They give me flex hours so I can go to school.  I enjoy the work.  I spend about as much time playing in Solidworks as I do actually building the designs and testing them.  I have VPN access to my work computer, and I’ve used it to model in Solidworks from the “comfort” of my dining room table.  However, it’s not ethical to use my company’s assets for my own personal gain.  But, as I’ve told you before, I’m writing to you from hand-me-down laptops and clicking buttons with thrashed mice.  So, what’s a guy to do?

I should build a Solidworks rig.

Now, you’re laughing to yourself.  I can hear it.  “This idiot can’t build a computer that runs Solidworks for $312.50!”  Or, can he?  Can you?  Let’s take a look at the possibilities.  We’ll use Solidworks 2013 as a basis.  It has tons of features, probably too many.  Solidworks is at a point in its development where most new features are “nice to have” and not necessities.  For example, Solidworks 2014 has a new Sheet Metal Gusset feature.  Wonderful.  It saves me some time putting in gussets.  But, I can still model gussets manually in 2013 if I have to.  And, sometimes I have to.

So, by using slightly older (but not less capable) software to start with, we can use system specs that aren’t quite bleeding edge.  Let me also tell you, I’ve seen solidworks run on several low-end and old-as-hell machines without too much trouble.  I ran 2010 on a low-end Athlon X2 Dual-Core processor laptop when I was first learning.  I ran 2013 on an i3-330M (this very Vaio laptop I’m on now) a few years later and had to wait for every edge of the object to re-draw every time I changed the view.  It’s not totally unworkable, but it’s not ideal, either.  The main changes in Solidworks between 2010 and now have mostly been “tweaks” rather than full-on major improvements/reimaginings of functionality.  So, if you already have an older rig, try using an older version of Solidworks first.  HOWEVER, if you’re serious about rendering, building complex models and/or assemblies, or even simulation, you should probably throw more machine at the problem.

Anyway, Solidworks wants these things:

1. Processor Speed

Solidworks runs mostly on a single thread when you’re modelling.  You need the fastest processor you can buy.  If you plan on rendering or simulation, extra cores and processors greatly increase the speed of rendering and simulation.  You can’t render or simulate if you can’t model, though.  So, let’s aim for the fastest processor we can afford.

2.  RAM

Solidworks is a memory hog.  It takes up a full gig of RAM on my workstation just to be open.  (Keep in mind, though, that PDM, Simulation, Toolbox, and various other add-ons are typically enabled when I’m at work.)  When you start building assemblies, it wants to hold tens, maybe even hundreds of parts in RAM.  There are ways to reduce this load (the “Lightweight” feature).  If you have a web browser open at the same time, you’re probably going to be taxing most consumer-oriented systems.  Solidworks’ website recommends at LEAST 8GB of RAM.  And, despite what everyone says, RAM is actually pretty expensive.  Let’s aim for 8GB at least.

3.  Graphics Card

This is third on the list, because it’s really the almost the least important.  It has the least impact on how well Solidworks performs.  So, you really only need something mid-range, and maybe even on the low side of that.  I’m not a graphics card expert by any means.  I’ll try to make some suggestions based on research I’ve done.  Solidworks’ website also has certified cards that are recommended to use.

4.  Hard Disk

Keep in mind, Solidworks does a lot of data access from the hard disk.  Many people are recommending Solid State Drives.  I have no experience using Solidworks with a Solid State Drive.  However, I do have experience with storing assemblies on a remote server, and Solidworks WILL CHOKE trying to pull things from a slow disk.  So, we probably can’t completely skimp in the hard disk area.

These are the issues we face.  The other components are relatively cheap.  I’m going to assume you can skrimp and scrounge a LAN/Wifi card, DVD drive, keyboard, mouse, and monitor from somewhere.  So, let’s go shopping!

In my efforts to build this thing, I’ve stumbled upon a few different websites that saved me a lot of time and effort.  The first, and maybe most important one, is PC Part Picker.  PC Part Picker does a lot of the compatibility checking between components for you.  Although, it sometimes fails at this.  It’s very powerful in the sense that it reduces the time you spend searching for and researching parts.  It also gives you direct links to purchase the parts from various vendors.  HOWEVER, I found this feature to be faulty.  The prices are kept somewhat up-to-date.  The problem is that the price of your build fluctuates almost hourly.  Furthermore, some components disappear from the list completely.  This isn’t the fault of PC Part Picker, but rather of the vendors its pulling information from.  Still, as a design tool, it will save you tons of time.  I recommend using it to find the proper configurations.  Then, use that list to build an order on Amazon or Newegg or whatever you prefer.

The second website that I recommend is CPU Benchmarks.  CPU Benchmarks has managed to benchmark over 600,000 CPUs at the time of this writing.  If you’re on a serious budget, trying to build a rig from used or older components, CPU Benchmark will give you an idea of what to expect.  I’ve used it to assess whether or not I should upgrade my laptops.  For example, my Linux machine has the Athlon X2 QL-64 that I mentioned earlier.  That chip is socket S1g2, which means that only other S1g2 (and S1g1) chips are compatible.  When I go searching for S1g2 chips, there are only a few.  But, CPU Benchmark lets me know that if I buy a $15 Turion ZM-84, I could increase the processor performance by about 20%.  20% isn’t bad.  But, CPU Benchmark also lets me know that that Turion ZM-84 is also still old as hell.  In fact, that processor is 20% as fast as the latest Intel i7’s.  From that frame of reference, that $15 isn’t buying me much.  The other good thing about CPU Benchmarks is that they also benchmark GPUs and RAM.  So, if you’re serious about using older components, CPU Benchmark is where you go to determine how much value you’ll get out of it.

Speaking of older components, I also looked into purchasing used workstations.  You can pick up a used hp Z600 or equivalent workstation for a few hundred dollars.  It won’t necessarily have multiple Xeon processors and 16GB of ram (which is what my Z600 at work has), but it may be a less time-consuming and labor-intensive solution to this problem.  So, if you’re not computer savvy, or just don’t care to be, feel free to explore Amazon for used hp Z600’s, Dell T3500’s, Lenovo P500’s, etc.  It’s probably the most painless (and maybe even the cheapest) way to get a Solidworks rig.  Just keep in mind the issues listed above.

If you’re still with me, you’re serious about building this thing from scratch with brand new components.  So, here is a list of components that will run Solidworks REASONABLY well, for about $350 to $400 (before shipping and taxes).  Below there is an AMD rig and an Intel rig.  At the bottom we’ll compare the rigs to each other as well as to a typical workstation.

AMD Rig:

At the time of this writing, the following components total to $349.80.  Click on any of the images to be taken directly to the Amazon product page to check for the latest prices.  Below the images is a summary of why I chose these components.

AMD FX-6300
AMD FX-6300
ASUS M5A78L-M LX PLUS Motherboard
8GB (2x4GB) 240-pin SDRAM DDR3 1333Mhz
8GB (2x4GB) 240-pin SDRAM DDR3 1333Mhz
Hitachi Deskstar E7K1000 1TB, 7200RPM, 32MB Cache HD
Hitachi Deskstar E7K1000 1TB, 7200RPM, 32MB Cache HD
ASUS R5-230 Graphics Card
ASUS R5-230 Graphics Card
Rosewill MicroATX Tower
Rosewill MicroATX Tower

Intel Rig:

At the time of this writing, the following components total $403.14.  Click on any of the images to be taken directly to the Amazon product page for the latest prices.

Intel i5-4330 Processor
Intel i5-4330 Processor
Gigabyte LGA 1150 Intel H81 MicroATX Motherboard
Gigabyte LGA 1150 Intel H81 MicroATX Motherboard
8GB (2x4GB) 240-pin SDRAM DDR3 1333Mhz
8GB (2x4GB) 240-pin SDRAM DDR3 1333Mhz
Seagate Constellation 2 250GB HD
Seagate Constellation 2 250GB HD
Rosewill MicroATX Tower
Rosewill MicroATX Tower

Let’s compare this two machines:

AMD Rig Specs:
Processor Speed: 3.5Ghz
Processor L2 Cache: 6MB
Graphics: Radeon R5 230

Intel Rig Specs:
Processor Speed: 3.0Ghz
Processor L2 Cache: 6MB
Graphics: Intel HD Graphics (integrated)

So, I’m breaking my own rules here.  The AMD FX-6300 has a ridiculous number of cores.  The Intel i5-4330 is slower than the AMD.  So, which is better?  Well, according to CPU Benchmark:i5-4330 vs FX6300But, that’s not the whole story.  If you dig deeper into benchmarking, you’ll find “single thread ratings” that describe how each core performs on its own.  The FX-6300 has 6 “slow” cores.  The i5-4330 has 4 “less slow” cores.  (Neither of these processors is blazing fast like the i7-4770.)  Solidworks generally uses only one thread when you’re modelling.  So, depending on what you plan to do (rendering, simulation, etc), the i5 may actually be a better choice.

Now, for grins, let’s compare those two processors to the cheapest Z600 workstation on Amazon right now:

i5-4330 vs FX6300 vs E5520Next up, the graphics cards.  This is way far out of my area of expertise.  So, I’m pretty much just going by the numbers here.  The Intel i5 has integrated graphics that are no slouch.  They obviously don’t replace a high-end graphics card, but we don’t need a high-end graphics card.  The Radeon R5 230 is a low-end card that I stumbled upon on Amazon that was within the budget.  Comparing them at CPU Benchmark:

GPU compareAll of the other components are essentially the same, because they can be, and because they’re cheap.  I myself have not built either of these rigs.  Nor have I tested them with Solidworks.  So, what you have here is essentially a “best guest” of how to make a Solidworks-worthy computer for a low, low cost.  I can’t help you put them together.  I can’t guarantee that all of the parts listed are compatible with each other.  But, I hope I’ve at least given you the inspiration to set a seemingly impossible goal and attempt to attain it.  I’m still tempted to try, even though that Christmas money wound up being spent on school books and lab supplies.


I am currently writing to you from a hand-me-down Sony Vaio laptop with a broken touchpad.  Rather than use the touchpad, I have been employing a mouse that was thrown out at my job.  Today, the left mouse button broke.  I am now using the right button as the primary button, and foregoing the use of the right-click menu.  I work full-time as a product designer for a home automation company.  I also study Computer Engineering at a public university part-time.  When I’m not studying or working, I am renovating my home, working on various projects, or dreaming up projects that I have no hope of ever getting around to.  That is what I hope to cover in this blog.

I don’t believe in doing everything yourself.  I believe that sometimes it is better to hire an expert (or, at least have a friend who is an expert.)  Despite myself, I still end up doing a lot of things the hard way.  Fortunately, that’s the best way for me to learn.  I’m fortunate enough to have had several employers willing to teach me (or allow me to learn) on the job.  I am learning product design in this way.  I learned a little bit about manufacturing engineering in a previous job.  And, at school, I am learning computer and electrical engineering.  However, I am far from an expert in any of these fields.  I am the Jack of all trades, and the master of none.  That said, another great way to learn is to observe other people’s mistakes.  And, trust me, I have made PLENTY of mistakes.  I expect to make many more.  I also hope to document them here, such that someone else might avoid making them.

The offending freebie mouse.
The offending freebie mouse.

As I mentioned earlier, all of my computer mice are broken in one way or another.  I’m considering doing something wacky as a way to remedy this.  Rather than do the reasonable thing and spend $10 on a replacement, I have an MSP430 starter kit laying around collecting dust.  I also have access to two kinds of high-end 3D printers, as well as a well-equipped machine shop.  Perhaps a good first project would be to homebrew a mouse?

I also (try) to do some 3D CAD work and video editing on this old Vaio.  It’s a slow, frustrating process.  I also dabble in developing Android apps, and the IDEs for doing so are becoming so complex that this machine chokes on them.  Being a student, homeowner, pet parent, husband, and generally financially responsible guy, I’m not in a great position to go out and acquire a true CAD/video editing/projecting managing/Android emulating machine.  So, another project I would like to cover at some point is building a sub-$400 computer that CAN actually do those things. (The $400 would not include the monitor, keyboard, mouse, or other desired peripherals.)  I think it’s totally attainable…  Once I have the cash.

The first of 8 doors.
The first of 8 doors.

My wife and I are renovating our home.  We bought it as a foreclosure back in 2009.  It’s about 35 years old, as were most of the finishes and things in it when we bought it.  We have since gutted it.  I learned how to remove and replace walls, toilets, sinks, counters,appliances, and doors in the process.  Speaking of which, I am still working on replacing the doors.  I have 5 of 8 completed.  I may document the process at some point and post it here.  I chose the WORST POSSIBLE WAY to do it.  So, I don’t know how much it could benefit anyone.  In short, we were so strapped for cash at the time we wanted to purchase the materials that I bought low-grade lumber for the jambs and trim.  It’s full of knots and has a horrible finish.  HOWEVER, the mantel that was in place when we moved in has a “saw-cut” finish for that wonderful rustic look.  (I use italics here for sarcastic emphasis.)  So, I’m imagining that the rough look of the wood used in the door trim and baseboards will match.  In this process, I have acquired a few new tools and also learned that I hate battery powered Dremel Tools for several reasons.  Anyway, that is a future blog post.

Being a Computer Engineering student and product designer, I do a lot of math.  I can’t claim to do it well all of the time, but it’s a subject that interests me.  I have been slowly introducing myself to the wonderful world of Android programming through a project involving a math-related app.  I’m reluctant to divulge too much information about it here, simply because I think the concept has yet to be implemented by anyone.  The problem is that I do not have sufficient knowledge (and perhaps not sufficient skill) to pull it off right now.  Furthermore, the project merges two conflicting worlds:  Algebra and Tablet Computing.  From my perspective, tablets are the least-useful computing tools on the market.  So, when I think of apps, I think of apps that would help me do the things I do often.  It just so happens that I’m basically doing algebra all the god damn time.  Anyway, as the project progresses, I would love to cover it here.

There are plenty of other things to cover.  I’m guessing that many of them will never be started.  And, of those that do get started, many of those will never be completed.  Still, whatever I learn along the way I hope to share with anyone who is interested.

So, since this is where everything begins, I’ve labeled this post as the origin.