Engineering Reading List

This is a running list of books that I think are valuable for any engineer to have on hand as a reference or read (depending on the book) to understand the world a little bit better and make more effective decisions.

I think Shane Parrish gives a great summary of the best way to read on his blog. Actively reading to learn and change behavior requires that you have the information available at a (usually unknown) future time. Finding the best way to do that for you is a critical part of continually improving as an engineer and a person. My method is usually to take notes by hand in the book as I’m reading, then transfer them to a Word doc in Dropbox afterwards (which provides the benefit of additional time to analyze and condense my thoughts).

Mechanical References

  • Standard Handbook for Mechanical Engineers Marks
  • Design of Weldments Blodgett
  • Machinery’s Handbook Oberg
  • Precision Machine Design Slocum (Related, Principles of Rapid Machine Design Bamberg — if you design machines, understanding this process is invaluable [and it’s a simple process, which is not the same as being technically simple].)

Electrical References

  • The Art of Electronics Horowitz and Hill

Quality, Statistics, Lean and Six Sigma

  • Juran’s Quality Manual Juran & Godfrey/Defeo (depending on edition)


  • The Hard Thing About Hard Things Horowitz — This is here instead of in Entrepreneurship because I think it’s a cautionary tale for employees rather than a guideline for how to build a business. Ultimately it’s upt o you to interpret.
  • The Goal Goldratt — This should be required reading for all college seniors in engineering.
  • What Color Is Your Parachute Bolles
  • Measure what Matters Doerr


  • Floodpath Wilkman
  • The Myths of Innovation Berkun

Tangential to Engineering (primarily systems and failure analysis with non-quantifiable drivers — e.g. social interactions, the general variability of humans)

  • The Logic of Failure by Dorner (and if you want to make it painful you can read Dekker’s The Field Guide to Understanding Human Error).
  • Malcom Gladwell’s books (his podcast is also great).
  • Everything written by Henry Petrowski. To Engineer is Human is a good place to start.
  • Fooled by Randomness Taleb

Engineering Careers

  • Florman’s books on engineering (particularly The Existential Pleasures of Engineering).
  • How to Become a Professional Gun Nerd McCollum (a great anecdotal explanation for why working on things we love and doing important work often seem very different).


The Solidworks “Secrets” Every Hobbyist/Small Business Should Know

I keep running into people saying they have to use Fusion 360 because it’s the only free/cheap, decent 3D CAD option, and while I can’t speak to all the other software out there (particularly Creo and Inventor), I can tell you how to legally get Solidworks for cheap or free:

  1. If you’re a hobbyists, you can get Solidworks SEK with an EAA membership ($40/year), including basically every module (weldments, sheet metal, mold design, etc.), the full simulation suite, SW PCB, and SW Electrical. The EAA’s page on their Solidworks benefits.
  2. If you’re a small business without a SW subscription and you design your own products (not doing contract work for others), you can get free Solidworks licenses for up to a year through the SW Entrepreneurs and Startups program. In general these are Solidworks premium licenses, and I believe they offer at least some of the full simulation options (like Flow Simulation) in addition. You then get the option to buy the license at half price (subscription pricing is the same) at the end of the year (and you are required to pay for a year of subscription).

Optimizing tooling and organization for prototyping

Having a tool changer is great, but 21 pockets doesn’t go that far when I need multiple sets of drills and taps (I’m just starting to experiment with combination drill/taps for some through holes). To give myself maximum flexibility, I’ve got basic end/face mills setup for steel and aluminum, and I’m leaving the rest of the space flexible for each job:

13D taster
2 1/8″ 3 flute finisher (Al)
3 1/4″ 3 flute finisher (Al)
4 1/2″ 3 flute rougher (Al)
5 2″ facemill (Al)
10 #3 center drill (Al or steel)
11 1/4″ chamfer mill (Al or steel)
181/8″ 4 flute finisher (steel)
191/4″ 4 flute finisher (steel)
201/2″ 4 flute rougher (steel)
213″ facemill (steel)

The center drill and chamfer mill are theoretically setup to minimize average tool change time, but since I cut mostly aluminum they probably don’t. I have mostly moved to drilling without center drilling first though, so that one at least is less critical.

The benefit of splitting these up along material lines is that if I need the space I can easily just pull all the holders for whatever material I’m not currently running. Theoretically I could pull the 3D taster most of the time as well, but I do use it fairly often so I haven’t gotten there yet.

The other factor in tool organization is what tools are permanently setup in their own tool holder, so I can set the offset and just switch them in as necessary (rather than have to remeasure, which is not that difficult but does add time). The biggest factor in that is cost, because it requires more tool holders, and I’m slowly adding to my collection as I get the opportunity.

