top of page

[ENG] Arduino Pro Mini + single 8x8 LED matrix controller playing space invaders characters

The main goal of this development is to fully control a 8x8 LED matrix with arduino pro mini (or it's costless version from China Funduino Pro Mini) writing anything that you want and fits inside 8x8 led matrix. The total solution cost will be only USD 7.28.


I had used a Funduino Pro Mini brougth @ deal extreme that costs USD 3.91 sent directly to Brazil. Follow below the top and bottom pictures from Funduino Pro Mini.

[WARNING] At 2014 this Funduino was a good acquisition, however today it is better to acquire the improved arduino nano version (USD 4.14) that already integrates the FTDI transceiver, then avoiding to use an external FTDI circuit that is needed to flash the Funduino Pro Mini.


The 8x8 LED matrix used was the MAX7219 Red Dot Matrix Module w/ 5-Dupont Lines that costs USD 3.37 @ deal extreme. To flash the Funduino Pro Mini you needed at least a FTDI circuit with all serial (UART) pins available, or at least TX, RX, GND and DTR. I had availabe a OSEPP FTDI Breakout board.

Before build everything together and put to work, you need to do three things:

1st) Install the FTDI breakout driver (for ubuntu linux and windows 10 i do not have problems to install the FTDI breakout, it was just plug in and see /dev/ttyUSBx @ Linux and see the COM and LPT ports @ windows 10 device manager).

[WARNING] If you need the FTDI drivers to install the breakout board at your operating system follow the links at the FTDI website: Windows 32bit (2.12.26), Windows 64bit (2.12.26), Linux 32-bit (1.5.0) and Linux 64-bit (1.5.0).

2nd) Install the Arduino integrated development environment (IDE), i am using the version 1.8.3.

3rd) Turn your FTDI breakout board into a Arduino/Funduino Pro Mini firmware flasher, using just one 100n - 1 micro Faraday capacitor soldered from DTR pin (FTDI Breakout board) to Arduino/Funduino Pro Mini reset pin and a 2.2k resistor from VCC to RST pin. See in the picture below (made using Fritzing App).

FTDI breakout circuit Arduino Flasher

After the last 3 steps we are ready to pack everything together. Build-up the below picture hardware circuit wire connections between the Arduino/Funduino and the MAX7219 8x8 LED panel.

FTDI arduino and 8x8 led circuit

To understand the pinout at board and IDE, please see the below picture (reproduced from PighiXXX) Arduino Pro Mini Pinout.

Arduino Pro Mini pinout

Then open the Arduino IDE, download the Git-Hub SOURCE CODE, configure the serial port (COM3 in my case), Arduino pro mini processor, chip frequency (16MHz)/voltage (5V) and just flash the code to the Arduino/Funduino to have fun.

Arduino IDE port selection

Arduino IDE board selection
Arduino ATmega328 voltage and frequency selection

See the video below showing the Space Invaders Aliens animation and my name passing through the 8x8 LED matrix.

To customize the code to show everything you want and fit iniside 8x8 led matrix, you can use the below sites to write any letters or space invaders aliens animation:

Inside the code to mount your own image you need to change the 'valueMask' vector (always remember to adjust 'rowMax' and 'colMax' after make your changes). You need to just provide the pattern of 1 and 0 to turn on/off the leds on the whole led matrix, for example if we want to write the letter 'O' the led matrix must turn on/off with the following graphical pattern:

This pattern coded to one line of the vector 'valueMask' is (Animation Tool for 8x8 LED Matrix):

Then it is just add this on the 'valueMask' vector the following line for 'O' letter:

1 column | 2 column | 3 column | 4 column | 5 column | 6 column | 7 column | 8 column |

{B00111100,B01100110,B10000001,B10000001,B10000001,B10000001,B01100110,B00111100},

Then it is just resize the rowMax, re-compile, re-flash and have fun.

Featured Posts
Recent Posts
Search By Tags
Nenhum tag.
Follow Us
  • LinkedIn Social Icon
  • Facebook Social Icon
  • Twitter Social Icon
  • Instagram Social Icon
  • YouTube Social  Icon
bottom of page