Introduction: Traffic Light Controller Using ARM Cortex-M4

About: I'm Electrical Engineering Student, Coffee Lover, Automated System designer, Programmer and Security System Designer.

This is a breadboard based project which uses ARM Cortex-M4 (Texas Instruments EK-TM4C123GXL) to make a traffic light controller.

The duration of RED and BLUE LED is set to 15 Seconds. The duration of Yellow LED is set to 1 Second. A "plot" figure is attached with the project to help in understanding of allocation of traffic lights.

The cathode of all LED's is attached with each other. It means that they all have common ground level.

.bin file of c99 code is attached with the provided link at the end of this tutorial. .bin file can be uploaded to the microcontroller using LM Flash Programmer.

Step 1: Requirements

The following things are required to get this project done:

1- Texas Instruments EK-TM4C123GXL
2- Four Red LED's

3- Four Yellow LED's

4- Four Blue or Green LED's

5- LM Flash Programmer (software on PC)

=> If you don't know how to use and install LM Flash Programmer, then please check out my previous Instructable, or click on the following links:

Downloading LM Flash Programmer

Upload .bin or .hex File Using LM Flash Programmer

Step 2: Pin-outs & Wiring

The Pin-outs & Wiring of ARM Cortex-M4 (Texas Instruments EK-TM4C123GXL) and other peripherals is attached with this step and also given following:

TM4C123GXL => LED's


PB5 => L1 (Red) , L2 (Red)

PB0 => L1 (Yellow) , L2 (Yellow)

PB1 => L1 (Blue) , L2 (Blue)

PE4 => L3 (Red) , L4 (Red)

PE5 => L3 (Yellow) , L4 (Yellow)

PB4 => L3 (Blue) , L4 (Blue)

GND => All negative terminals of LED's

Step 3: Upload the .bin File

Upload the attached .bin file with this step to ARM Cortex-M4 (Texas Instruments EK-TM4C123GXL) using LM Flash Programmer to get the output.