Getting Started

This first series of tutorials is aimed at teaching the fundamentals required to understand and start your own embedded projects using the Texas Instruments MSP430. We cover setting up the environment, toolchain, build system, the basics of the architecture, and writing drivers for each of the peripherals. Each lesson will build on the previous, so I recommend you follow them in order. All the code is explained in detail, so there is no guessing as to how it works. Also, there will be plenty of attention given to coding style, best practices, readability and writing modular code. This means you can take modules you may need for your own projects and modify them as needed with ease. If you want to create your own amazing project but don’t know how, take advantage of this free material and get started now!


What you need to begin:

1. Subscribe to the Simply Embedded mailing list below. This way you will get updates when I release new tutorials. I do have a real job and a life – sort of – so I can’t make any promises on how frequently tutorials will be released, but I will do them. And I won’t spam you with useless stuff. Promise.
2. The Texas Instruments MSP430 Launchpad. This will be the initial development platform. You can buy it directly from TI here for USD $10. The Launchpad kit comes with two microcontrollers – we will only be using the MSP430G2553. The reason I chose to start with this board is because it has a built in programmer which can be used to program any MSP430. This makes it very useful for future projects.
3. A computer with the capability of running a virtual machine. Everything will be taught in Linux environment. I don’t want you wasting time and energy trying to deal with incompatibilities in distros, toolchains or packages so I want everyone to have the exact same environment. I will go step by step in setting it up. I will be using VirtualBox for the VM, and Lubuntu as the distro. If you are not familiar with either of these you should do some reading here and here. If you have never used Linux before or are not comfortable with the command line, take some time to learn it. We will be using it extensively.
4. The desire to learn, ask questions and have fun. I really want you to take your time and understand the material. It’s not a race. Everyone will be starting off with varying levels of knowledge and free time to dedicate to these tutorials so it’s really important that you don’t skip steps or race ahead without fully understanding the material. There are a million places online you can copy/paste code from. That isn’t the goal here.

Now you are ready to head on over to the first tutorial.