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:

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