Lab Kit

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

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

Store

TM4C123 LaunchPad

MSP432 LaunchPad

TI store

EK-TM4C123G

MSP-EXP432P401R

Digi-Key

Mouser

element14

Newark (US)

Farnell (UK)

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

The same venues that sell the LaunchPad, will also sell this booster pack, go to www.octopart.com and search for BOOSTXL-EDUMKII. The following table has direct links to worldwide distributors.

Store

I/O Booster Pack

TI store

BOOSTXL-EDUMKII

Digi-Key

Mouser

element14

Newark (US)

Farnell (UK)

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.

Store

CC2650 BoosterPack

CC2650 LaunchPad

TI store

BOOSTXL-CC2650MA

LAUNCHXL-CC2650

Digi-Key

Mouser

element14

BOOSTXL-CC2650MA

Newark (US)

Farnell (UK)



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.