TI’s Grace – a new MCU IDE GUI (DNFTT)

TI has recently been fighting to gain traction in the market of low-cost microcontroller development platforms with products such as the MSP430 Value Line Launchpad. In order to meet the needs of a rapidly growing customer base and appeal to a broader market they have recently released Grace beta Graphical Peripheral Configuration Tool. Grace is a plugin for TI’s own Code-Composer Studio (CCS) IDE that allows users to graphically control many aspecst of MSP430 development and is compatible with all MSP430F2xx/G2xx MCUs.

Utilizing a simple “wizard-like” interface, Grace allows users to quickly and efficiently control peripherals such clocks, timers, OpAmps, ADCs, GPIOs, comparators, and even more advanced features such as serial communications or the configuration of low-level register settings. Once everything is configured as desired, Grace outputs standard C code that can be debugged and handled as if it were hand-written.

Although Code-Composer Studio is not free, there is a 30-day full-featured trial available as well as other (restricted) free licensing options as well. Since CCS is based on the Eclipse open-source software development framework, perhaps we will see other similar development tools in the near future. Although not an apples-to-apples comparison, we could imagine that such a tool might provide many novice users with a simple and cost-effective alternative to the Arduino IDE.

The questions then becomes: If a later incarnation were to raise the MSP430 line to “Arduino-killer” status, would it be rejoiced as such or would it simply then become a new target for those die-hard microcontroller purists who love to shout “overkill” on the forums at the slightest provocation? Of course we would love to hear your take in the comments below!

48 thoughts on “TI’s Grace – a new MCU IDE GUI (DNFTT)”

“TI has recently been fighting to gain traction in the market of low-cost microcontroller development platforms with products such as the MSP430 Value Line Launchpad” and “Although Code-Composer Studio is not free…”.
Sorry, but for me it’s a fail. If TI wants more amateur users, they really must giveaway their dev tools for free.

Since this has been obvious from the beginning and since they TI bean-counters are still resisting it, I don’t think it’s likely to ever change. Thus Arduino will maintain it’s status as King until those blinder-wearing suits “get” the clue.

There is a “code size limited” version of Code Composer. While I just recently got my Launchpad, I can’t see how the size limit will be a problem as none of the current MSP430 chips will hit the 16kB limit. I’ll be trying out Grace as soon as I get the chance, but as I’m primarily a coder I’m not sure I’d have much use for it other than a quick way to get a program written.

The MSP430 series only have up to 8k of program space, and the main limitation on the free version of CCS is 10k of program size. There are effectively no limitations for hobbyists using the launchpad series to program MSP430s.

Also, MSP-GCC exists if you just want to write code and burn it to the chip. It’s standard C — you don’t have to use the TI tools.

The MSP430 isn’t really a competitor to the Arduino in theory, because it’s smaller and has much less memory. But for what most people use the Arduino for (blinking LEDs, sending and receiving serial data, and stuff) it’s ideal. It’s very low-power, drawing a tenth of a microamp (!) in sleep mode and only 3.5mA at full speed.

Not everything has to be free and open-source to be a useful product and a good deal.

(Actually, I find that open-source is usually completely at odds with the software being functional and useful, but that’s a discussion for another time)

CCS is free for the code size limited version which I believe is larger than the chip’s flash ram capacity anyway. The real problem for TI IMO is that the arduino IDE and command language is much easier for beginners to grasp compared to TI’s offering, which is designed for professional development. Plus the Arduino has excellent library support by the hobbyist community.

TI really needs to come out with a set of tools aimed squarely at this market if they want to succeed.

@macw
Oddly enough the Launchpad is open source. You can get the schematics, PCB, BOM and gerber files right from the wiki and build your own if you like. At $4.30 each you’d be nuts to build one if you realy want one.

As for those that cry overkill any time someone uses an Arduino for every little project, the MSP430 would be an ideal choice in my opinion because of the small code size and low power usage.

It would be good for MSP430 to get an Arduino-like IDE and libraries. With low price dev boards like the Launchpad, embedded development could be opened up to new audiences.

I’d love to see it used as an educational tool in poorer countries. I picture a relatively small investment giving students real, applicable, 21st century skills. This could push business to invest in these regions, boosting economies.

