For the class, you will need 1) a TM4C123 or MSP432 LaunchPad™, 2) I/O booster pack, and 3) a CC2650 module. On this page you will find links to international suppliers with solid reputations for service. These international distributors are suggested retailers. That said, if you can find a better price on the parts elsewhere then by all means please do.
- LaunchPad: EK-TM4C123GXL or MSP-EXP432P401R
- MK-II I/O booster: BOOSTXL-EDUMKII
- CC2650 Bluetooth module: BOOSTXL-CC2650MA or LAUNCHXL-CC2650
LaunchPad: ARM CortexM Development Board
Every student will need either a TM4C123 LaunchPad or a MSP432 LaunchPad. All the projects we will develop in this course will run on either of these microcontroller boards. If you already have one these boards, you do not need to purchase another one. The MSP432 is lower power, has more I/O pins, and has more RAM. The TM4C123 runs faster, the debugger is faster, and has a more rich set of I/O devices (like CAN, USB, PWM, and more timers). That being said, either will be fine for this class.
|Cortex M4F||Cortex M4F|
|43 I/O pins||84 I/O pins|
|Runs at 80 MHz||Runs at 48 MHz|
|256k ROM, 32k RAM||256k ROM, 64k RAM|
|CAN, USB||no CAN, no USB|
|Two 12-bit ADCs||14-bit ADC|
|More 32-bit timers||Low power features|
There are many places you can order the LaunchPad. For a full list of sources from which you can get the board go to www.octopart.com and search for either EK-TM4C123GXL or MSP-EXP432P401R. The following table has direct links to worldwide distributors.
The LM4F120 LaunchPad is an older version that predates the TM4C123 board. If you can find an LM4F120 LaunchPad, all the TM4C123 code from this course will run on it.
MKII-Educational Booster Pack: I/O Devices
The embedded systems in this class combine input/output devices with the Cortex M microcontroller running your RTOS. In order to place the focus of this class on the RTOS and away from the hardware/software interface, we will be using the MK-II Educational BoosterPack that contains a rich set of I/O devices.
This course deals with creating a real-time operating system for embedded systems. One of the important resources the OS must manage is I/O. It is good design practices to provide an abstraction for the I/O layer. Three equivalent names for this abstraction are hardware abstraction layer (HAL), device driver, and board support package (BSP). From an operating system perspective, the goal is the make it easier to port the system from one hardware platform to another. The system becomes more portable if we create a BSP for our hardware devices. In this class we provide a BSP for the MKII BoosterPack that encapsulates the following:
- Button input, 2 switches
- Joystick input, two channel analog and one button
- LED output, 3-color
- Buzzer output, PWM controls loudness
- Acceleration input, three channel analog
- Microphone input, one channel analog
- LCD graphics output, 128 by 128, 16-bit color
- Light sensor input, I2C
- Temperature sensor input, I2C
I/O Booster Pack
If you cannot afford an MK-II, or if it is unavailable in your area, you will be able to partially do 5 of the 6 labs. You can learn the RTOS concepts, implement your own RTOS, and achieve grades for Labs 1 to 5. However, without the MK-II your systems will not be fitness devices. The CC2650 module is required to do the Lab 6 Bluetooth lab.
CC2650 Module: Bluetooth Connectivity
Lab 6 involves extending the RTOS to include Bluetooth Connectivity. In order to provide flexible and powerful communication in a very simple manner we will add a CC2650 module that includes hardware and software implementation of Bluetooth communication. We will program the CC2650 with an application called Simple Network Processor or SNP. This will create a layered implementation of BLE. Your RTOS will communicate with the CC2650 using a high-level serial channel, and the SNP on the CC2650 will manage the low-level and hardware details of the Bluetooth stack. There are two CC2650 modules that could be used this class. The first is the BOOSTXL-CC2650MA booster pack. The CC2650 boosterpack is now available. The CC2650 BoosterPack came out September 2016 and is available on the TI web site. Either the CC2650 BoosterPack or the CC2650 LaunchPad will work great for this course. The advantages of the CC2650 LaunchPad are: it is fully programmable, so it can be used for other projects; it will be easier to purchase; and you will be able to perform Lab 6 by directly connecting the three boards together. The advantage of the CC2650 BoosterPack it is smaller. It looks like they will be the same price. In Lab 6, we will use 7 separate wires to connect the CC2650 booster with the TM4C123/MSP432 LaunchPad. The second option is the LAUNCHXL-CC2650 LaunchPad. This is the most flexible solution, because there are multiple ways with which this module can be reprogrammed. In particular, if we wish to create a single microcontroller system with Bluetooth connectivity we could implement the entire application, RTOS, and Bluetooth stack on the CC2650 LaunchPad. Creating this one-chip solution will be beyond the scope of this class, and will require learning TI's Code Composer Studio, TI's RTOS, and the CC2650 I/O devices. However for this class we will use the CC2650 LaunchPad in BoosterPack mode and be able to plug the CC2650 LaunchPad directly onto the TM4C123/MSP432 LaunchPad creating a three board stack with the MSP432/TM4C123 LaunchPad + MK-II I/O boosterpack + CC2650 LaunchPad (in boosterpack mode). The software you write on the TM4C123/MSP432 LaunchPad will be the same regardless of whether you implement Bluetooth with the CC2650 BoosterPack or the CC2650 LaunchPad. The same venues that sell LaunchPads, will also sell these CC2650 modules, go to www.octopart.com and search for LAUNCHXL-CC2650 or BOOSTXL-CC2650MA. We recommend getting the CC2650 module that is less expensive or more readily available. The following table has direct links to worldwide distributors.
Trouble with high-price shipping?
Some places in the world have expensive shipping from the US. One option to purchase the three boards is to buy them from a flexible seller like Amazon, and then use a local shipper to ship the board to your country. For example, Transexpress will ship from Amazon into El Salvador http://www.transexpress.com.sv/ Another shipping option for South and Central America is Aerocasillas.