Skip to content Skip to navigation

OpenStax-CNX

You are here: Home » Content » MSP430 LaunchPad Test Circuit Breadboarding Instructions

Navigation

Recently Viewed

This feature requires Javascript to be enabled.
 

MSP430 LaunchPad Test Circuit Breadboarding Instructions

Module by: Matthew Johnson. E-mail the authorEdited By: Joseph Cavallaro

Summary: This module contains step by step instructions and pictures showing how to assemble the MSP430 breadboard kit used in Elec 220 for very simple I/O. It uses the TI MSP430 Launchpad development board, a double breadboard, and some basic circuit components (switches and a 7-segment display) to establish an easy to understand I/O scheme.

Breadboard Basics

The solder-less breadboard is a convenient way to setup simple circuits and make connections quickly between electronic components. Each hole in the breadboard has a spring clip that makes a connection to the wire/ IC lead you put into it. The breadboard connects each vertical row of holes in the main secion, giving you five holes where you can tie together parts of an electrical circuit. Any time there is a gap between two adjacent holes, they are not automatically connected together.

You will notice some red and blue horizontal lines of holes in the top, bottom, and middle of the breadboard. These are your busses. In most simple breadboards you will use these for power (VCC and GND) as we do here. The bus sections are not automatically connected together. If you want power to all of the busses, you need to connect them all together as shown below.

Lastly, notice the divided channel down the middle of the breadboard. This channel is specifically sized for DIP packaged integrated circuits. You can put a chip across the channel, and have access to each of its pins using the vertical rows above and below. Always put chips across the channel, otherwise you will connect the opposite side pins together and your circuits won't work as expected.

Warning: Be careful when removing chips:

If you use your bare hands to try and remove a chip from the breadboard (you will notice it can be difficult, especially with components with lots of pins), there is a good chance you will end up with the chip plugged into your finger afterwords. You hand has a natural tendency to rotate things when you are pulling hard, so watch out. There are some IC removing tools around the lab, use one of them or ask your labbies to help you if you accidentally misplace a chip.
Figure 1: An illustration of how the breadboard holes are connected together in the breadboards used for the lab. Notice that no connections cross the center channel and that the busses are connected horizontally while the main face of the board is vertical.
The Connection Scheme in a Typical Breadboard
The Connection Scheme in a Typical Breadboard (Breadboard Connections.png)

Steps for Assembling the Breadboard for Elec 220

Warning:

Make all connections with the MSP430 disconnected from USB power.

Warning: Be careful when removing chips:

See above for explanation. Use an IC removal tool or ask your labbies for help.

Tinkerers:

The wiring below is suggested and works well, but if you have any ideas on how to improve the circuit, feel free to implement them in your breadboard. Just be sure that you can successfully run the test program at the end.

1) Get Your Materials

You will need:

  • 1 MSP430 Launchpad
  • 1 Double Width Breadboard
  • 1 Breadboard Wire Kit
  • 1 MC14511B Binary to Decimal Converter
  • 1 Kingbright Green 7-segment display
  • 1 4 Switch SPST DIP Switch Pack
  • 2 470 ohm isolated resistor arrays

2) Attach the Circuit Components to the Breadboard

Most of the breadboards should already have their components pre-inserted in the correct places by the labbies. This section is included for completeness and so you can double check their work if necessary.

The MSP430 launchpad goes in the middle right hand side of the board. Its upperleftmost pin goes in hole H47, and the chip sits across both halves of the breadboard. Once it's in, put in the 4 toggle dip switch across the channel above the Launchpad. The switch's top leftmost pin goes into hole E52.

Figure 2: Connecting the switch to GPIO pins 0-3
The MSP430 and DIP Toggle Switches
The MSP430 and DIP Toggle Switches  (switchPlacement.png)

Now insert the decoder IC (the 16 pin chip MC14511BCP) into the board. The top leftmost pin goes into hole E21 across the lower breadboard channel.

Then put the 7-segment display across the same channel, with its top leftmost pin in hole C36.

Take one of your resistor arrays (the long black sticks with a rubberized coating) and place it with the leftmost pin in hole B28, connecting it to the top right pin of the decoder by doing so.

Lastly, put the other resistor array with its leftmost pin in hole I21 of the upper half of the breadboard.

Figure 3: The components are close together to prevent long wire runs and simplify the connections between them (taking advantage of the breadboard connections whenever possible).
Main Display Components
Main Display Components (componentPlacement.png)

3) Wire Your Power Busses Together

To give some additional flexibility, the breadboard busses aren't automatically connected together. In our applications, we will want to run all circuits off of the same power used by the MSP430 itself, so we need to tie all the different bus sections together.

Using the orange wires in the wiring kit, connect each half of all the horizontal bus strips. The wide gaps in the middle of the strips indicate that there is a gap we need to bridge with an external jumper wire.

Figure 4: Notice how the orange and red wires in your kits are sized to exactly bridge the respective gaps in the breadboard.
Lengthwise Bus Connections
Lengthwise Bus Connections (busJumpers.png)

