9
Jun 13

MSP430F USB development board

I'm designing a USB capable development board for the MSP430F5xxx and MSP430F6xxx family microcontrollers. This was a kickstarter project as well which didn't get funded, but I'm continuing on and all of the updates and materials of interest will be posted on my website. Below are some 3d models of the board I'm developing. After seeing it, I will explain some of the drivers and where this going as well as why this platform is unique.

This design idea came about because I need to develop some embedded USB firmware for a product. The approach I'm taking is to start one step at a time. I want to get the software working so I can spin my hardware product and not worry about software bugs while I'm trying to debug the hardware. This gives me a good foundation and it is very effective in speeding up development and debugging time to have working software on a development platform before and during the development of the hardware.

I looked around the internet for a while and couldn't find a development board supporting the 100 pin LQFPs and USB that would work well for me. I also wanted a lot of IO expansion because I'm going to be using a 48 pin flash chip. So, for an embedded developer my ideal platform was a basic dev board with the processor of interest and the capability of adding an expansion card with all the supporting components yielding a dev board that represents my product in every way except the board layout. Once this development board stack is working I can then spin a new board with all of my product's parts on a single dense PCB and I'm done. This allows you to develop small parts, one at a time, until you are done. Using myself as an example, I am starting with basic USB communication between a GUI and the MSP430F5xxx. Once this is working, I will then move on to controlling some basic LEDs etc to test my USB communication link/protocol. After this, I can spin a plugin card with my flash chip and other chips being used in my product. Once this hardware is in, I plug the card in and develop the rest of my software to do what is going to be required. This gives me a development stack that is much easier to debug and from a hardware and parts point of view, is my product. After all of the bugs are worked out, I re-spin and have a working finished product.

The functionality of this board will be fairly simple. There is USB support, 8 LEDs, one push button tied to digital IO, a button enabling the USB Boot Strap Loader and a MCLR (master reset) button. The rest of the IO is broken out to three rectangular headers, the two on the side and an extra one on the bottom. This gives me, as a developer, the ability to spin a plugin board with a lot of hardware since I have so many pins at my disposal. The other great aspect here is the price. These boards will cost roughly $80.00. This is not bad considering there is so much power (100 pin MSP430F5x and MSP430F6x families) and so much expandability with the 2x 30 pin expansion headers on the side and an additional 12 pin expansion header on the bottom. These headers consist of 65 IO pins on the MSP and additional PWR/GND connections. This includes the re-programmable pins for most of the 5xxx chips allowing even more flexability.

This can also come in very handy as a "Swiss Army knife" device for engineers with existing hardware systems. These boards are small and provide an extremely expandable foundation which allows engineers to incorporate this into an existing system to solve some un-foreseen problems.

Quick example:
Say you build a system to imitate a portion of a radar and provide stimulus system to a control system. During development you didn't realize that there is an I2C device that goes along with the controller and it has to be supported. Also, the power system provides power and discrete enable signals to the part of the radar you are trying to simulate. You know have to interface with the I2C device and handle a few discrete inputs. On top of this, you need to sample a couple analog signals to datalog their behavior for further analysis. This device without an additional board could handle that. Assuming there is more hardware involved you can spin (or build up a perf board) a quick plugin card to support your needs...problem solved. These come in very handy in prototyping and rapid development environments. I've personally run into situations like this which has (even though I didn't design this specifically to market as a Swiss Army knife) contributed to the extra emphasis on expandability, horse power and the short time to get a solution up and running.

Another thing to keep in mind is that there is support for SPI by Wire and JTAG, but the boostrap loader (BSL) allows the user to flash this device through USB so you don't need any kind of special programmer. The SPI by WIRE is still on there allowing for in circuit debugging as well so this platform is very development friendly.

Please shoot any questions/comments my way. This device should be in it's final version withing two months or less so I will be looking to market it as I think this will be a very solid board. There are also not very man great USB MSP430F development boards out there, especially with this kind of expandability. Please let me know if you are interested.

Downloadable Content:
Current Expansion Header PinOuts