I’ve found that SK16 collet holders are nice (low runout and lower torque required to seat than ER collets), and fairly inexpensive (a Maritool collet is ~$20, and Shars tool holders are ~$80). I have a previous post on my limited testing of Shars tool holders versus the Maritools here. The flexibility of a collet system is hard to argue with in a prototyping environment, although I know there are lots of people who would suggest heat shink or milling chucks (which are both out of my budget for now).

I have also discovered slitting saws and have been blown away by how effective they are for minimizing operations required for small parts. I was really surprised that they produce flat surfaces even when a very small web is left to hold up the part (I have been using 0.010″; in aluminum this snaps off with a couple bends).

I keep track of all of this using a Google Sheets document, so I can reference it on my computer in the shop and while programming in my office. I’ve made an example copy if you’re interested.

Turning a compressor tank into a fire pit

This tank came with my Quincy 325 compressor, which is now happily chugging away on a 60 gallon tank. I originally got it working on this tank, but I could tell that the inside was in bad shape and wasn’t sure the extent of the corrosion or health of the tank. To start with, I cut the tank in half with an angle grinder (and a whole pile of cutting discs). The wood shims were inserted to support the top as I cut around the tank, which ended up working great, and then I lifted the top off by strapping underneath the deck that the motor and compressor mounted to.

Turns out it’s very rusty in there. This tank wasn’t even that old, it was manufactured in 1993. Now, it might be that the serious pitting in the bottom wouldn’t have been an issue, but frankly the thing was bigger than I need and anxiety inducing enough that I didn’t want to keep it. If I’d payed anything like retail it would be a different story, but I payed around $450 including shipping for the entire compressor setup.

It takes a lot of cutoff wheels to get through this much steel.

‘Learning Experiences’ – crashes, broken tooling

This crash had a really neat outcome but a dead stupid root cause: I forgot to run the script that converts tool lengths from negative to positive. The tool ran into a piece of aluminum being used sacrificially under some thin polycarbonate, and impressively the drill survived. I didn’t stop the spindle as quickly as I should have, and it did a little orbital welding, which actually caused aluminum to flow up through the collet and into the collet nut.

A careless mistake: my first time using a slitting saw, and I had it on backwards (but spinning the right way). More orbital welding…

Lots of broken carbide: crashes from bad code, a loose vise, and a post processor that wasn’t setup for transitioning between multiple WCSs.

How I learned to check my coolant level regularly…after a few months the water does start to evaporate, and then you run out in the middle of a slitting cycle and the carbide explodes.

Setting up drip feeding on Fadal 88HS using ShopLink Flash 2.0

My machine only has 177kB (a 128k 1460 card, plus whatever is normally on the processor board I guess) of memory, so even running some fairly small HSM programs isn’t possible without drip feeding.

I’m using a Shoplink Flash 2.0 USB to RS232 converter on a 15 foot long RS232 cable (with a female to male converter on the end because Fadal is weird).

Transferring files using the normal transfer command (TA) seems to work fine up to 115,200 baud, but I couldn’t get DNC to work above 38,400. This is probably good enough, if I ever have any serious surfacing to do I guess I will find out if it can keep up.

One thing to keep in mind is that you need to reset the USB to RS232 converter if you stop a program in the middle, as the machine only sends ‘go’ commands (sequentially after every line it processes).

Setting up Fadal rigid tap

Setting up rigid tapping isn’t hard per se, but finding the right set of instructions was more difficult than I expected. ITSCNC and FadalCNC both have a ton of Fadal manuals and technical instructions, if you’re ever looking for info on your machine. For rigid tapping, ITSCNC has two helpful manuals: rigid tapping installation guide, and spindle drive installation guide.

The rigid tapping guide is not necessarily that useful if you already get the Fadal control scheme, as there really aren’t that many cables involved in setting up the whole system. But the settings changes in the spindle drive installation guide are really, really helpful (some more obvious than others). The big one is that your spindle will not run at all unless you change the control signal the inverter expects from 0-10V to +0-10V. The rigid tapping EEPROMs open both the forward and reverse relays, and use the full range signal to get faster spindle reversal (I assume, anyway). There are a bunch of other drive parameter changes described in the installation guide to get it working 100%.

Getting coolant set up

When I picked up the Fadal, one of the big upgrades I was looking forward to was easy to use coolant. I had bad experiences with coolant on my PM940: coolant growing stuff, limited pumping power and coolant volume for flood coolant, and poor efficacy from MQL/mist coolant. The Fadal enclosure and coolant tank solved most of those problems.