Some might say Arduino is merely a crutch, but I think it’s a stepping stone for the uninitiated. Anyone is free to move beyond the Arduino framework when they’re ready. That’s how I got started with MSP430.

That said, I wouldn’t make much use of an Arduino-on-MSP430 framework, nor have I ever used GRACE. MSP430 is relatively simple to use, and the documentation is nice, so working with the peripherals hasn’t been too much of a problem.

The point is, just because it’s not for me, doesn’t mean it isn’t right for someone else. I think that’s a point the Arduino-haters seem to miss sometimes.

LOL – Useless huh? I’ve worked with the vendor-locked / closed source / Windows-only solutions for MSP430, AVR, PSOC, M16C. They are anything but useless – and they were less fussy and had more features than the GNU MSP430 toolchain which (in 2004 anyway) didn’t even have a debugger worth mentioning, let alone using. Remember micros are aimed mostly at industry, not hobbyists, so be thankful they even give away any software for free (they didn’t used to!). And if you must be an open source snob, then hey, good on ya – I’ll stick with my IAR.

1. Most users don’t use Linux. I am sorry to break it to you. Once Linux becomes an intuitive product and its tech support becomes more then people bickering on forums then it might have a shot at OSx and Windows. Till then keep dreaming.

2. Open source != good. It is just a buzzword used to get people to buy there products. The best DSPs on the market are TI products that are closed source.

3. This MC is not useless at all. It was very low (extremely low) power consumption and could run for months if not up to a year in sleep mode. Probably longer if hooked into a lead acid battery. Perfect for applications out in the field.

Sorry, but Cypress Semiconductor has better capability than this for years, and it’s a free download! It can use GCC under the hood for ARM Cortex designs, or you can use their i8051 version with a free/lite version of Keil.

I don’t think a commercial company will be able to make an “arduino-killer”. They are too uncomfortable with releasing decent quality software for free and might not like only being able to make $30-40 on a dev board anyone could easily duplicate and sell.

In any case, I would hate to see it. I haven’t done much with my own Arduino (Diecimila USB), but I would like it (someday) to be a stepping stone to more sophisticated direct programming, not piecing pre-generated code together or having WYSIWYG design software. That doesn’t appeal as much. It would be ok if someone made a new development system that was WYSIWYG, but it needs to be more usable than the Lego NXT tools, which are really worthless in my opinion due to limited functions.

Big deal. So it generates some register assignments for you. While the UI looks nice, sort of like interactive documentation, I see the following FAIL POINTS:

1. It’s not Free. Will never replace actual free tools. In my professional work as well as my personal projects, I only use completely free tools. The transparency and flexibility this provides is tremendously important to me.

2. TI’s tool generously generates code to assign registers, but if you don’t understand this code, you won’t be able to read and understand your own code later.

3. You could have easily written the peripheral setup code yourself. In fact, since you did not actually write it, you probably don’t understand it.

4. One more time: Seriously, how much work is it to assign a couple of register values to set up your peripheral?

When you come back to read your C code again, you’ll wish you had not used a code generator, but instead wrote some readable, well-structured code yourself. You should expect your code to be read MANY times, so take a few moments to make it readable in the first place. Write once, read many!

it saves time and effort, you can get it to generate the register assignments so you can make your own damned code. you can look at the code it generates and it comes with comments so you can read it as you feel like and use some in your mainline code as you switch some peherals on and off (an important feature in ultra low power enviroments).

plus the code limit is not something you’ll ever hit so it’s pretty much free. when you revisit old code theres two ways it can go down:
with grace – gui showing how you set it up and the code it generates with full comments on how it’s set up and what you can change it to with each command
without – read through your comments if you remembered to add them and try to remember why you did it that way

1) TI – they can’t even get one in the mail to me. It ended up in customs for 2 weeks and is now on it’s way back to singapore.

2) IDE/Dev Tools – On a mac it’s a pain – I don’t want to spend 2 hours building a tool chain to do anything. I want to be able to do what I need to do and be done.

If/when I ever get my launchpad I’ll comment more…My arduino board came in 2 days – the only thing that would have made it better is if it came with a pile of additional micro-controllers so I could just prototype and pop one into my end project.

TI for me is doing the right thing. For those of you that haven’t checked, the “free” version of CCS is free in very much the same way EAGLE is “free”. It’ll do what you need. Yes, the demo is limited to a 16kB code. Does anyone have an MSP430 that has more than 16kB memory? EAGLE is limited in an analogous way.

