I think I’ve finally gotten to a beta release point on my Phone App and Widget Firmware. The firmware is universal but the phone app is customized for the Soundtraxx Economi DCC decoder. This app lets you control and program a battery powered locomotive via wireless DCC on your Android phone.. Above are the four screens. Some of the controls, the couplers in particular, are not implemented quite yet, or are implemented but untested. Everything else works. The coupler buttons are intended to control servos to actuate the couplers ala switching moves.

Below is a (rather long) video of the app driving the decoder on my little test setup. The blue readout is a current meter. Not pulling much here.

I have a new locomotive, a USAT GP9, that I will be putting a TCS WOW decoder into. That will get it’s own phone app, although it should look very similar to this one. I’m finding the various decoders, while all adhering to the DCC spec, are a little different in certain areas, particularly the CV programming. Also, one thing I didn’t consider is getting data FROM the decoder. I have the circuit and s/w design for that but it’s not implemented yet. That’s next.

At some point I may try to merge the various incarnations of the phone app into one, but for now I’ll be doing one for each. I plan to support the three decoders I currently have, the QSI, the Economi and the TCS Wow.

Here is a demo of the phone app. It doesn’t actually do anything, just lets you change screens and move the throttle slider etc. But I’d be interested in feedback from other train folks – Drop me an email: martan@cstone.net

Below is a diagram of how it all fits together

Got my new boards in for the latest widget design. On the left is the DCC Amplifier, it turns the logic level signal from the widget into a 15v DCC signal. The board on the right is the new Megawidget.

I have moved away from SOIC components as they are hard as heck to solder by hand. So this one sports an Atmega328 28 pin thru-hole microcontroller. I still have one SOIC component, the 3.3v regulator for the network module but it’s a pretty easy hand solder and the thru-hole version is ridiculously large.

Another advantage to this microcontroller is I can run it at 16mhz using an external crystal. It’s a pretty speedy little sucker at that clock rate.

The boards came out perfect in terms of electrical connections, I didn’t have to cut any traces or add any jumper wires. However I do have a bit of a spacing problem on both the controller and the DCC amp that I will have to address on the next pass. The ISP programmer port is too close to the bluetooth module and the logic input on the AMP requires that I wire it instead of putting a pin header – but for now they are ok.

The plan is to refactor all of my existing code on the firmware side and get it all squeaky clean- bluetooth network, servo control and the DCC output. Hope to have that done this weekend. Eventually it will drive a TCS WOW Sound 5A DCC controller.

Got my prototype to run first pass. This is a motor driver chip that I have wired to convert logic level DCC to 14v 5A DCC. I was working with the LMD18200 but that sucker was $16 from mouser! Ouch. And it only did 3A. This is the L298N which is only 3 bucks from Sparkfun. Big difference! Now I just need to layout a PCB and get it off this breadboard. Sometimes rainy days are not so bad…