Welcome to Mike's Flight Deck

Mike's Flight Deck is an introduction to home cockpit building, the hobby that takes off where flight simulation game software ends. When staring at a 17" monitor on a crowded desk, and pushing, pulling and twisting a wimpy joystick just doesn't do any more, it's time to build a simulated cockpit or flight deck. This site offers information on how to do just that.

Mike's Flight Deck is also home to Mike's Flight Deck Books, a very small company that sells the books I've written about building flight simulators. So far I've written two and a half books.

Clicking on a cover image will take you to the information/order page for the respective book.

brfs_small_cover bsai_small_cover Building Immersive Display Systems

What's New:

Craft Table and Torch Clamp (21 May 2015)

I've spent the last week or so building a craft table for my wife. She's interested in lampwork beads, and that means she needs a safe place to work with molten glass. Since we didn't have any flameproof tables, I've been building one. Fortunately it doesn't need to be completely flameproof; sheet metal over a wood surface is apparently good enough.

Since she'll be using a small torch, I also built a clamp for fastening the torch securely to the table edge. The clamp that came with the torch did not inspire confidence. I used the CNC machine to cut pieces from 3/4" plywood which I glued and stacked. The clamp fastens to the under side of the table front edge. I embedded T-nuts in the edge just for this purpose, and to allow quick and easily removal.

Torch clamp

Note that the table is upside down. The wife does not normally make lampwork beads while standing on her head.

And I don't normally cut 3/4" material on the CNC machine, so I hadn't noticed that there is an apparent tilt in the Z-axis. I thought I had the Z-axis plumb to the work surface. That appears to not be the case.


CNC Project: Yet another test engraving (14 May 2015)

The CNC machine is back together, complete with the exception (predictably) of the door for the electronics bay. I really should take care of the door, but that's too much like work, no fun at all.

Instead, I did another engraving test, this time of printed circuit board stock, and (again, predictably) things didn't quite work as expected.

The reason for using PCB stock was to avoid the distraction of paint chipping at the edge of the cut. I simply wanted to see how smooth the cuts would be. I used a V-groove engraving cutter and set the depth of cut to 0.005". What I found was that my clamping method distorted the PCB stock so that the actual depth of cut varied. PCB material probably would be better held by double stick tape. I also ended up with a somewhat ragged edge to the cut. Basically. I left one problem behind and added two new ones. I should have just tested on unpainted acrylic.

Test engraving on copper circuit board stock

Still, the test wasn't a total loss. I was able to salvage it by removing the ragged bits with a bit of 600 grit sandpaper and oil. What I was particularly interested in was seeing just how straight the nominally straight cuts would be. The machine uses micro stepped stepping motors to move the cutter. The machine has a theoretical resolution of 0.001"; however, stepping motors don't always provide equal size micro steps. What I see in the test cuts are slight variations from a straight line on some of the diagonal cuts. I have to use a 30X loupe to see them, but they are there. I don't think this will be a problem. The smallest characters in the picture are 0.1", and they look pretty good. My main issue is likely to be selecting the proper cutter and speeds for clean cutting.

CNC Project: Just loose ends now (7 May 2015)

It's back together and it's cutting. I wrote a simple G-code program to mill the surface of the waste board. I started by taking it down 0.01", and was surprised when that didn't quite do it. A portion of the center was untouched. Another 0.01" took care of that, and now it looks pretty good. I did find that I'd been over conservative in placing the limit switches. I should have had 15" square of cutting area. What I've actually got is a bit under 14.5" square. Not really a problem; if I get enthusiastic I'll change it.

What's slightly more pressing is finishing the window installations on the cover. The plastic is cut to size, more or less, and should be glued in place with a bit of silicone RTV. The electronics bay, on the side of the machine, should have a door with fans, vent holes, and an E-stop button.

So, pretty much, it's done. I'm sure I'll add a few more things (like maybe some LEDs for lighting the work surface), but once these loose ends are cleared up, it's on to using the CNC rather than builidng it.

CNC machine on its cabinet

CNC Project: Adjusting (30 April 2015)

I have the CNC machine sitting on the cabinet. This has allowed me to level the bed of the machine and pour a layer of epoxy table topping.

CNC machine on cabinet

The epoxy layer forms a flat surface, much flatter than the plywood it was poured over. This gives me a reference surface for adjusting the rails. I had initially set up the machine using a tape measure and the nominally flat plywood surface. I got marginally okay results. This approach is working much better.

