Jump to content
43oh

How do I get from Arduino to MSP430?


Recommended Posts

Started with the Arduino myself too, and moved to the TI MSP430 for the desire to learn the internals of MCU and to better match the project cost with the actual needs.. sometimes an Arduino will be an overkill.

 

When my first LaunchPad arrived, Energia is not yet released. I came from software so i found CCS, which is based on Eclipse, very natural and easy to use. On the learning side, breakpoint and debugs are invaluable. Although my C is rusty, the code samples from MSP ware gave me a good starting point. And of course there are alot of kind people here helped me to learn by answering questions like interrupts, and correcting my misconceptions too.

 

Recently i get my feet wet on Energia, and am amazed by what it has accomplished. I believe by using it, people new to the world of mcu can quickly get started with satisfying results - pretty much like they do with the Arduino. For people with experience, Energia offered a new development option. But to find your true potential, imho, do not miss the chance developing projects the traditional way with CCS, IAR, or mspdebug :)

Link to post
Share on other sites

One important thing when making the step from Arduino to MSP430 is to understand just what the Arduino library does. If you are already familiar with Arduino, there is something to be said for learning to develop on the AVR hardware directly without the Arduino software environment. Once you understand native AVR programming, it will be a relatively easy to work with the MSP430. The switch from Arduino to AVR will be the one that requires the most learning.

Link to post
Share on other sites

I will definitely learn to program microcontrollers directly without the training wheels some day. For now, I need the training wheels. I'm not an engineer or a programmer, so a spoonfed approach is best for me.

 

I installed and tried out Energia - success! It is good to actually be able to program an MSP430 chip, however convoluted my approach is. That team is doing what TI should have already done, if they want the student/hobbyist market at all.

 

We have to start somewhere right? I find it strange how TI comes out with this awesome Launchpad dev board that seems to be geared towards hobbyists and beginners, then supports it like it is all engineers that are using it.

Link to post
Share on other sites

Yeah that seems to have been the case with TI ever since the LaunchPad release..... I'm sort've glad I got into the MSP430 just this year, I get the impression life was a bit less "rich" for the rest of the folks who got involved back in 2010 when it came out :D

 

Especially with only having those 1st-gen value line chips to play with...

 

Since then it looks like the world of MSP430 open-source has come around bigtime, with mspgcc and mspdebug becoming very usable tools + Energia coming around to fill the newbie gap.

Link to post
Share on other sites
I will definitely learn to program microcontrollers directly without the training wheels some day. For now, I need the training wheels. I'm not an engineer or a programmer, so a spoonfed approach is best for me.

 

I installed and tried out Energia - success! It is good to actually be able to program an MSP430 chip, however convoluted my approach is. That team is doing what TI should have already done, if they want the student/hobbyist market at all.

 

We have to start somewhere right? I find it strange how TI comes out with this awesome Launchpad dev board that seems to be geared towards hobbyists and beginners, then supports it like it is all engineers that are using it.

 

That's the thing, it's meant for students and evaluation, not really for hobbyists. The launchpad isn't TI's end product, the individual chips are. Same thing with Atmel. They didn't create the arduinos, they created a professional microcontroller. Some company in Italy created a processing board around the atmel avr, and made the arduinos for students. Same thing with Parrallex (Multiple microcontroller sources) and Picaxe (Basic on Microchip's Pic controllers). All third party companies targeting younger students and hobbyists.

 

As for targeting students, real engineer students? I think a dumbed down language like Arduino hurts more than it helps. It hides the underside of the processor, and limits you. At the very least, programming in C or C++ is standard across the board, and really, anyone that hires them will expect them to be able to program whatever they are working on to do what is specifically needed. "Bob, we need you to program x and y and z" "Oh that should be easy, I'll just run the x and y and z command" "There is none, that's why you are here".

Link to post
Share on other sites
I think a dumbed down language like Arduino hurts more than it helps. It hides the underside of the processor, and limits you.

It doesn't hide anything. It doesn't limit you. There is nothing stopping you from typing in straight 'C' code and skipping all the provided API calls. Energia isn't a language. It is a pre-configured build system with examples using a object oriented API for some of the common peripherals. It uses C++ classes, C code and some msp430 asm. Users of Energia have the ability to use all or none of those features to get to any part of the processor. It isn't dumbed down. Energia has a predefined way it works, but there is nothing stopping you from completely ignoring all of the provided framework and writing your own main() function.

 

At the very least, programming in C or C++ is standard across the board, and really, anyone that hires them will expect them to be able to program whatever they are working on to do what is specifically needed.

So if I hire someone who has 10 years of specialized coding in 'C' for UNIX backend servers will they be productive day one writing optimized OpenGL 'C' code that runs on Windows 7? I don't think so. 'C' at only its most basic level is standard. To do anything useful you have to learn the machine your are targeting, the operating system it uses, and the all APIs provided by that operating system. Knowing how to write a for loop is useless by itself. There are many people who make a living writing code on the windows win32 API that have no idea how it really works and they are many many layers away from the processor.

 

In the embedded world, it is really all about understanding how to effectively use the peripherals of the MCU. Knowing how to write low level 'C' code for an ARM processor doesn't help you write code for the TimerA/DMA controller on an msp430. If someone provides those routines for you and they work and they help you implement what you really want to accomplish why is that a bad thing?

 

If Energia helps one person do something useful with their launchpad then we have succeeded. If they then get excited by this success and decide to look at the low level code that let them do that then even better. There are many people who are never going to write low level code but still want to feel success in building something themselves. Why would you deny them an avenue to do this?

 

-rick

Link to post
Share on other sites

Hey now, I did say for real students when I said those two parts. It's the difference of "Teach kids to multiply" and "Teach them to use a calculator to multiply for them". Energia, Arduino, Basic, it all has its place and I never said they were bad in general, just for those that are going into a professional field for that very reason. Ardunio is a shortcut.

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...