Since the lab setup only needs one power level, for convenience tie all the power busses together. This will allow shorter runs from the chips to whichever bus is closest. Using the red wires, connect all three red and all three blue busses together. Put the connections off to the far left hand side of the board out of the way of your main circuit.

Figure 5: Notice how the orange and red wires in your kits are sized to exactly bridge the respective gaps in the breadboard.
Vertical Bus Connections
Vertical Bus Connections (busLongJumpers.png)
Figure 6: Check your work once you are done-- now there should be one continuous connection between all of the red busses and a separate one between all of the blue busses.
Bus Wiring Overall
Bus Wiring Overall (busOverview.png)

4) Connect Power to Busses

We already wired the busses together, but now we need to connect the +3.3v and GND provided by the MSP430 Launchpad's USB connection and voltage regulators. Connect the blue bus strip to GND (lower F-J column 56) using a green wire and the red bus strip to Vcc (upper F-J column 56) using a blue wire. You will need to use a small orange jumper to cross the upper channel as shown in the picture below.

Figure 7: Notice the color choice of wires. For the rest of the construction process, the short green and blue wires are only used for connections to GND and Vcc respectively.
USB Power to Busses
show power from pins 1 and 14 on the Launchpad to the + and - busses

5) Connect Your Switches to GND

Use the green jumper wires to connect the other side of your switches to GND (the blue bus). Yes, the switch pack is upside down. This is an intentional design decision that has to do with the pull-up configuration of the MSP430 Launchpad Hardware. With the switch pack upside down, flipping the switch "up" will register a "1" and flipping them "down" will register a "0" like you would expect. See the explanation below for more information, or just take it on faith that it works this way.

Figure 8
Switches to GND
connect the open end of the DIP switch to VCC

Aside:

You may notice that turning the switch on connects it to GND, but turning it off connects it to nothing! This can be really bad in a circuit- the values read from the GPIO pins will be essentially random! Ideally, you would want your switches to be "1" when up and "0" when down. To accomplish this, you can either use more expensive dual pole switches that switch between two connections instead of closing or breaking just one, or use what's called a pull up (or pull down) resistor. This is a resistor of large resistance connected to the rail you want the switch to read when it is open. The GPIO sees most of the connected voltage when the switch is on (and in digital applications most is enough), but sees the other rail when the switch is open.

"But I see no resistors in the picture"-- you're right! The MSP430 has pull up resistors built in- we just have to enable them when we configure the GPIO pins. You'll learn more about that in part II of the lab.

6) Connect Vcc and Ground to ICs

The BCD decoder is an active piece of circuitry, so it needs a power connection to work properly. Connect Vcc to pin 16 (lower A-E column 21) and GND to pin 8 (lower F-J column 28).

The display also needs a common connection to ground (since it is common cathode type). Connect pin 3 (lower F-J column 38) to GND. The display is just a package of individual LED's in parallel connected to one common ground point.

Lastly, there are some options (dealing with latching and enabling) on the decoder we want to permanently set in our circuit. Connect Vcc to pins 3 and 4 (lower F-J columns 23 and 24) and GND to pin 5 (lower F-J column 25).

Figure 9: Notice how the color scheme of blue jumpers for Vcc and green jumpers for GND continues here. It's good practice to use a consistent color scheme for Vcc and GND since they can fry your chips if mis-applied.
Power Connections for Circuit Components
shows Vcc to decoder pins 1, 13, and 14 and ground to decoder pins 9 and 12 and display pin 8

7) Connect the Decoder to the Resistor Arrays

Note: Our resistor arrays:

The resistor arrays used in this class contain 4 isolated 470 ohm resistors. We could have just as easily used individual resistors, but this keeps the breadboard clean and prevents accidental shorting from the uninsulated resistor leads. Every pair of pins in the strip works as if there is a 470 ohm resistor in between them, but each pair exists on its own. I.E. there is a resistor in between pins 1 and 2 but nothing between 2 and 3.

Connect the first four outputs of the decoder to the upper resistor array. Decoder pins 12-15 (lower A-E columns 22-25) fan out to every other pin in the upper array (upper F-J columns 21, 23, 25, 27) (white wires in image below).

The lower resistor array already has one connection made for us (the decoder pin 9 and pin 1 of the resistor array share the same column). Run a wire from decoder pin 10 (lower A-E column 27) to resistor array pin 4 (lower A-E column 31). Then connect decoder pin 11 (lower A-E column 26) to resistor pin 6 (lower A-E column 37).

Figure 10: Resistors have no direction- this layout "skips" pin 3 of the array because of how the wire lengths worked out, but we just connect the "output" side to pin 3 instead.
Decoder Connections
Decoder Connections (decoderToResistors.png)

8) Connect the Resistor Arrays to the Display

Since this is the most complicated step, it is broken down into individual sub-steps. Each picture shows one additional route, eventually connecting all of the resistor array outputs to their respective display inputs. If you prefer to work on the circuit as one block and would like to see the end result, just skip ahead to step 10.

