A while back I wrote a piece titled, “It’s Time the Software People and Mechanical People Sat Down and Had a Talk“. It was mostly a reaction to what I believe to be a growing problem in the hacker community. Bad mechanical designs get passed on by what is essentially digital word of mouth. A sort of mythology grows around these bad designs, and they start to separate from science. Rather than combat this, people tend to defend them much like one would defend a favorite band or a painting. This comes out of various ignorance, which were covered in more detail in the original article.
There was an excellent discussion in the comments, which reaffirmed why I like writing for Hackaday so much. You guys seriously rock. After reading through the comments and thinking about it, some of my views have changed. Some have stayed the same.
It has nothing to do with software guys.
I definitely made a cognitive error. I think a lot of people who get into hardware hacking from the hobby world have a beginning in software. It makes sense, they’re already reading blogs like this one. Maybe they buy an Arduino and start messing around. It’s not long before they buy a 3D printer, and then naturally want to contribute back.
Since a larger portion of amateur mechanical designers come from software, it would make sense that when I had a bad interaction with someone over a design critique, they would be end up coming at it from a software perspective. So with a sample size too small, that didn’t fully take into account my positive interactions along with the negative ones, I made a false generalization. Sorry. When I sat down to think about it, I could easily have written an article titled, “It’s time the amateur mechanical designers and the professionals had a talk.” with the same point at the end.
Though, the part about hardware costs still applies.
I started out rather aggressively by stating that software people don’t understand the cost of physical things. I would, change that to: “anyone who hasn’t designed a physical product from napkin to market doesn’t understand the cost of things.”
It’s really easy to do. I mean, if one person set out to build an iPhone from scratch (I mean, really scratch, like bits of rock and dinosaur scratch) the cost would be astronomical. It would be a country’s economy over years. Which, if you look at it, is exactly what happened. What I’m getting at, is that our economy is set up to distort the value of things dramatically.
An iPhone costs Apple about $293 dollars the second it lands on a retail shelf. The selling price is a little over double that. (Which is actually a pretty reasonable margin.) The iPhone itself is made by Foxconn, a company that has 77 billion dollars of assets. That’s not their income or expenditure. That’s the land, machines, buildings, gold bars, etc that the company has to leverage. They can use that to take a bunch of parts and end up with an iPhone at the other side.
This kind of leverage makes it impossible to get an accurate gauge what a thing should cost if your metric is the stuff you can buy on Amazon. So it’s important to understand that once you start evaluating hardware on the price of it alone, it’s really really difficult to do so accurately by using the regular purchasing power our society imparts on us. Especially when the equipment starts to get more specialized and the manufacturing drops from the billions of leverage scale to the millions or thousands of dollars to leverage scale. Apple could make a printer nozzle of amazing quality for practically the raw cost of the metal. An import or American manufacturer with four automatic lathes cannot.
However, as mentioned, it’s also important to note that even when you have these incredible amounts of capital to leverage against, all you can do is bring the cost closer to the raw material and time cost. You do this by bringing more steps in house and running it on previously purchased capital costs. You still can’t eliminate the hardware cost and get a pure time abstraction in quite the same way as you can in software. In fact, every penny of misspent hardware costs lose money on a bigger scale than before. The sword cuts both ways for Apple engineers.
And, the part about time cost still applies.
When you get down to it, most activities are low capital cost and the billing is generalized to time. I could have made the same point from the perspective of any regular office employee. as far as most jobs are concerned, capital cost is small, and money is only made on time.
Another interesting example from the comments was the field of contract engineering. In this case, even though the engineers are designing the hardware, the cost of their time easily dwarfs the cost of the capital investments they have to make to finish the design. However, it kind of neglects the fact that someone else is eating that cost to build the thing they designed, so it’s kind of a wash. All those engineers are still doing cost estimates, or they should be if the firm is worth anything.
Also, I noted a few mechanics and technicians were mentioning that their time cost outweighed the capital costs. I don’t really think those fields apply. Though I do think someone who does construction or big installs would instantly know and have suffered through the same cost constraints.
In the end most of you agreed with my point that the hardware world has a different view on costs than software and other realms. Software and hardware design processes have so much in common, that it’s hard to note this difference at first. I still remember the first time someone handed me a stamping and told me it cost five cents. It absolutely blew my mind. I was mentally costing it out at five or ten dollars. It’s just a whole different world sometimes.
If you’re an amateur designer you HAVE to learn a little physics before you can make assumptions.
This is the other big thing I harped on was the tendency for amateurs to pass around a design as good. Pretty much no one disagreed on this with me. Just because it works doesn’t mean it’s good. A better understanding is needed before it’s wise to pass judgement on the efficacy of a movement.
A person or two asked how they could get a better understanding of mechanics. I would like to be a bit more useful that just, “learn da fyziks, stoopid,” this time around. If you would like to get more serious about being able to evaluate mechanical design, I think there is a fairly short path to a beginner understanding. Perhaps a month or so of part time learning. Here’s mine; though, I’m 100% positive we have some old hats or savants out there that can propose a better path in the comments.
- Learn what a vector is and learn how to get component forces in two dimensions. This is all algebra. Don’t worry about multiplying them. Addition and subtraction is enough.
- Moments & Joints. Learn how to convert a twisty force to a pushy force (getting technical with my verbiage) and vice versa. Learn how to draw a properly constrained mechanical schematic.
- Beam tables. Moment of Inertia Tables. Learn how things bend. These tables take the calculus out of calculating simple deflections. You basically plug in the values and add them with simple algebra. This will tell you that, no, you can’t put a three kg assembly on an 8mm round rod and expect accuracy.
- Material properties. Learn what makes a material brittle and what makes one ductile. What makes a material elastic? What’s crazing? The best way to do this is to read case studies and material descriptions. Try to find out what makes a material fail.
- Calculate spring force. Learn what a damper is. Understand that some things resonate, and somethings convert force to heat over time. Most dynamic systems can be converted to a Mass, a Spring, and a Damper. For example, the belt on a 3D printer is a spring and damper (its mass is negligible), and the extruder assembly is the mass. Don’t bother with the calculus. If you do come from electronics, it’s the exact same equations as RCL circuits.
- Learn what shear, tension, and compression is. You’ll have learned this mostly in the previous points already. Learn the math for a simple bolted connection.
- Read about mechanisms. Don’t worry about the math too much. For example, you can use the math from bullet point 1 to understand how much force a gear sees. You don’t have to actually learn what an involute curve is to use gears though.
If you enjoyed all that it’s time to brush up on basic calculus and get a mechanical design book.
The other important thing to do when learning mechanics is EXPERIMENT. EXPERIMENT. EXPERIMENT. Just like you can’t learn how to program by only reading about it. You have to code. You can’t learn mechanics by just reading about it. You have to do it. When you are doing section two, for example. Get two spring scales. Put a pivot in the middle of a stick. See how the forces change as the distance from the center changes.
If you want to learn beam tables. Hang a cinder block from some tubing. Weigh a cinderblock. Measure your tube. Do the math for it using the beam tables. Then, suspend a tube on each end. Position the center of the tube against a door frame. Make a mark with a pencil. Then hang a cinder-block off it and make another mark. Compare the result to the math. This sort of thing is fundamental to developing an understanding.
Next, take stuff apart. Go to a thrift store and buy an engine. Take it apart. Whenever you run into a why, get online and ask questions. “Hey, why is this bearing sealed?” “Why does this engine use a mixture of oil and fuel?” Go take a few inkjet printers apart. Guess why they did it. Compare a really expensive printer to a cheap one. What changed to make the print quality better?
After that, try to make your own. That’s when you start to learn things like the reason why 3D printers only use three linear bearings instead of four for each axis. (If they used four the rods would have to be absolutely perfectly aligned. When they use three the third bearing can be considered a pivoting joint constrained to the current z position of its location on the rod.)
The last two bits of advice are just general learning advice.
- Be open to the idea that you are almost certainly always either totally or a little wrong. Read, Asimov’s the relativity of wrong. It’s not a bad thing to be wrong. I am almost certainly a percentage wrong through this whole rant/essay. Being wrong about something is how you learn to move the needle a little more to right. Most engineering is simply this process. It’s doing enough math and having enough understanding to get something to provably meet all requirements for most situations most of the time.
- Move out of your comfort zone. It’s really hard to build a massive skillset in one thing and then move to another and find yourself a beginner again. It’s a big blow to the personal pride without an adjustment of mindset. It’s especially hard when those two things are just similar enough that they feel the same. A theme of the past piece was moving from software engineering to mechanical. My pet example of not moving out of a comfort zone is OpenSCAD. It is CAD done with programming, but it doesn’t make it good because your previous skill set got you results in a new field faster. It will take some time to develop the spatial reasoning and new patterns of thought that other modeling software require, but the tools are more powerful. Likewise, it might be tempting to write or use simulation software to do the math when learning, but it is actually more beneficial to do the math by hand and an experiment in the real world.
The closing statement is one of distrust. It’s a good thing. The nice thing about the sciences and technical fields is they hand you a skillset for evaluating truths. When someone tells you something (I really like 3D printing, sorry) such as, “this extruder is better than that extruder.” Ask them why. If they start telling you about experiments instead of experiences, they’re on the right track. A lot of amateurs want to use single data points as a judgement in general. I had a bad experience with X so X must always be bad. However, we all intuitively know this is not the way things work.
Ask questions that align with a mechanical understanding of the problem. Why is 1.75mm outselling 3mm filament? “I like 3mm because that’s what I’ve always used,” is not an endorsement worth consideration. 1.75mm needs less heat to melt its entire cross section and it puts a smaller back pressure on the stepper motor, is an endorsement worth considering.
Thanks to everyone who commented in the previous post. Thanks for the excellent content of them all. I hope we can continue the discussion. I hope my mistakes helped in some small way and any new mistakes I snuck into this one help too. I also hope we can see more and more cool mechanical projects on Hackaday with some really awesome design behind them. Looking forward to another discussion in the comments below.