Picking a coolant is a game that even most of the seasoned vets on Practical Machinist don’t seem to have a good recipe for. I went with Trim Microsol 690XT because quite a few members of PM reported getting long life and no issues with smell or rust.

I mixed in a 5-gallon bucket, and checked concentration with a refractometer, to confirm it was in the 10% range, the poured the bucket in the coolant tank (which was already cleaned — I also replaced the coolant hose). For some people concentration alone isn’t the best indicator, at least according to some of the applications engineers for these products. Hard water or pH imbalances causes issues, the details of which are over my head.

Now the real issue starts once you have the coolant mixed and in the machine. That problem is the way oil which is mixing into the coolant, and which allows the growth of anaerobic bacteria that make the coolant smell (and presumably reduce the lubrication qualities of the coolant). I bought a NexJen 1500 oil skimmer, which uses a pump and float in the tank, as well as a small separate tank to actually skim. I hooked this up to standard 120V household timer, and it runs for about 1.5 hours every day, based on the results I initially achieved running it for several hours.

The Fadal makes some money

The first batch of parts off the Fadal — a rerun of some parts I made on the PM940 last year. So much easier to run (because of the ATC and better repeatability), and definitely valuable for helping my figure out my workflow and starting to optimize programming and running the machine.

The softjaws hold two parts in each of three operations. First, cutting one end to length; then cutting the other end to length and surfacing the curved surface; finally, drilling holes and putting in countersinks. All edges are deburred in the machine, which I haven’t done before (because without an ATC it meant manually changing another tool in, when I was already standing there and could do it by hand while the 3D surfacing was running). The only real learning experience there was implementing a trace toolpath to go around the top of the curved surface, which worked out nicely.

The other learning experience here (possibly re-learning, since it’s been so long since I did this on the PM940) is that it’s easier to leave a lot of extra material while saw cuttingĀ  to make up for angled cuts and poor surface finish. I left an extra 1/8″, turning a 1.25″ part into a 1.5″ part, but that took my defect rate from ~50% down to 0%. All of which goes to say, it’s probably better to just have a good saw.

Setting up the Fadal

A quick test piece (circle diamond test, I guess, although the standard is usually circle diamond square, with some counterbores and other features in there).


For setting fixtures and tools, nothing beats Aaron Gough’s macros:

The 88HS control is pretty straightforward, and while it may not be the prettiest or quickest interface, it’s definitely easy to pick up and navigate through quickly. The fixture and tool setting utilities are great (and that much better with Aaron’s macros), and the onboard Gcode editor is decent as well. Get used to hitting the space bar.

If you’re using Fusion 360, the post is set to output in Format 2 (Fanuc compatible), so make sure your machine is set right (guess how I realized that…).

I’m trying outĀ  lots of new tooling, and as part of that I ran side by side comparison of SK16 holders from Maritool and Shars. I measured 0.0004″ runout on the Maritool holder and 0.0005″ on the Shars holder (both using a Maritool collet, and a 1/4″ carbide blank). Given that the Shars holders are 2/3 the price of the Maritool ones, the difference seems worthwhile. The collets themselves are the same price from Maritool or Shars — I’ll keep buying them from Frank. One thing that is different is the size of the tightening slots in the collet nuts. The Shar’s ones are pretty small, and required modification of my wrenches with a grinder.


So far I’ve been running exclusively Maritool carbide tools (mostly AlTiN coated) on mild steel. The 3″ face mill seems nice (MSAP series), although I haven’t pushed it very hard yet. I’ve been using Maritool solid carbide tools for years, and I’m very happy with the 1/8-1/2″ roughers and finishers. Everything runs so much quieter in the Fadal than on my old mill, which is great. I’m looking forward to using the two larger (1″ and 2″) Korloy Pro-X mills I’ve picked up for aluminum, and have a project cooking for them now. I’ve started to wear gloves 100% of the time because I have super sweaty hands and even putting oil on some of the tool holders didn’t prevent my hands from wiping enough away and depositing enough sweat to start some rusting.

Despite my previous assertion that the machine has rigid tap, it was in fact not set up to use it — it was missing the two EEPROMs on the spindle control board, but everything else was there and ready to go (spindle encoder, rigid tapping capable inverter, encoder cable back to the rigid tapping capable spindle control board). This machine came out of a shop with at least four other Fadals, and it looks like someone grabbed those EEPROMs or even the whole board and swapped it out with another machine. I was really stumped when it just wouldn’t run a G84.1 cycle — the machine would get to the line shown below, sit there, and then crash out of auto to manual without any errors.