TI also gives away free samples – I’ve got 3 Launchpads (not free) and about 10 microcontrollers scattered on my desk; I have another 5 on their way as I type.

They also program in C, not “Processduino” or something.

Keep it up TI, the competition is good for the Arduino (which, frankly, I’m getting a little sick of).

Gadget’s comments are right on target. To compete with the hobbyist sector, the IDE has to be easy to configure and use. It’d also help if it were easier to even get, as it requires registration to even download, and a massive install process. Then, if you don’t program micros for a living, it’s a bit like opening Photoshop for the first time–so many things to click. Arduino IDE download is 3 clicks from the main page, unzips, runs without an install, and you’re coding away. That’s the experience they need to provide to even start catching up. I love the hardware; just wish it weren’t so painful to use it.

@Necromant Open source is nice in theory, but proprietary closed-source software is what actually gets things done. Your car was designed in a $60,000 CAD package, the books you read were typeset in QuarkXPress, and your money is stored in some proprietary database on a bank’s ancient proprietary mainframe. I guess what I’m saying is, if you can’t accept that money needs to change hands for really good software to exist, then go to hell.

@ColinB this is a way for beginners to quickly prototype things, not something for crusty neckbeards with 40 years of C experience to code in. Also see the above point about free vs. proprietary software.

@everyone else: this isn’t really an Arduino killer because the chip isn’t comparable to an ATMega*. It’s closer to an ATTiny. You likely won’t see an Arduino bootloader kind of thing on it because it has such a small amount of program space. Gotta save all that space for your actual code!

Anyone else keep getting a retarded error when trying to add Grace? Something about Grace requres org.eclipse.rtsc.xdctools_3.21
The problem is the only version of RTSC/XDCTools available to update to is 3.20
WTF TI WTF

If the launchpad replaces the Arduino I would be really happy. I doubt that it will because of the already mentioned issues. The reason that I would like this to replace the Arduino is the fact that the launchpad has a built in debugger. I don’t care what you say about printf, there are times where I want to single step debug. This is one of the reasons that I don’t really like python since I don’t have a single step debugger. (I am willing to listen to suggestions on python debuggers)

Why does the MSP430 have to be a *duino “killer”? Why can’t hobbyists have more than one microcontroller to choose from? As I see it, four big advantages of the MSP430 are its low cost, low support component count (internal oscillator, even), its low power consumption, and that it doesn’t require expensive hardware to flash a bootloader. That $5 Launchpad is all you need to program a fistful of microprocessors.

I don’t see the need for an IDE for the vast majority of embedded microcontroller projects; this kind of C is pretty straightforward, and porting over much of the Arduino libraries is reasonably trivial. (Look at Hive76’s port of the Arduino’s LCD library, for instance.)

If anything’s hampering the adoption of the MSP430, I’d guess it’s the lack of dev boards, myself…

It amazes me how people think a “Locked” IDE is just fine as long as the limitations don’t impact their playing around with “entry-level” processors. Learning to effectively use a new programming environment is a time consuming, hence costly endeavor – an investment if you will. I don’t want to invest my valuable resources in something that wants to hook a vacuum cleaner to my bank account the first time I need to step up to a slightly higher powered controller!

How exactly is learning this IDE a “time consuming investment”? The process is still “write code, burn to chip, there is no step three” like it always has been. The code is plain old C, which anyone who calls themselves a programmer should already understand. What’s so hard, learning where the “debug” button has moved to?

The nice thing about learning to program is that once you’ve learned a language, most of what you need to learn to pick up another is just syntax — and like I said, this is C, so what is there to learn?

This is cool and all for the most basic users. I’m a EE though and some of my peers have started to use this tool and I swear they act like they completely forgot microprocessor based design. All of the sudden they are completely reliant on the tool to do anything.

So. Great for beginners/ laymen. Horrible
for engineers because it will become a crutch and a way to not learn and understand microprocessor coding.

@Forrest Voight — web software is certainly one of the places where open-source software has become established, but it’s far from popular outside these computer geek circles. Internet Explorer still holds the largest share of any browser. And in the rest of computing, forget about it! Hardly anyone has heard of OpenOffice (which still has terrible compatibility with Office), the GIMP is nowhere near a replacement for Photoshop, and there are actually more people browsing the web from iOS than from all Linux variations combined.

