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 »
Well, I tried using the Pocket AVR Programmer I got from Sparkfun to reload the bootloader to my existing Arduino Duemilanove ATMega328 chip but it did not work.
However, this interesting saga has a happy ending – MakerSHED (where I got my Duemilanove board) technical support has notified me they are sending me out a NEW Arduino Duemilanove board!
How’s that for great technical support? I really thought they were going to say “Well, you must have blown out a component or a pin experimenting” and tell me it’s my own fault and not do anything since it is a development board. Great to see there are still companies out there that value their customers! As I was awaiting what I thought would be the inevitable dismissal from MakerSHED, I started looking into Arduino alternatives and came across this awesome little company called Freetronics! You guys HAVE to check them out! It’s just two guys but one of them, Jon Oxer was co-author of the popular book “Practical Arduino“ (maybe you’ve heard of it?) and they make a FANTASTIC Arduino clone (in fact it’s 100% compatible with a Duemilanove) called the Freetronics TwentyTen (in keeping with the Arduino culture you can call it the “Duemiladieci”). They are expert Arduino hackers themselves and really looked at the Duemilanove and took note of it’s good points and bad points and really listened to the Arduino community when they designed the TwentyTen. It’s an awesome board that is getting TONS of good reviews and it’s even been overclocked! Well what makes this “improved” Duemilanove so great? Well here is a list of improvements and you can be the judge:
Well, remember from my previous post that I had found an interesting post about Reprogramming the Default FTDI Settings onto the EEPROM built into the FTDI Serial-to-USB chip? Well, the procedure and the FTDI programming utility worked just fine but it did NOT solve my locked up Arduino board problem! Ahhhh!
has ANYBODY run into this at all? I have been in touch with technical support from MakerSHED (I got the Arduino Duemilanove in a kit from MakerSHED with a bunch of basic electronic components and sensors) and they currently don’t seem to enthusiastic about replacing my board although to be fair, I haven’t suggested it yet but they, at the same time, haven’t offered. I guess at this point it’s getting safe to say that something catastrophic has happened to my Arduino board although I don’t see any obvious component failures (burnt resistors, blown caps etc…). Well, I’m starting to get really bummed here because I have TONS of projects waiting for a working Duemilanove board.
Ok I didn’t end up going with Adafruit and instead ordered a Pocket AVR Programmer and an ATMega328 chip preloaded with bootloader from Sparkfun. It came down to price and the fact that Sparkfun had another item I wanted and Adafruit didn’t. Anyrate, I have received the AVR ISP and the preloaded chip with bootloader yesterday. I popped the preloaded ATMega328 chip into my locked up Arduino Duemilanove board and you know what happened?…….nothing. It’s still locked up. Now I’m starting to get concerned. That tells me that the problem is not simply a corrupted bootloader but something else, perhaps more sinister. I did find an interesting post about Reprogramming the Default FTDI Settings onto the EEPROM built into the FTDI Serial-to-USB chip. Perhaps I somehow managed to erase or corrupt the FTDI settings? No clue. I will try that process later today or tomorrow. I am starting to get really nervous that something bad happened to the board and fried one of the components.
Just a quick little update for the blog – Some of you may have seen a “bandwidth exceeded” page instead of trackhacker.com. Oops!
Sorry, I run my own web host server and wasn’t paying attention to how popular the blog has become of late since Jameco Electronics ran a September product update: Why is the Arduino a Hit with Entry-Level
Electronics Tinkerers? and prominently mentioned trackhacker.com! How cool is that?
Very kewl but it bumped my bandwidth usage up dramatically and I wasn’t right on top of it so the site was down a little bit today until I noticed and adjusted trackhacker.com’s bandwidth limit. Dohhh! Well, besides that – I am just about finished the building phase of my CNC router and will be beginning the testing/tweaking phase. I hope to have it up and cutting within a week. After it’s up and running, I have a TON of model railroad CNC projects and hacks planned. I am also thinking about manufacturing niche model railroading accessories and a custom model service using my CNC router, my NextEngine 3D Laser Scanner and my homemade vacuum former machine (see images below).
Outwardly, it appears, that I have fried the ATMega328 chip on my Arduino Duemilanove. I had the Arduino hooked up to a CdS photoresistor and the LCD as a quick and dirty light meter (project unrelated to model railroading). It would display the scaled numeric value on the LCD in the top row (16 x 2 LCD) along with a real-time bar graph in the bottom row. It was pretty cool. It worked for about a week with no problems and all of a sudden, for whatever reason – I fired it up one more time and nothing. The LCD backlight came on but nothing was displayed. I checked all of the wiring (it was still layed out with the LCD and contrast pot and the CdS photoresistor on a solderless breadboard) and everything was fine. I double and triple checked the wiring. I disconnected the Arduino from all of the other circuitry and then noticed that when I hit the reset button, it would do nothing – normally it would blink the LEDs. I tried disconnecting it from power, powering it up from USB etc… nothing. So then I try to overwrite my light meter sketch with the Arduino IDE example Blink sketch. Thats when I noticed I could not communicate with the Ardunio at all where I always was able to before. I got the following error messages in the Arduinio IDE:
Well here’s another little hack that demonstrates hooking up a temperature sensor to an Arduino Duemilanove micro-controller and displaying the temperature on an LCD. Before you say anything, yes I realize it’s not directly model railroad related but I suppose it could be if you needed to monitor the temperature from something, say a model railroad volcano with lava flow.
Really it just demonstrates how easy it is to hook up an analog sensor to the Arduino and get meaningful data out and onto an LCD. I can picture the LCD embedded in a cool layout control panel and you could certainly swap the temperature IC for something like the opto-interruptor in my hack on making a Model Railroad Scale Speedometer and be able to display the scale speed of a model locomotive right on the LCD. Well anyway, it’s a good foundation for other more model railroad related projects to come and it tests out and shows off some of the new doo-dads I picked up recently.
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!






