Jump to content
43oh

Book Review: Getting Started with the MSP430 LaunchPad


Recommended Posts

How to discover embedded computing? 

One major difficulty when trying to answer this question is the number of fields covered: electronics, computing, programming. Another difficulty is making the connections between those different fields.

 

post-3-0-31117700-1371342434_thumb.jpg

 

Finding a good book is key to make the exploration easy. Getting Started with the MSP430 LaunchPad provides such a guided discovery.

 

The book offers a step-by-step introduction to embedded computing with hands-on projects. Each chapter starts with a project, introduces the concepts and then discusses them. 

 

I imagine the perfect bundle for less than USD47.50 to discover embedded computing, including: LaunchPad MSP430 4.30 + Educational BoosterPack 24.95 + book 17.95. 

 

Read my review!

 

Buy Getting Started with the MSP430 Launchpad from Amazon.

 

Edit:

- Added Amazon link

- PIC uploaded to 43oh.

Link to post
Share on other sites

Hi Rei Vilo,

 

Nice write-up.

Unfortunately the MSP430 is not at 4,30$ anymore. 9,99$ whit shipping included is still a bargain but not as attractive as before.

I was lucky to stock a pile of box before the price increase but now I must be remaining only a few units... time to re-stock soon.

 

Regards,

Yan.

Link to post
Share on other sites

I have that book too and it's just a perfect thing to add to our pack. It have a lot of tutorials and projects already made and, if you don't even have a Educational BoosterPack it gives you the alternative way with all the single components.

 

And the best part is the sketchbook that you can download and use with energia. This way you don't need to write all the code.

Link to post
Share on other sites
  • 1 month later...

Hi Guys,

 

