I think there has been a bit of confusion as to what my board is and what it can do. I’ve probably not been as clear as I should have been so I’ll try to clarify that here.
First, the ‘widget’ is a design I have been working on for several years now. It’s gone through a couple of iterations of hardware but for the most part this is a final design. It is meant to be a generic ‘Internet of Things’ device. That itself is a bit confusing as IoT means different things to different people. However, since my application is controlling large scale model trains, I’ll describe it in those terms.
This board will drive motor controllers (ESCs), external serial devices (sound cards, for example), servos, relays and provides a logic level Digital Command Control (DCC) output. It will also accept inputs such as digital and analog devices, sensors, etc.
That is the physical side of the board. On the network side it will accept Bluetooth modules, Xbee, Wifi and SNAP mesh. This means you can run it with your phone, your raspberry Pi or your PC. I also have a couple of proprietary handheld controller designs I’ve been playing with but for now I’m concentrating on Android Phones since they are cheap and available.
My main concentration now, since I am interested in all the cool things DCC decoders will do for you (including saving a lot of wiring inside the locomotive) is to support the three main Large Scale DCC decoders- QSI, SoundTraxx and TCS WOW. I am writing android apps for this with the first one being for Bluetooth. Others will follow as time permits.
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 that I will probably put in my Aristo U25B.
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…
The basic network so far. The ‘edge’ or ‘gateway’ is the Raspberry Pi 3, it talks via USB to an Xbee Module.