Rather than a tape measure, I'm now using a dial indicator. It's a cheap one from Harbor Freight, but at $15 and with 0.001" resolution, it's hard to beat. I made a stand from leftover bits from building the CNC machine. I also made a bracket that holds onto the steel rail with a magnet.

Dial indicator

The indicator doesn't tell be the absolute height of the rail from the machine floor. It shows me the differences in height among various locations along the rails. This will let me tweak the rails so that they are all parallel with the CNC floor.

CNC Project: Watching paint dry (23 April 2015)

As exciting as it sounds.

It is progress, however. The cabinet is done, with the exception of the door, which will happen when I have the material at acceptable cost. (Probably leftovers from an upcoming laundry room cabinet project.) I painted the CNC cabinet with a random, off white acrylic enamel found in a rusty can beneath a few years' accumulation of dust. It's good paint, I just want to give it adequate drying time before I plop the CNC machine on top of it. I don't want the soft paint to glue the CNC machine to the top of the cabinet.

In the meantime, I'm completing the hinged cover for the CNC machine. It provides sound isolation and dust containment. It was mostly done some time ago. I'm doing a bit of prep work before painting it which I expect to be, once again, just as exciting as it sounds.

CNC Project: Cabinet, etc. (16 April 2015)

Not a very productive week. House related projects and jury duty muddied my focus.

The cabinet is missing doors and paint, but is otherwise complete. I have parts cut for a removable shelf which was to hold the computer monitor; however, I've changed my plans. The shelf was to hook onto a pair of brackets on the side of the cabinet, but I like the otherwise clean lines of the cabinet, I don't want the brackets ruining that when I take the shelf off. Yeah, I know. Pretty lame for a shop base cabinet built mostly of leftovers that'll never leave the garage, but Hey! It's my cabinet and my garage. So, now I'm going with a pair of 1/4"-20 bolts to fasten the shelf to the cabinet side. When I remove the shelf there'll only be a pair of small holes.

CNC Project: Cabinet (9 April 2015)

The CNC cabinet is very nearly complete. I'm waiting for the glue to dry on the keyboard tray, the last major item to assemble. There are a few smaller things to glue together, but nothing big, just little, time consuming things that I don't have enough clamps to do all at once. I haven't decided what to do about painting. Maybe I'll stick with the "build it out of leftovers" and use whatever I find lurking in the corner.

I made the adjustable feet yesterday using  bolts, nuts, washers, and scrap wood.

DIY adjustable foot

The hardest part was drawing the hexagon for the pocket to accept the bolt head, which is to say, having the CNC machine made the whole process pretty painless.

CNC Project: Cabinet (2 April 2015)

The CNC machine is a "table top" unit. Building the machine presupposes having a "table" to put the machine on "top" of.

Houston, we have a problem.

I don't have a clear spot large enough for the machine. It's currently sitting on a pallet of boxed books. Before that, it was on the table saw. I can just barely operate the CNC machine where it is, but can't get access to put some finishing touches on it. The current position also restricts access to the radial arm saw. So, I've finally taken the time to build a base for the CNC machine.

Shop base for the CNC macbine

It will have a pair of side by side drawers, a full width keyboard/mouse tray, and space for the computer. There will be some sort of removable/foldable/??? shelf on the side for the monitor. The whole thing will be supported by adjustable feet for leveling, or castering wheels when the feet are lifted. As much as possible, I'm making it out of left overs from other projects. I did have to buy the wheels, but I'll probably make the adjustable feet.

CNC Project: More engraving (26 Mar 2015)

 The .021" end mills have apparently not been shipped yet, but a few .0231" end mills did show up so I'm working with them. I created a basic single stroke font and ran it with pretty good results.

.19" single stroke font test

This was a quick and dirty font build. In fact, it's not really a font, per se. It's simply a collection of lines and arcs that generate G-code for single stroke characters. The image here makes the stroke weight appear heavier than the actual engraving looks. I'm quite happy with the outcome.