Open source is great in theory, but anyone who rejects all forms of proprietary software and thinks they’re getting the same experience as the rest of the world is just deluding themselves.

@macw – As a user of and advocate for free software and open source, I certainly do *not* think I’m getting the same experience as the “rest of the world”… the whole point is to have a better experience!

For instance, I carefully set up my dual-core Apple MacBook Pro for triple-boot into Windows, Mac OS X, and Ubuntu. I haven’t used Windows or Mac OS on it for over two years now, because I simply prefer the Ubuntu experience.

Install these two bundles in the default folder – c:\Program Files\Texas Instruments. When you startup CCS4, the IDE will detect these products and prompt a restart. After the restart you should be able to start using Grace.

C’mon guys, have you seriously never met a troll before…? You _do_not_ feed it. You completely disregard it so it gets bored and crawls back under the rock it came from. Or you could get some popcorn and just enjoy the fireworks.

@macw o’rly? There are certain things, where you cannot go off without a proprietary software, but not in this case. The worst part of basing projects on such crap is, that should you want to port it to another vendor’s micro, you’ll have a lot of sex as a result. At least some pain in the ass maintaining two different branches. Okay, now there are thingies like IAR that work for many micros, but they are not a panacea.
Once you have to deal with something more perculiar, like supporting several uC device revisions with a slightly different hardware and logic, you’ll discover that this stuff goes beyond the things a preprocessor can handle. Things get worse when you need to make code as small as possible to use the cheapes uC to save money in mass production.
Besides, each so-called IDE is a totally different shit, and you’ll waste your time getting yourself familiar with all that hotkeys. Personally I use emacs & makefiles. This is the most universal stuff ever created.

You cant get the launchpads still? Really? I buy them to give them away to fellow hackers, and early hackers. I’ve gone through almost 10 of them already, and just got another 3 yesterday after waiting about 3 days for them to arrive.

They’re cheap, and they ship them for free. Cant ask for anything more.

macw: Why does one’s OS preferences affect one’s artistic ability? I have a good friend who’s a professional photographer, shooting art stuff and intentionally-retro portraiture with fifty-year-old film cameras, mainly in monochrome. He uses Debian as an OS of choice, but his entire workflow is 100% analog…

@Daniel and @henryh
Thanks for the python debugging suggestions. I hadn’t looked around for any python debugging. The reason that I brought it up was because most python advocates that I have talked to just rely on print statements and forgo the use of a debugger.

Print statements may work fine on a PC for most cases but there are times when I want to really know what is going on. On an embedded system things are usually time critical and print statements can take a long time (especially if they are 9600 baud serial)

I need to get around to buying a Dragon to play with AVRs. I have a cheap ISP that should work but it does not debug. I found a clone of the JTAGICE for $18 from mdfly that might be nice for debugging AVRs.

I just ordered my launchpad. I think it’s unbeatable at that price $4.30 !!!! with 2 microcontrollers and I can get a bunch free for samples. The tools are free for all practical purposes. Most of these chips are under 4K flash and the CCS tools have a max size of 16K for the free version (I don’t see a problem here). I really don’t care if it’s a little complex to install the tools. I’m not a beginner. I believe that the more options, the better. ST is doing something similar with their STM32 and STM8 discovery boards. The more the merrier.
I’m currently planning a project for a device to assist the blind that I need to use a low power fast cheap processor and the MSP430 hits the spot (is even cheaper and more powerful than comparible PICs). I can hook a 20 cent serial EEPROM onto it if I want or a 2M serial flash for 50 cents if I want some more storage space which my app will want. It’s a perfect solution for what I want to do to prototype my project. The more the merrier.

I was born in the first half of the last century, but still try to keep up with available tools. I have been writing software since 1965.

I just tried GRACE last night for the first time. I have to say that this is an incredible time saver. The first time I wrote a PWM routine for an MSP430 device, it took me about a month to work out all of the bugs. Last night it took no more than 30 minutes, and that included learning how to stumble through a minimal GRACE learning curve.

I can’t wait to use it for A/D conversion and even simple GPIO.

I don’t work for TI, and have mainly developed using Microchip products. I think I will use more MSP430 devices for a while at least.