Connect the upper resistor pack pin 4 (upper F-J column 24) to column 31. Then connect column 31 to display pin 10 (lower A-E column 36).

Figure 11
Display Pin 10
Display Pin 10 (upperResistorOne.png)

Connect the upper resistor pack pin 2 (upper F-J column 22) to column 32. Then connect column 32 to display pin 9 (lower A-E column 37).

Figure 12: Notice the use of different length horizontal jumpers so the lines going to the display don't cross.
Display Pin 9
Display Pin 9 (upperResistorTwo.png)

Connect the upper resistor pack pin 6 (upper F-J column 26) to column 34. Then connect column 34 to display pin 7 (lower A-E column 39).

Figure 13: Display pin 8 is a redundant ground (for circuit placement flexibility). It is the exact same connection as pin 3 (which is already grounded), so it can be ignored.
Display Pin 7
Display Pin 7 (upperResistorThree.png)

Connect the upper resistor pack pin 8 (upper F-J column 28) to column 35. Then connect column 35 to display pin 6 (lower A-E column 40).

Figure 14
Display Pin 6
Display Pin 6 (upperResistorFour.png)

Now start working with the bottom resistor array. Jump the lower resistor pack pin 2 (lower A-E column 29) to column 29 F-J on the other side of the channel. Then connect lower F-J column 29 to display pin 1 (lower F-J column 36).

Figure 15
Display Pin 1
Display Pin 1 (lowerResistorOne.png)

Again, jump the lower resistor pack pin 3 (lower A-E column 30) to column 30 F-J on the other side of the channel. Then connect lower F-J column 30 to display pin 2 (lower F-J column 37).

Figure 16
Display Pin 2
Display Pin 2 (lowerResistorTwo.png)

Finally, jump the lower resistor pack pin 5 (lower A-E column 32) to column 32 F-J on the other side of the channel. Then connect lower F-J column 32 to display pin 4 (lower F-J column 39).

Figure 17: Now the display should have 7 data connections and 1 common ground connection.
Display Pin 4
Display Pin 4 (lowerResistorThree.png)

9) Connect the GPIO Outputs to the Decoder

Note: To Mildly OCD Engineers:

These last wire runs are the messiest in the entire circuit. Try and keep the wires as straight and flat as possible, but know that these are long wire runs and the sizes will not match exactly.

Start with the longest runs from GPIO pins P1.4 and P1.5 on the MSP430 Launchpad (breadboard channels 50 and 51). Use a long yellow wire to go from GPIO P1.4 (upper A-E channel 51) to decoder pin 7 (lower F-J channel 27). Then use a long green wire to go from GPIO P1.5 (upper A-E channel 50) to decoder pin 1 (lower F-J channel 21).

Figure 18: The yellow wire is barely long enough, so it has to go at a bit of a diagonal.
Overall Run from GPIO to Decoder
Overall Run from GPIO to Decoder (pinFourFiveOverview.png)
Figure 19
Closeups on Both Connections
GPIO Connection CloseupDecoder Connection Closeup
(a) (b)
GPIO Connection Closeup (pinFourFiveCloseup.png)Decoder Connection Closeup (gpioToDecoderOneCloseup.png)

Now use two of the long orange wires to connect GPIO 1.7 (lower F-J column 51) to decoder pin 6 (lower F-J column 26) and GPIO 1.6 (lower F-J column 50) to decoder pin 2 (lower F-J column 22). Be careful not to accidentally cross the connections! See below for one way to bed the wires so they fit the length of the wire run.

Figure 20
The GPIO to Decoder Connections
The GPIO to Decoder Connections (pinSixSevenOverview.png)
Figure 21
Connecting GPIO Pins 6 and 7 to the Decoder
GPIO Connection CloseupDecoder Connection Closeup
(a) (b)
GPIO Connection Closeup (pinSixSevenCloseup.png)Decoder Connection Closeup (pinSixSevenDecoderCloseup.png)

10) Test Your Circuit

Now that you've completed your breadboard, you are ready to begin! It is strongly recommended that you run the provided test program to make sure all of you connections have been made correctly. Knowing that there are no issues with your underlying hardware will make troubleshooting down the road much less frustrating.

Figure 22
Completed Circuit
Completed Circuit (completedCircuit.png)

Content actions

Download module as:

Add module to:

My Favorites (?)

'My Favorites' is a special kind of lens which you can use to bookmark modules and collections. 'My Favorites' can only be seen by you, and collections saved in 'My Favorites' can remember the last module you were on. You need an account to use 'My Favorites'.

| A lens I own (?)

Definition of a lens

Lenses

A lens is a custom view of the content in the repository. You can think of it as a fancy kind of list that will let you see content through the eyes of organizations and people you trust.

What is in a lens?

Lens makers point to materials (modules and collections), creating a guide that includes their own comments and descriptive tags about the content.

Who can create a lens?

Any individual member, a community, or a respected organization.

What are tags? tag icon

Tags are descriptors added by lens makers to help label content, attaching a vocabulary that is meaningful in the context of the lens.

| External bookmarks