The goal of this project is to display a scrolling text message on an LED matrix display, controlled by a Bluetooth Low Energy (BLE) device. The user can input a message using a BLE terminal(EFR Connect) and the message will be displayed on the LED matrix. The project uses an EFR32BG22 microcontroller, MAX7219 LED matrix driver, and the Silicon Labs Bluetooth SDK to accomplish this functionality.
Video |
The project uses an EFR32BG22 microcontroller as the main controller, which communicates with the MAX7219 LED matrix driver via SPI interface. The MAX7219 is configured to drive an 8x8 LED matrix display. The microcontroller also communicates with a BLE device using the Silicon Labs Bluetooth SDK. In order to adjust 3.3V microcontroller logic lever signal to 5V needed for MAX7219 we used TXU0104 voltage translator.
Schematic | Assembly | |
The software implementation of the project is divided into two parts: the microcontroller firmware and the BLE terminal application. The microcontroller firmware initializes the MAX7219 driver and sets up a timer to periodically update the LED matrix display with the scrolling text message. The scrolling text message is implemented using a bitmap buffer that is shifted left with each update. The firmware also communicates with the BLE device using the Silicon Labs Bluetooth SDK to receive the text message input by the user. Once received, the text message is displayed on the LED matrix display.
The BLE terminal application is used to connect to the microcontroller and send a text message. The application sends a GATT write request to the microcontroller with the text message as the payload. Once the microcontroller receives the message, it stops the timer and updates the bitmap buffer with the new message. The timer is then restarted and the new message is displayed on the LED matrix.
Scanning | Profile | |
At first, it was difficult to choose a project. However, with the help of Professor Sergei, we decided on a topic and carried out a project on LED. Professor Sergey helped me with most of the coding. It was quite difficult, but I learned about how the 8x8 LED works and how the Bluetooth server works, and it was a great and fun time to learn how to combine it.