Starting out with the MSP430 Launchpad - Page 1
Forum section: electronics / general

author: Einsteins_Ghost
author_rank: Newbie
timestamp: February 11, 2014, 09:09:57 pm
content: I am mostly into analog stuff but I am very curious about integrating MCU's into my projects. I have used Arduino's with some success (driving motors, driving displays, running filtering algorithms...) Arduino has a very high level IDE with an amazing support community.I bought a Launchpad around two years ago when they came out because the price was insane (4.30$ !!) and the ultra low power sleep mode was compelling enough to get one.That said, this thing is not for the faint of heart. CCS is deffinitely feature rich compared to sketch and I can see very very few similarities between the two other than they are both little MCUs.I am looking for novice support. I would appreciate any help in finding good places to learn how to learn this thing the right way. I remember my MCU teacher in college completely hating on the arduino because it was so automated that it took the "black magic" out of embedded systems.I now see how much behind the scenes the arduino environment offers.books, forums, tutorials are all welcome! Thanks so much.

author: rsjsouza
author_rank: Super Contributor
timestamp: February 11, 2014, 10:23:40 pm
content: I started with a workshop available atthis TI wiki page, but I see they updated it to their newer Launchpad device (5529). Since you got yours back when it was $4.95, I think it will be useful to take a look at a previous workshop version such asthis one.One detail, though: I bought my Launchpads when the sale was on, and they came with a different device (G2331 instead of the G2553). Since the G2553 ismuchbetter than the G2331, I strongly recommend ordering a MSP430G2553IN20 sample atits page. The boards are the same.I found some additional tutorials and training on some other links - a bit more difficult to navigate and covers a bit more advanced topics, therefore it is better to start with the workshop itself.A bunch of tutorials for the LaunchpadA getting started guide that covers the tool itself

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 11, 2014, 10:24:54 pm
content: Take a look at Energia. Once you know your way around, try using bare GCC.

author: dannyf
author_rank: Super Contributor
timestamp: February 11, 2014, 10:44:03 pm
content: Energia would be an easy way for you.A better approach, in my view, is to learn embedded programming. To me, the key there is to unembed embedded programming: making your code as hardware independent as you can. mcus, at end of the day, are just computers that execute high level commands that are hardware dependent at implementation level but hardware transparent to the programmer.Arduino would be an example of that, albeit not terribly well executed.

author: tjaeger
author_rank: Regular Contributor
timestamp: February 11, 2014, 11:06:31 pm
content: I don't have any good recommendations for tutorials, but my advice is to familiarize yourself with the family user guide as much as possible. Together with the device-specific datasheet it has all the information you need to program the mcu. The style can be a bit daunting at first, but things get easier once you get used to it. If you want to use a certain peripheral, go through each flag for each register and make sure you understand whether or not you need to set it for your application. Compared with modern arms, the msp430's peripherals are actually quite a bit less complex. And if you get stuck, the msp430 has a big enough hobby user base (even if it's not as big and, um, religious as for PICs and AVRs) that you can usually find answers using google. There's often good information on TI's forum.I personally wouldn't bother with energia if your goal is to familiarize yourself with the MCU. If you just want crank out projects as quickly as possible, it might be a good choice (although I don't know, never having tried it).

author: bingo600
author_rank: Super Contributor
timestamp: February 12, 2014, 02:31:08 pm
content: Get a few of the bigger 430's that fit in the board for free (samples) at TI.I had an older board , where TI hadnt shipped the larger mcu , and Got Them for free/Bingo

author: NiHaoMike
author_rank: Super Contributor
timestamp: February 12, 2014, 02:51:56 pm
content: Energia (and Arduino) has a GCC toolchain under it. Downloading that is the easiest way to get a working toolchain even if you never plan on using the IDE.

author: AndreasF
author_rank: Frequent Contributor
timestamp: February 12, 2014, 05:23:42 pm
content: The tutorials that are linked in the first reply should help you get started. CCS may seem overwhelming at first, but realistically you will only use a handful of its functions anyway.One of the reasons I like it very much for developing with the Launchpad is its ability to debug the code in circuit. It's great that one can define breakpoints or pause the execution manually, and then check the contents of all the registers and variables.Programming it in this way (instead of through an Arduino-like abstraction) really forces you to read the data sheet/family user guide. In my opinion that's a very valuable skill to have. At the end, all the hardware related programming is about manipulating registers in the device, so learning about the registers is vital. For instance, you'll quickly come recognise patterns like thisCode:WDTCTL = WDTPW + WDTHOLDas meaning to set the contents of the Watch Dog Timer ConTroL register to Watch Dog Timer PassWord and Watch Dog Timer HOLD.The Family User Guide will give you all these predefined v

author: bxs
author_rank: Regular Contributor
timestamp: February 12, 2014, 06:56:03 pm
content: The quickest way to get something working is with Energia(port of Arduino to launchpad MSP430).Even if you don't want to play with Energia, installing it you get the msp430 gcc toolchainI don't quite see the appeal of this Arduino wiring stuff, but is clear that a lot of people love it, the thing is that it's so limiting...For example a few days ago I need to do a very simple thing and I tried to convince myself that it would be the ideal thing to use a launchpad+energia, so I would finally use wiring for something and see their usefulness, right?No, not quite, the thing was that I needed to use comparator and no support for it, so I had to use it directly, then I needed to use ADC, well it is supported by wire, I was starting to be more optimistic, but no, I couldn't use the wire/adc because it had a huge sampling time and I need a lower one so I had to implement my adc stuff, now lets talk about Timers, ya not supported I had to implement it... and simple things like digital IOs, it should work right, since is the most simple thing but the time to turn a pin high or low was simple too long so I had to do it directlyNow about CCS is the way to go if you don't want to use GCC directly, setup msp430 gcc in an IDE or need Debug(I know that exist ways debugging without CCS but they never worked for me, probably I was the problem? I don't know), I hate all the steps needed to download CCS and I long time ago launchpad msp430 was not supported by CCS in Linux, maybe I will look again to it, probably already have support, for the time I have CCS installed in a virtual machine...