Dropping a quick note here to show everyone that 1) I’m still alive and 2) What I’ve been messing with.
As seen in the picture, I’ve ordered some cheap 20 pin TSSOP/SOIC breakout boards and a few of the TSSOP-20 versions of the MSP430G2553. The boards measure 19mm by 27mm and I got them off ebay (Search for 20pin TSSOP Breakout). Big thing is to pay attention to the pin spacing. The MSP430G2 TSSOP pin spacing is 0.65mm, and that appears to be pretty common
Now, 19mm by 27mm is small enough to fit into a matchbox car (Hint towards a project I’m working on) and they can be filed down another 2-3mm in each direction. Since the SOIC footprint on the reverse side is a few mm wider than TSSOP, that’s pretty much as small as this breakout can get. A custom PCB or different breakout that only has the TSSOP mounting on it could be, theoretically, much smaller.
Anyways, while I’m still messing around with various on-board componentry, popping the chip out of the Launchpad redboard and using the board’s Vcc, GND, Test and Reset pins as the programmer for this TSSOP endeavor works like a champ. I encourage you to try it out. I was floored at how easy soldering TSSOP components was!! Flux the pad and the chip, gently clamp the chip in place, get a *small* dab of solder on your iron and swipe it across one row of pins. Repeat for other side, done.
Up next with TSSOP
I am very encouraged by this project as I believe I will be able to deploy MSP430G2 based projects into scales as small as HO, possibly even N. Next up for me is a custom PCB and power supply for these smaller form factor projects. I’m really having a blast with these projects!
In my continuing research into CMRI Emulation on an MSP430G2553 chip, I recently tackled a few new challenges. Firstly, I wanted to expand the IO of the MSP430 via shift registers and control those pins from JMRI. Secondly, I wanted to address the issue of smoothly render a 16KHz PWM signal while simultaneously performing other tasks. To date, I have had success with PWM only when the MSP430 is performing just the PWM calcs and no other tasks. Previous attempts at using algorithm based PWM have resulted in jittery flashing on the LED being controlled by PWM while there are other items being processed by the MSP430.
The most recent sets of experiments have been a major success. Short video:
CMRI + 16KHz PWM Proof of Concept from claymore1977 on Vimeo.
I’ve been hacking away at getting the CMRI Emulation working on the Launchpad. When it comes to a standalone unit, it is currently working like a champ. Getting multiple Launchpads to talk on the same serial bus has been quite unsuccessful thus far. Next endeavor is to use Shift registers and ramp up the number of Inputs and Outputs off of a single Launchpad.
A single launchpad that handles massive amounts of IO via Shift Registers is not the most user friendly approach. I would prefer to either hookup multiple Launchpads via the USB ports on them, or use a single USB connection and have multiple Launchpads share the Serial bus. Both of those approaches are problematic at this time, and more research is needed. For now, I’m going to get the Shift Registers angle tackled.
Here’s a link to the CSS5 project.
And here’s a video:
CMRI Emulation on a Launchpad 430G2553 from claymore1977 on Vimeo.
TODO List for CMRI on Launchpad
- Test chaining multiple launchpads together, with different addresses, via Pins 1.1 and 1.2
- Increase Baud Rate higher than 9600
- Test multiple launchpads sharing the same address, but handling different ranges of IO bits.
- Clean up, consolidate and minify code.
- Experiment with using Shift registers to increase a single Launchpad’s capability from 12 IO pins.
- Determine which of the MSP430G2 chips can be used besides the ‘top of the line’ 2553
- Develop more advanced CMRI nodes other than simple On/Off command and sensing.
I was browsing other people’s blogs, as I’m apt to do in-between software compiles at work, when I ran across Hoffy’s blog post about CMRI Emulation on an Arduino. Computer controlled model railroading is an aspect of the hobby that has fascinated me for many years. Being a certified bit-junkie who loves serial and network communications, this article immediately grabbed my interest.
I was a impressed at what Hoffy accomplished. But when I read that the project was done in Energia and not CCS5, I felt the familiar spark of a challenge form. So I dove in and attacked the challenge of getting CMRI Emulation working with 100% native c through CCS5. I decided to do a total rewrite rather than try to glue several people’s code together and end up with FrankenProject. (Done that, it’s not pretty)
At approximately 5:10 pm, Wednesday, July 17th, 2013, Samanatha Loman, eldest daughter of Sandra and David Loman, was involved in major vehicular accident. The car involved in the accident was severely damaged when it struck a house at high speed. Ms Loman walked away from the scene uninjured.
In reality, she was carrying her newly completed 1:24 red Ferrari over to her ‘model road’ to stage a scene when she dropped it. It literally shattered into its original parts. She was really upset, but I pointed out that none of the pieces themselves had broken, but rather, the pieces had simply come apart. Superglue, it seems, provides quick bonding but lacks the sheer strength that model cement provides. Good to know.
Making the best of the situation, and trying to get her to smile again, we staged a scene anyways. Always look on the bright side of life!
Sammie Wrecked Her Ferrari from claymore1977 on Vimeo.
Epilog: The model has been rebuilt with less superglue and more cement. Order is restored to the universe.