I am long overdue for an update, so this will probably be a lengthy one… Last year had some cool highlights from basically starting my website for Casco Logix to being featured on hack-a-day here
, to being featured on EEWeb as the “Site of the day” here
, to launching some initial simple but fun products for sale on my site here
. Here are some of the other things I’ve been working on lately since my last post.
MSPGCC Compiler Issues
I started a new and exciting, much larger-scope project back in November and have been pretty hot and heavy on code development using an Olimex MSP-5438STK* development board and MSPGCC in eclipse. However, I have run into a fairly large hurdle with the compiler…
As I knew I wanted to develop a board support package (BSP) and other hardware abstraction layers (HAL) to make tasks such as accessing the GPIO expansion headers, serial ports, etc easy to access, I skipped right over using the free code-size-limited version of TI’s Code Composer Studio (CCS), as it is limited to only 16kB of compiled code. Instead, right off the bat I started developing the application using the latest stable build of MSPGCC, which is somewhat dated, along with the eclipse IDE, which I love. The plan is to be able to more easily migrate to a custom-designed PCB when that time comes by simply removing or modifying the BSP and HAL layers as-needed.
Well, the code size quickly rose above the limit of what will fit within the “near ROM” of the MSP430F5438*, which should not normally be a problem when using open-source tools. However, I found out the MSPGCC toolchain does not seem to “fully” support the MSP430X architecture, which is slightly different than the MSP430 architecture. The ‘X’ in MSP430X denotes ‘extended’, which basically means in order to access any objects, whether it be constants, functions, pointers or variables, that are located beyond the “near ROM” limit of 65,536 bytes, the compiler and linker must handle 20-bit addresses instead of 16-bit addresses.
Well, support is not so smooth as can be seen from my posts here, here and here. RedHat has picked up further development and support of the MSPGCC toolchain and has a beta release available here, so I have high hopes of better integration of the MSP430X family of processors. However, currently support for these seems to be, at best, at the same stage or even slightly regressed from the last stable release of MSPGCC here. I will say, though the integration of the new MSPGCC into CCSv6, in terms of the new project setup, debugger, etc, is very nice – much, much nicer than the manual eclipse/old-MSPGCC setup.
So, I continue to develop using the old MSPGCC in eclipse until the new MSPGCC has better documentation and support for using the MSP430X architecture, utilizing “far ROM” for applications larger than 65k bytes.
*Note: the MSP430F5438 is not recommended for new designs, but is very similar, if not identical, to its successor, the MSP430F5438A.
Angie-Cakes Digital Photo Frame
My wife, Angie, runs a small home-based cake decorating business called Angie-Cakes
, and she had a client that wanted a themed celebration cake for her daughter’s 20th birthday. Her daughter is pursuing a career in TV broadcasting and works for a TV newscast local to her university. As Angie was thinking of creative ideas for the cake, I thought “what about putting a TV on the cake that plays a news anchor clip or something similar”…
Long story short we landed on the idea of incorporating a Digital Photo Frame on top of the cake with an SD card loaded with various pictures of her childhood through the current day. It was a huge hit and you can see a short demo on youtube here. If you are local to the Kansas City area and would like to consult with her on a themed cake for your occaision, the best way to reach her is through her facebook page.
BlueGiga BLE112 XBee Module
The design for the BlueGiga BLE112 XBee Module
was completed in October and the first unit was built in November. Everything looked good on the board, however, when I went to perform some basic Bluetooth Low Energy tests, I found out these modules don’t come with firmware loaded on them. I’m familiar with the BlueRadios BR-LE4.0-xxx modules, which do come with firmware, but are slightly larger, more expensive and are no longer available from standard suppliers like Digi-Key, Mouser, Newark, etc. So, in order to get the first one up and running, I’ll need to get the proper programmer/debugger. One of the nice things about these BLE112 modules is that BlueGiga makes available lots of “cookie-cutter” profiles that can be loaded, as well as tools to help create a customized profile that can be loaded onto the module without needing the complete toolchain and development environment of the 8051 Bluetooth SoC.
Serial NVM Boards
The hardware for these are ready to go, however, the firmware has not been finished. Therefore, I have not been able to prove-out the hardware, but as many iterations as this simple design took due to simple mistakes, I feel pretty confident on the hardware. Firmware development has taken a back burner to a newer, more exciting and much larger project that I’ll talk more about at a later time. I plan to take a break from the larger project soon and get back to completing the firmware for these NVM boards.
dealextreme 30 Amp Relay Board Woes
As part of the large project I mentioned above, I purchased one of these 30-amp relay
boards from dx.com
. It started using what seemed to be an unreasonably high current on the signal pin and was not exercising the relay when the signal was applied. A little troubleshooting revealed the flyback suppression diode had failed. In the troubleshooting process I reverse-engineered the board so I had a sensible schematic to look at. For anyone else who might be using this relay board, the schematic can be downloaded here
Again, thanks for reading and have a Happy 2014!