The characters in the top line are about .19" tall. I recall reading somewhere that most labels on military light plates are .1875" tall. (I'm at the point where I need to dig up the real numbers and make sure.)

The characters to the right are multi-stroke, and are clearly too heavy. The test pattern is the same as used before (single stroke).

This engraving was done on an area that was not sanded as well in preparation for painting. I notice a slight tendancy for the paint to fracture at the edge of the grooves. So, although the paint used claims to adhere well to plastic, proper surface preparation still pays off.

CNC Project: Engraving plastic (19 Mar 2015)

One of the goals for the CNC machine is using it to produce light plates. Cutting acrylic plastic to shape and making holes are not problems. The real challenge is producing good quality text. I've done  several tests to find the best cutters and machine operation to do that.

Engraving tests using acrylic

The bottom line of ABCs is the first test. It was cut with a standard V-groove engraving bit with a .015" tip. The test material is acrylic plastic with a coat of white paint covered by two coats of black. I had lightly sanded the plastic under running water to aid in paint adhesion. Depth of cut was .015" while feed rate was 30 ipm.

The good news is that the characters look good (not great) from a distance. They are quite legible and the islands of black in the A and B are all fully intact.

The bad news is that there is a significant amount chip re-welding in the grooves, and there are wiggles in edges that should be straight.

Chip re-welding is often caused by feed rate being too low and/or cutter speed being too high. Wiggles in what should be straight cutter movement can be caused by too high a feed rate given flexibility or looseness in the structure holding the spindle, or crap on the X or Y rails, or ???

The middle line is the second test. I created a simple test pattern to look at basic cutter motion, and I reduced the size of the characters to make them more difficult to cut well. I also dropped the feed rate to 10 ipm. While cutting, I directed compressed air over the bit to aid clearing the chips from the groove.

The diagonal lines in the test pattern were used to show any issues in the capability of the stepping motors to move the spindle. The configuration of pulleys, timing belts and microstepping in the CNC machine provides a resolution of .001" in the X-axis and Y-axis. However, there's no guarantee that actually gets delivered to the spindle. What the diagonal cuts show is quite pleasing. While the cuts are not perfect, I can only see the imperfections by using a 30X magnifier.

The quality of the characters to the right of the test pattern show the benefit of the lower feed rate and the use of compressed air. The character shape is better and the re-weld problem has been substantially reduced.

The third test, the top line, replaced the V-groove engraving tool with an end mill cutter. My expectation that the end mill would clear chips better was shown to be true. Unfortunately I only had a .031" end mill so the character stroke width is too great.

I have some .021" end mills on order, and that will be my next step.

CNC Project: Inching up the learning curve (12 Mar 2015)

Reducing the feed rate when milling small holes using an end mill has resolved the out-of-round issue. I've moved on to making more parts, some out of aluminum, and discovering more issues.

Parts for a simple gauge

The two pieces on the lower right are the lens and spacer for a basic single pointer gauge. The piece at the top right is a circuit board prototype from a few years back that supports an automotive, stepping motor style pointer movement. The board has a surface mount micro controller, an RS-485 transceiver, and a motor driver on the back. The three pieces on the left are the aluminum faceplate, legend deck, and rear plate. These pieces stack together with a few off-the-shelf threaded spacers to form the gauge.

A basic single pointer gauge

The four screws holding the front together are supposed to be countersunk flat head types, but I didn't have any on hand when I was taking pictures. Aaand... there are a few parts missing as well. But, the intent here isn't to make an instrument; it's to discover pitfalls while using the CNC machine to make flight sim parts.

The most recently discovered pitfall is that the CNC machine work surface isn't properly aligned with the cutter horizontal motion.

Okay, well, I knew that. I just sort of forgot.

I could have milled the spoil board flat, but I decided to wait until I did a final leveling of the CNC floor. The construction directions call for using epoxy table coating to form a flat surface. I skipped that because of cold weather. Alignment of the machine is supposed to be done in reference to this gravity flattened surface. Well, that hasn't happened quite yet.

When I cut the aluminum gauge pieces, cuts on one end of the stock cut just barely through, as I'd intended. At the other extreme, cuts were almost there, but still far enough short to be a real pain. I can certainly increase the depth of cut, but that solves only this type of work.

I also plan of using the CNC to do rotary engraving. Depth of cut is critical for good engraving so I'll need to resolve this issue. In the short term, I'll shim the spoil board. When the weather warms a bit more, I'll mix up some epoxy.

CNC Project: Somewhere on the learning curve (5 Mar 2015)

Acrylic instrument lens

This is maybe not the most awe inspiring thing to be made on a CNC router, but it's a step further along the learning curve. If you look closely you'll notice that the holes are slightly out of round. This is something of a mystery, but I think I have an explanation.

The holes should be 5/32" in diameter. The narrower dimension is pretty close, but the hole is not round.

The software that creates the tool paths generates a downward helical path so that an end mill can carve out a hole larger than its own diameter. One of the parameters that the software uses is a feed rate which it tries to maintain.

The CNC machine is a gantry type. One horizontal axis moves the spindle along a rail bolted to the gantry. The other horizontal axis moves the gantry. That means one axis moves the mass of the spindle while the other moves the mass of the gantry PLUS the mass of the spindle. The same type of motor and timing belt is used on both.

The CNC machine will cut a large radius curve with no problem; however, cutting a small radius curve at the same feed rate doesn't works as well. The forces needed to move the spindle through a curve go up as the curve gets tighter. The timing belts stretch slightly as the motors accelerate and move the spindle. Because the motors are moving different amounts of mass, the amount of stretch on each axis differs. As the curves get tighter and the forces on the belts grow, the difference in stretch becomes significant, and, so the theory goes, holes become increasingly out of round.

A next step is to cut some small holes at lower feed rates and see what happens.

CNC Project: Software (26 Feb 2015)

The CNC hardware is now functional. I'm sure to be tweaking and adjusting, but the machine fundamentally works. I can jog the tool position from the keyboard and clean the fault when I run up against the limit switches. The focus now moves to software.

I'm using LinuxCNC as the machine controller. Mach 3 was another option, but LinuxCNC has the advantage of being free. As long as it does what I need it to do, there's little reason to change. My goals with CNC currently are cutting and engraving plastic, and light machining of aluminum. It looks like LinuxCNC can handle that. If my goals change, I may look to other machine controlling options. For the time being I'll invest the time learning LinuxCNC.

LinuxCNC takes G-code as its input to direct the CNC activity. While it's possible to write G-code by hand, that get real old very fast. The productivity boost from using good CAM software is far too valuable to ignore. I'm leaning toward CamBam. I might be able to get away with a simple G-code interpreter munching on DWG drawing files, but the more integrated approach offered by CamBam has more appeal for me. I like that I can import or create, and edit the drawings then direct the creation of tool paths before generating the G-code.

At this point I have only a cursory understanding of LinuxCNC or CamBam. I need to change that.

CNC Project: Motor driver (19 Feb 2015)

I'm using a Gecko G540 microstepping motor driver. I chose to buy rather than build the electronics because one of my goals with this project was to learn about CNC, and I didn't want to get distracted. Buying the G540 let me focus on stuff new to me.

The G540 is a nice compact package which will run fairly well as is, but adding heatsinks is recommended if you plan on pushing the drivers near their limits. The three heat sinks stick on the bottom with thermally conductive adhesive pads.

Gecko G540 microstepping motor driver

At this point everything critical in the CNC box is together. I'll eventually finish the top for noise and dust control, but first I'll pull the computer together that will run LinuxCNC and control the machine.

Wired CNC machine

I'll also need to add a door with fans over the electronics bay. The bay is not quite big enough to mount the G540 with the heat sinks vertical which is seriously non-optimal for air movement over the heat sink fins. The door will also provide a mounting surface for the emergency stop button.


CNC Project: clamps & cables (12 Feb 2015)

The work piece hold down approach uses aluminum C-channels within the spoil board to hold the heads of 1/4"-20 bolts.

C-channel clamping

You can use fancy threaded knobs,

C-channel clamping

or if space is limited, a standard nut will do.

C-channel clamping with nut

Aluminum C-channel is widely available, standard fare. I picked this stuff up through Ebay.

Wiring is the primary remaining task. I'm making progress, but there's more to it than simply making electrical connections. It's more an issue of cable management.

CNC motor cables

Two of the stepping motors, the spindle motor, and several limit switches are mounted on a moving gantry. The cables connecting them must be supported so they don't get in the way of gantry movement or get hung up on the work piece. This has been somewhat complicated by the fact that the stepping motors have short leads with a molded plug. I suppose I could have cut the plugs off and extended the motor cables, but I chose to use ready made extension cables, and add a few tweaks to support the joined plugs.

A secondary issue is that since the gantry moves, the cables must be rated for continual flexing. Standard stranded wire will tolerate flexing while being installed, but will break if flexed enough. Unfortunately, the wire I was planning on using to connect the limit switches falls within the "standard stranded" category. I have some microphone cable on order which will work well for this, but until it shows up, I won't be able to complete the wiring.

CNC Project (5 Feb 2015)

The Z axis limit switch has been mounted.

Z axis limit switch

And the power entry entry module has a mounting plate.

Power entry module

Wiring is an obvious next step, but I took a detour and have been working on the spoil board and work-piece hold down clamps. The weather warmed up enough to open the garage door and use the table saw, so I took advantage of the opportunity. The spoil board is more than just a chunk of wood under the material you're carving up with the CNC. It has five "C" cross section extrusions embedded in it which can hold the heads of 1/4" bolts used to clamp the work piece. It's a nice improvement over simply using wood screws.

CNC Project (29 Jan 2015)

I've been nibbling away at the remaining unfinished items of the project. Four of the limit switches are in place as is the cable support which is just barely visible behind the gantry. In the side view you can see the power supply and motor driver. There is, however, a notable lack of wiring.

CNC router on Jan 2015

CNC router project Jan 2015

I need to mount the Z axis limit switch, make mounting brackets for the motor driver, and do a bit of wiring. Rather than just connect a power cord to the power supply, I've decided to use a power entry module with a switch and fuse. I've had a couple in the junk box for some time, but using one will require cutting a slightly larger hole in the back of the box. Eventually I'll need a door for the electronics bay, and a fan, and a power supply for the fan, and I'm sure other stuff.

None of this is hard. It's just time consuming and annoying, particularly so given that the project looks to be virtually finished, but really isn't.

Oh, and then there's the spoil board and clamps...

CNC Project (22 Jan 2015)

Some small but nontrivial progress on the CNC project: it's now beginning to look like a CNC machine.

CNC project on 22 Jan 2015.

Actually, the mechanical structure is 99% complete. I need to fabricate mounting brackets for the limit switches, but it's very nearly ready for wiring the electronics. There's a cover for controlling dust and noise, but I'll get to that later.

Writing and Still Here (11 Jan 2015)

RL somehow continues to make its demands. SLOW progress writing.

Still shipping copies of Building Recreational Flight Simulators.

Writing and CNC (24 July 2014)

Still alive, still writing, albeit not very fast or about flight sim.

I'm writing science fiction.

I'm writing a story that takes place on Sakura, a colony world several dozen light years from Earth. Sakura was settled by a robotic ark carrying frozen human genetic material on a very long voyage. No FTL travel in this story; these people are on their own. But that's okay, because they're doing just fine. They've made great progress adapting earth agriculture to Sakura's biome, they're well fed, and their population has grown enough to be counted in the millions (just barely). It's true they had a slight hiccup seventy years earlier when some nasty aliens began munching people at an agricultural research station, but three very clean, moderate yield nuclear sterilization devices put a stop to that. Now the incident's just an entry in their history books. Mostly.

One of the main characters is named Toss. Toss is a graduate student, an unhappy, underfunded graduate student. In fact he's so underfunded he's been forced into taking a lonely night job at an all but abandoned military research station on the edge of a nuclear blight, which is his initial reason for being unhappy.

Another main character doesn't have a name, doesn't even have a body you'd recognize. You could look right at her and not know it. Yes, "her", because she's a bringer of life (when she feels like it). Let's call her "Mama".  Long ago Mama decided to make Sakura her home, but when she finally arrived she found others living there. She reached out to these others, but she was not well received. After seventy years she's going to try again.

You may think this is an obvious setup for one of those clichéd "don't go into the dark basement" horror stories, but it's not. The basement lights work great.

This is a story about several reasonably intelligent individuals each trying to do the proper thing, so everything should turn out fine…


Progress? Well, much further than my earlier efforts at fiction. The story's mapped out and the manuscript's approaching 50,000 words. Notes add several thousands more words. Call it half way to a first pass.


The CNC project is still alive though real life has conspired to bury it under assorted unidentified stuff in my work area. A bit of excavating and I should be able to resume assembling it.

Writing Fiction (24 April 2014)

I've been writing fiction on and off for years. Haven't managed to finish anything as yet. In part that's because there are so many really neat ideas to write about. I have bits and pieces of six novels, enough words to account for a good size novel, but unfortunately spread across a half dozen separate stories.

I decided to focus my efforts on one story to bring it to a close, which is what I'm doing these days. Since the weather is warming up, I'll perhaps also spend some time in my unheated workshop area completing my CNC project, and of course, I'm still shipping copies of Building Recreational Flight Simulators.

Older Entries