LED Flash Challenge

We’re beginning the RoboSumo project with a little competitive puzzle called the LED Flash Challenge. We’re not attaching a formal assessment weighting to this challenge, but we’ll certainly be keeping a close eye on which teams finish in what order. Each successful completion will be tweeted to @robotresults so that we have a complete record of which team finished when.

Yes, it’s a race.

Today (and maybe next week) you’ll be working with your team to complete two tasks:

  1. Build a simple breadboard circuit for the MSP430 microcontroller and program it to blink an LED on and off.
  2. Add a second LED to the circuit and reprogram the MSP430 to transmit a specific binary sequence as flashes from the two LEDs.

The first task is very prescriptive, which means that we’ll basically tell you exactly what to do, but to complete the second task you’ll need to start thinking for yourselves.

You’ll need a team number to complete this challenge. Your tutor will assign your team a unique number within the range shown below:


  • 1-6: Damon’s teams
  • 7-12: Emma’s teams
  • 13-18: John’s teams
  • 19-24: Martin’s teams
  • 25-30: Ted’s teams


  • 50-59: John/Dave’s teams
  • 60-65: Richard’s teams

Part 1: Blinking LED

This task is relatively straightforward and shouldn’t take you very long to get working. You’ll find complete instructions here:

Instructions for Blinking LED example

NOTE: In some places, those instructions may refer to the MSP430G2553 microcontroller, whereas you’re using the MSP430G2452 microcontroller. In fact, the two microcontrollers are extremely similar, so you should be able to follow the instructions without any difficulty. Just remember that anywhere it refers to MSP430G2553, replace that with MSP430G2452 and you should be fine.

Once your LED is blinking, there are four things you need to understand before moving on:

  1. How one of the pins (P1.0) was turned into a digital output.
  2. How the LED is turned on
  3. How the LED is turned off
  4. How to delay the program for a specified number of microseconds, so that the rate of the LED blinking can be controlled

Once you understand these four things, you have finished this part of the task (the easy part) and it’s time to move on to the LED Flash Challenge.

Part 2: LED Flash Challenge

In this part, you’re going to modify your circuit to create a simple optical transmitter, which transmits a digital message (a sequence of 1s and 0s) as a series of LED flashes. I’ll demonstrate this to you in the lecture.

The message that you’ll transmit will be 2 bytes long (a byte is 8 bits, or 8 ones and zeros) and it will contain the letter R and your team number.

You should take a couple of minutes to read about binary numbers and digital i/o on the MSP430 here.

Specifically, you need to do the following:

  1. Modify the code to create a second digital output pin.
  2. Extend the circuit by adding a second LED (with current limiting resistor) to that digital output pin.
  3. Find out the ASCII value of the letter ‘R’ (capital R) in 8-bit binary. This is byte 1 of your message.
  4. Convert your team number into 8-bit binary. This is byte 2 of your message.
  5. Each byte will be transmitted as a sequence of ones and zeros, preceded by a start bit (1) and followed by a stop bit (0). That means your complete transmission will be 20 bits long. You need to calculate this sequence on paper first.
  6. To transmit a 1, turn LED1 off and LED2 on for 100ms.
  7. To transmit a 0, turn LED2 off and LED1 on for 100ms.
  8. To ensure the sequence is read correctly, transmit a long sequence of zeros before you transmit your message.

Your tutor will be able to clarify anything you don’t understand about this.

This entry was posted in Uncategorized. Bookmark the permalink.

3 Responses to LED Flash Challenge

  1. Pingback: RoboSumo Project | acoughlandit

  2. Pingback: Building The Motor Circuit | acoughlandit

  3. Pingback: LED Flash Project | acoughlandit

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s