Introduction: Voice Input Arduino Bi-color LED Matrix Scrolling Text Display (Bluetooth + Android)

While browsing interesting projects at Instructables, we stumbled upon the impressive Voice Activated Arduino (Bluetooth + Android) instructable. You may check it out at

Recently, we have put up an instructable to build a 7 Bi-color 8x8 LED Matrix Scrolling Text Display controlled by an Arduino with keypad input from an Android Smartphone via Bluetooth. You may visit for more detail.

We thought it may be interesting to combine these two instructables to come up with a Voice Input Arduino Bi-color LED Matrix Scrolling Text Display (Bluetooth + Android). We are not sure if you are able to find any practical use for this project but it is FUN to see it work with just some tweaks to the Arduino sketch for the LED Matrix Scrolling Text Display.

You may view the following YouTube video to see what we are building.

Step 1: Building the Arduino LED Matrix Scrolling Text Display

Visit for detail on building the Arduino Bi-color LED Matrix Scrolling Text Display. As the display is made up of individual Bi-color LED matrix modules daisy-chained together to form a long display, you may build the display using any number of these LED matrix modules up to a maximum of eight with the Arduino sketch written for the instructable.

To build a longer display with more than eight LED matrix modules, you will need to make some modifications to the Arduino sketch for that project.

Step 2: Programming the Arduino Board

The ‘Android Meets Robots : Voice’ is a free android app brought to us by SimpleLabsIN which uses Android Smartphone internal voice recognition to pass voice commands to your robot, which in our case is the LED Matrix Scrolling Text display.

The app pairs the Android Smartphone with the Arduino LED matrix Display’s Bluetooth Serial Modules and sends in the recognized voice as a string. For example if you say ‘hello’ the Android Smartphone will return a string *hello# to your Bluetooth module where *and # indicate the start and stop characters. However, our Arduino sketch shall filter out the *and # start and stop characters and only display the string.

The Arduino sketch used for this project is based on the sketch used for the Arduino (SPI) 7 Bi-color LED Matrix Scrolling Text Display instructable. The Arduino board needs to be loaded with the Arduino sketch to run the display.

We used Arduino IDE V1.03 for our project. Download the Arduino sketch below for this project which will work with up to 8 Bi-color LED matrices cascaded together. You may amend and enhance the sketch to suit your project.

Download jolliFactory_VoiceInput_8X_Bicolor_ScrollText_SPI.ino

** Note that before downloading sketch to the Arduino, the connections to the TX and RX pins for the Bluetooth Wireless Serial Port Module may need to be removed for the download to be successful.

Note: Having some problems with your Bi-color LED Matrix Display modules? Download the following test program to test each of your modules separately. The display should light up RED, GREEN and ORANGE in sequence row by row to fill up the entire display repeatedly.

Download jolliFactory_Bi_Color_LED_Matrix_Test_Check.ino

Step 3: Testing the Display

Install the free ‘Android Meets Robots : Voice’ apps from the link below.

The images here are some screenshots of the Android Meets Robots : Voice app.

To test, power up the display and establish Bluetooth communications between the display and your Android Smartphone. This is done by selecting “Connect Robot” from the Options menu and clicking on your display’s Bluetooth module from the Paired Devices list. Then wait until the app prompts that the connection is successful.

Test the display by clicking on the round microphone button and then speak into your Android Smartphone stating the messages or commands to send to the display.

Below are the commands the display will respond to. Note the words in parenthesis are optional but the voice recognition seems to improve with longer phrases.

Set green (color)

Set red (color)

Set orange (color)

Set faster (speed)

Set fastest (speed)

Set slower (speed)

Set slowest (speed)

Set brighter (display)

Set brightest (display)

Set darker (display)

Set darkest (display)

Step 4: Conclusion

It is interesting to use speech/voice input for the LED matrix Scrolling Text Display. However, Android speech/voice recognition is still not yet perfect and may at times be frustrating as some words, by their nature, are easily confused.