I have the book. I am not that impressed with it. I think for a raw beginner who can get hold of the Educational Booster Pack it's probably not too bad. But the Booster Pack seems only to be available in the USA. So to order it from Europe I have to pay for shipping, 20 percent VAT and a customs inspection fee. This turns out to be a very expensive option! OK, so there are instructions to use a breadboard. This is good but you still have to buy the sensors and the same applies. If you can't find a local stockist you have to order these from the USA... :-( . I would have preferred to see a breadboard only approach using commonly available parts. 

 

Anyway, back to the book. Firstly the book is in black and white, colour would have been better for the wiring diagrams and pictures of the launchpad board. If you take a look at the appendix you will see a bad black and white scan of the nice colour picture of the board available on this site, together with the pin names etc. Also the diagrams drawn with Fritzing are confusing in monochrome. Light grey against dark grey or white is not good, especially if your hair is grey (as mine is) and you don't have teenage eyes any more...If you don't believe me take a look at the diagram on page 64 and try to find the switch! May be some hand drawn sketches would have been better. And there are also places in the text where the authors talk about coloured wires in the diagrams!

 

Secondly the book uses Energia. Don't get me wrong. I like Energia and am very enthusiastic that it is available. But it is not without faults. If you try to do Project 9 which uses the serial monitor it probably will not work. I tried this on a Mac, and on a Windows 7 PC and both did not work. There is a known bug with the OS/X implementation which permanently screwed up the serial port assignments, and on my Windows 7 system I get no output. As I understand it to get it to work the user has to change some settings on J3, I'll try this later today. But the book does not tell you to do this. It just assumes that everything will work. As this book is aimed at beginners this is a bad mistake. 

 

Thirdly, may be I am old fashioned but I like a text book to have an index at the back. 

 

Lastly in 10.3 the authors refer to communications protocols as languages. This is unusual to say the least. No one else does this to my knowledge

 

Writing a technical book for beginners is a difficult thing to do, I know because I tried. And I really wish Adrian and Dang the best of luck with it. At the moment it is the only beginners book I know of for the MSP430. I hope they take the above points into account if they ever do a second edition. 

 

If you have finished this book, or are looking for something more advanced, I would like to suggest some helpful references :-

 

MSP430 Microcontroller Basics by John H. Davis ISBN 978-0-7506-8276-3      This is a good but a little dated book on how the processor chip works. Chapter 7 about interfacing is very good for those of you with some electronics background. The book is not for beginners but if you have done some "C" programming and worked with other microcontrollers you will benefit from it. 

 

http://dbindner.freeshell.org/msp430/  takes you to some nice examples, in "C", using the GCC toolchain hosted on Linux. He starts out with a launchpad board and some "blinky" code and explores aspects of the processor. His explanations are clear as is is code (which is more than I can say for many "C" programmers ;-) ) . And he is a radio ham!

 

Hope this helps,

 

Steve G0XAR

Link to post
Share on other sites

The book is an introduction to embedded computing based on LaunchPad MSP430 + Educational  BoosterPack + Energia. 

 

@L.R.A., have you investigated the more advanced Texas Instruments' MSP430 Workshop?

 

 

 

The Getting Started with the MSP430 LaunchPad Workshop is an in-depth introduction into MSP430 basics. The LaunchPad is an easy-to-use development tool intended for beginners and experienced users alike for creating microcontroller-based applications.

0. Software Installation Procedures for Workshop Lab Exercises (no video)
1. An introduction to the MSP430 Value Line series of products
2. Introduction to Code Composer Studio IDE
3. Initialization of the MSP430 and programming the GPIO
4. Use of the ADC10 analog-to-digital converter
5. Working with interrupts and the timer
6. Optimizing your code for low-power operation
7. Using serial communications
8. Using the Grace peripheral configuration GUI
9. An overview of FRAM technology (no lab)
10. Learning to use Capacitive Touch (Soon)
11. Using Energia (Arduino for the MSP430) (Soon)

 

I've started the Stellaris Workshop but it requires a lot of time!

Link to post
Share on other sites

@LRA ..... The book is for beginners. No "C", no Assembler! 

 

Try this one, it has both :-

 

 


MSP430 Microcontroller Basics by John H. Davis ISBN 978-0-7506-8276-3      This is a good but a little dated book on how the processor chip works. Chapter 7 about interfacing is very good for those of you with some electronics background. The book is not for beginners but if you have done some "C" programming and worked with other microcontrollers you will benefit from it. 
 
Hope this helps !
 
Steve
Link to post
Share on other sites

I would like to suggest another improvement for the book. Which is to add a section on using the Launchpad as a "programmer" and having the processor on a target board. This is not so difficult to do and has been covered in the forums. I think it would be a good idea to have this at the end of the book. So readers thinking about a project don't get into the mindset that they always have to have a Launchpad and a booster pack to implement their ideas.

 

One of the nice things about the Launchpad is the inbuilt "programmer" and debug facilities. I also do some AVR programming, to get similar for this processor range you have to buy an AVR Dragon programmer which is about 50 euro. Even the cheapest "official" programmer is about 30 euro. But on the Launchpad board these are included. 

 

I wonder if it would be worth while starting a thread for people using the book to add comments? 

 

73s Steve

Link to post
Share on other sites
  • 2 weeks later...

So this is for energia? Not to learn msp430 programming in C assembly?

 

 

 

@LRA ..... The book is for beginners. No "C", no Assembler! 

 

 

I haven't read the book so can't comment on how good it is, but I take exception to the assertion that Energia is not C.  Energia is pure C / C++. It is nothing more than a library of C / C++ functions that provide a high-level way to access some of the 430's functions, accessed through an IDE that simplifies linking. If you want to directly access the processor registers (eg P1OUT etc) rather than use the high level functions (eg digitalWrite) you are able to, and you can even mix the two methods if you so desire. You can even type code intended for CCS directly into the Energia IDE, and in most cases it will compile and operate correctly.

 

A more accurate way to describe a book/tutorial that is centred around Energia would be to say it exclusively uses the Energia library functions rather than low-level register access. But to describe it as not being C is completely inaccurate.

Link to post
Share on other sites

Graham,

 

I think you have missed the point here and quoted me out of context. The book is aimed at beginners to learn program using Energia, not "C". Had you taken a look at the book you might have realised this. My comments were made with beginners in mind. 

 

So when @LRS asked the question "So this is for energia? Not to learn msp430 programming in C assembly?" I told him as much in the simplest way possible, in a way that a beginner, whose first language is not English, might understand. And I gave the guy details of a book that will help him or her to learn these skills. I think that was a fair and reasonable response and I gave the guy good advice. 

 

You say "I take exception to the assertion that Energia is not C.  Energia is pure C / C++. It is nothing more than a library of C / C++ functions that provide a high-level way to access some of the 430's functions, accessed through an IDE that simplifies linking."

 

I find this somwhat confusing and, to use your word, "inaccurate". C and C++ are different programming languages. C++ is a superset of C. If you don't believe me check  http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B . You shouldn't confuse the two, which do you mean, pure C or pure C++?. Your use of the word pure implies it has to be one, or the other, but not both, as they are different languages. (To inject some humour at this point, for readers who are totally bored with this nit picking,  read Linus Torvald's irreverent critique of C++ here  http://harmful.cat-v.org/software/c++/linus who makes many points I totally agree with. Which is why I kept my first and second editions of Kernighan and Richie and gave the Stroustrup C++ book away). 

 

As I suspect this discussion could degrade into a flame war I'll leave it there. Life is too short. It's time to have some fun in the workshop and melt solder. 

 

Cheers,

 

Steve

Link to post
Share on other sites

Hi Steve,

Sorry that you feel quoted out of context. I can see that my post could be interpreted as inflammatory, and that wasn't my intention. It's just that I often see things that tend to imply that Energia is nothing more than a toy platform. Kind of like in the early days of the PC when beginners used gwbasic, but "real programmers" used C. There seems to be an attitude amongst some that CCS is better because it is "real programming". I guess I misinterpreted the previous comments as having that attitude. My apologies to you for misinterpreting you.

 

I am a shameless advocate of Energia over CCS, especially for beginners. My first impression when starting with the 430 and CCS was that it was a crazy way to program. I pretty quickly came to the conclusion that a framework was necessary for anything but the most elementary program and I was astounded that it didn't have even a basic framework as standard. So before I sat down to write my own I googled to see what else was out there and encountered Energia. There are some bits of it that annoy me because of the arduino compatibility that makes it not quite an ideal match to the 430, but that is also a blessing because of the extra code availability. My CCS installation seems to have broken somewhere along the way, so now I use Energia exclusively. I have taken CCS code snippets and even complete programs and compiled them flawlessly in Energia. So unlike the gwbasic / C comparison from PC days, Energia allows you to go from simple framework calls, through to direct register access like typical CCS code, through to inline assembly in one platform. In that sense it is certainly not just a toy. An integrated debugger, and options to configure the compiler (especially -d defines) would make it near ideal in my opinion. I'm glad that TI now seem to be promoting Energia because it makes the 430 platform much more accessible.

 

As for my use of the C/C++ terminology, yes I am aware they are different languages, but as you say yourself, C++ is a superset of C. This means that if you throw C code at a C++ compiler it will compile ok (unless you are using poor programming practice and taking advantage of some of the weak typing etc in C). It also means that you can write code that is technically C++ but so long as it doesn't use C++ extensions it will compile with an ANSI C compiler. So I used the term C/C++ to describe Energia, not because I think they are the same thing, but because you can create code that is C compliant or code that is C++ compliant and they will both work. Yes there are parts of the framework that are exclusively C++, but there is also quite a bit of the framework that is C compatible.

 

Anyway, I likewise don't want to see a flame war, so I'll leave it there too.

Cheers,

Graham.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...