I have to apologize to all the trackhacker.com followers out there for letting the site sit so long without updating it. I lost my job in March and then had to deal with a host of medical problems my wife is experiencing while trying to fight depression myself. Life got complicated and busy really fast and I am only now just getting things back under control so I apologize for the hiatus. Not making excuses, just explaining what happened.
JT continues his series on Building and Programming the Fabulous Fabio “Arduino-Compatible” Controller Board:
Setting Z-axis milling depth with conical engraving bits.
The Fabio Arduino clone PCB was milled into .062” (1/16”) FR4 PCB material with a 1oz. copper cladding (weight of copper is 1 ounce per square foot). The CNC engraver / CNC Router was fitted with a 45 degree engraving bit from Think & Tinker LTD. I picked this bit so I could adjust the width of the cut by specifying the depth of cut and still make some narrow cuts. If you do the math (Geometry, actually), you come up with a formula that tells you how deep to make a cut for a desired cut width and tool tip included angle. To make things easy for you (and me) I developed a spreadsheet for various engraving bit included tip angles as shown below: Continue reading »
Notes on building and programming the Fabulous Fabio “Arduino-compatible controller” board from the Make Your Bot! website (makeyourbot.org) – This is the first in a series of Fabio Arduino-Clone related posts from Track Hacker member JT. Thank you for all of the hard work that has gone into this and for sharing it with the Track Hacker community! -craigbic (admin)
Note: weblinks have been footnoted and moved to the bottom.
Over the last six months, I’ve built, tuned, and tested a 3-axis CNC machine based on plans from Rockcliff Machine [1] Now that it is functioning and capable of milling PCBs, I decided to experiment with using it as an “Additive Manufacturing” machine, in other words, a rapid prototyping machine under computer control that uses extruded plastic filaments to build a structure based on commands generated from a processed CAD file. Continue reading »
Just a quick hack idea – I have an SD card datalogging shield, a mini 2-axis joystick, a 20 character x 4 line backlit LCD and a temperature sensor IC all coming in today from Adafruit to use with my Arduino Duemilanove micro-controller. Some of these are for another, non-railroad related project (is there such a thing?) but I do have a few model railroad Arduino projects in mind that I will be able to use these components for. I plan to use the Arduino as an intelligent power pack (controller) for running model trains and to do that, I plan on using the mini 2-axis joystick to control proportional acceleration of the locomotive – forward and reverse. The other axis of the joystick could be used for something else. This obviously doesn’t require an Arduino to do but the Arduino does open up several possibilities for an advance model train controller. I can use the LCD to readout the status of various sensors that can be hooked to a model layout or a locomotive. I can output controller diagnostics to the LCD such as voltage levels or current draw. I could install a model railroad scale speedometer onto a layout and have it output directly back to the LCD while the Arduino is controlling the train via the joystick and monitoring position sensors. There are a lot of possibilities and these are just a few of the ideas that bounced into my head. Let me know what you think or tell us your ideas for model railroad projects involving Arduino and the accessory hardware above!
So I have another little hack I am working on – I have to get a locomotive and some track yet. Speaking of that, if anyone wants to be charitable and has an extra HO scale locomotive and some track (cheap toy store stuff is ok) and you want to donate it to the cause, please feel free to contact me!
Anyrate, I have another hack planned and this was is very simple but neat. I want to setup an Arduino Duemilanove micro-controller to measure and report the scale speed of a passing locomotive. The way I want to do this is pretty simple – I envision (feel free to comment with suggestions, mistakes in my thinking, ideas, etc…)using two opto-interruptors (see my Arduino Controlled Model Railroad Turntable hack for a good description of opto-interruptors) as a means of starting and stopping the Arduino internal timer (might have to use an external crystal if I want something really accurate) with the opto-interruptors positioned at a known distance away from each other on a straight track, I should be able to calculate how fast the train took to traverse that known distance and then calculate the HO scale miles per hour based on that. Locomotive comes along and breaks the first opto-interruptor and starts the Arduino timer function based on the Arduino clock. The Arduino is now waiting for the train to break the second opto-interruptor to stop the timer function. Once the train does break the second opto-interruptor, the Arduino sketch then determines the HO scale speed based on the following formula:
I have finally started working on my first TRUE model railroading hack and this one is really cool! It uses Arduino, like many of the model railroading hacks I have floating around in my head or on the back of napkins, to control a model railroad turntable. For those who don’t already know, a turntable is a large turning platform with a track on it that a locomotive can drive onto and then be turned around to other tracks or even 360 degrees within the locomotives own length. Click here for a closer look at rail turntables on Wikipedia. What makes this any different than any number of model railroading turntable kits that might exist or why is it better than just sticking a motor onto the turntable with a switch? Well, because this is a micro-controlled turntable that’s why! Other turntables are not often precise and frequently misalign. The hack I am describing here uses the Arduino Duemilanove microcontroller coupled with an Adafruit Servo Motor shield to control a stepper motor and get positional feedback from opto-interrupters positioned to stop the turntable (via a deftly programmed Arduino sketch) precisely at an adjoining track location and be accurate and repeatable. I want the control panel input to the Arduino be nothing more than a rotary switch with each pole telling the Arduino to spin the turntable to a different fixed position for the turntable. Maybe an LED for each position could be used at the control panel as feedback. I want to use a stepper motor with at least a right angle gear box with good reduction so it can be easily located directly under the turntable and have enough oommph to spin large, heavy brass locomotives around. I was thinking about this relatively inexpensive (hey it’s only $16.95!) 3.3V stepper motor with built-in 180 degree gear reduction unit from MPJA, Inc. I have seen this exact motor unit built-into homemade CNC routers as a 4th axis to spin long material and use the router much like a CNC lath – good for carving ornate pool cues, spindles etc… This unit works well, is readily available all over the internet, meets my somewhat arbitrary requirements, and is dirt cheap! Can’t beat that!
Well I said I was going to run the Interfacing Flash and Arduino, from scratch tutorial from jpcote’s blog in my previous post on Using Arduino with Adobe Flash for Model Railroading. Well I had the chance to do that today and it worked brilliantly! Hooray!I have taken a few pictures of my Arduino Duemilanove board with the Adafruit protoshield installed with the LED in place along with a short video demonstrating the LED blinking with the “Blink” sample Adobe Flash program communicating with the Arduino updating it’s status from waiting to blinking. Doesn;’t sound like much and I’m sure you’re wondering what this all has to do with model railroading so I’ll tell you – this opens up a whole new realm of possible model railroad Arduino hacks such as creating a cool Flash control interface that looks like a locomotive control panel or a dispatchers panel that interfaces with sensors on the model railroad layout for realtime data along with a micro camera on the model locomotive for realtime video with the ability to control turnouts, lighting, and the trains themselves. Who knows, the sky is the limit as I am an experienced Flash programmer and feel right at home working in the Flash IDE with Actionscript. I can’t wait to start controlling trains and collecting data from a model railroad through an Arduino board using Adobe Flash.
I came across a terrific tutorial explaining how to interface Adode Flash with an Ardunio microcontroller. I realize, again, that this is probably old hat to everyone but it’s all new and exciting to me. I followed somebody else’s hack on connecting an Arduino and using it’s hardware to manipulate Flash but it was very confusing and I kludged my way through it. The Interfacing Flash and Arduino, from scratch tutorial on jpcote’s blog was very intuitive and well written. Interfacing Flash with Arduino hardware is important for several reasons, first and foremost is I am an experienced Actionscript programmer and know Flash intimately. I want to be able to access the Arduino hardware and monitor sensors, stream video, capture data etc…. all through a really whizbang Flash interface. Continue reading »
Well I started working on the foundations of a many of my upcoming Arduino Model Railroading hacks.
It’s a very basic circuit (many will recognize it from one of the Arduino website tutorials) that turns an RC servo as you turn a potentiometer. Not much I know but think of this controlled via Xbee wireless to a Arduino Nano installed inside a model train! Kewl! All the kewl, devious things I can tilt, pan, zoom, lift, move, etc…. muwhahahahahahahahah! Sorry, that’s my evil scientist laugh. Hell this could even actuate turntables, drawbridges, turnouts, and more throughout a layout. Instead of using a potentiometer which gives you proportional control, you could use a multi-position rotary switch for something like a turntable to give discrete positions (engine bays in a roundhouse). I think you would still need some kind of sensor, like an opto-interupter to get precise indexing of the turntable rails to the spur track rails but I am getting way ahead of myself and out of the scope of this post. Anyrate, I have a video I will be posting later so you can see this neat little circuit in all of it’s glory! To the right is an illustration of the circuit (click for a larger view):
I thought I would take a second to post that I have discovered an open-source micro-controller development board called Arduino. Yeah, I know, I know….it’s been around for a long time. Well, I’m a bit slow. This thing is great! It takes a cool 8-bit micro-controller and all the supporting circuits and sticks it on one board and breaks out all of the I/O pins to headers for easy connection. It uses a modified version of C to write firmware which can be quickly developed in the free IDE software and then uploaded to the Arduino board, which has a bootloader already on it making things a snap, via USB. All for under $30! How cool is that
? Continue reading »






