{"id":271,"date":"2023-11-24T21:29:24","date_gmt":"2023-11-24T21:29:24","guid":{"rendered":"https:\/\/www.heinpragt-software.com\/?p=271"},"modified":"2025-06-11T16:48:05","modified_gmt":"2025-06-11T14:48:05","slug":"arduino-scrolling-led-display","status":"publish","type":"post","link":"https:\/\/www.heinpragt.nl\/?p=271","title":{"rendered":"Arduino Scrolling Led Display"},"content":{"rendered":"\n<p>I build myself a scrolling led message board and every Christmas and new year I have this in my front window to greet the people in front of my house. Every year I reprogram the Arduino Uno with the wishes I want to display. I has become kind of a tradition here. I used an Arduino Uno (clone) and six MAX7219 based LED Matrix Displays forming a 192 x 8 led area. I chose these number of displays because it would fit my window, but the number of displays you want to use is not limited. When a line is displayed it will scroll on the display from right to left and when the display is fully filled it will scroll on until the whole message is displayed. Then it will wait for a few seconds, clear the display with animation and start a random new message. On this page you can find the hardware and the software for this project. Regards, Hein Pragt<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">What components do you need?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>An Arduino Uno board; (Nano will also work)<\/li>\n\n\n\n<li>MAX7219 LED Matrix Display 8&#215;32 (2 &#8211; 8);<\/li>\n\n\n\n<li>5V DC Power supply at least 3A;<\/li>\n\n\n\n<li>Board to build on;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.heinpragt.nl\/wp-content\/uploads\/2023\/11\/arduino_uno_led_display1.jpg\" alt=\"Arduino Uno Led Display1\" class=\"wp-image-273\"\/><\/figure>\n\n\n\n<p>For my version I used an Arduino Uno clone but an Arduino Nano would also be possible, you would have to find the SPI and SS lines for the Nano yourself. I mounted the led displays on a wooden board with stands and the Arduino Uno at the back. In my first design I included a power supply board (the power supply of the Arduino is by far not sufficient) but in the end it was better to use a switching external power supply of 5V DC to feed the Arduino (Vin) and the Led displays. The led displays will take a lot of current, so more displays means a more powerful power supply.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.heinpragt.nl\/wp-content\/uploads\/2023\/11\/arduino_uno_led_display2.jpg\" alt=\"Arduino Uno Led Display2\" class=\"wp-image-274\"\/><\/figure>\n\n\n\n<p>The connections are very easy, just two power lines and three SPI lines. The Matrix units come in 8&#215;8 times four on a single board, with holes for the connectors at both sides. What I did was lift off the two outer displays, mount the base board on the wooden board and then connect the connector holes with small wires. This is more reliable and you can fit the display units tight together. Look close at the position of the led matrix boards and put them all in the same position. (Also look carefully when putting the displays back on).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">The software<\/h2>\n\n\n\n<p>I personally do not like to use Arduino libraries, you have to find the correct one and the correct version or it will not work or give compile errors. So what I did was write the whole driver code myself. The whole Arduino project contains two files, the ledmatrix.ino and a 8&#215;8 font include file. In the sourcecode there is an array of messages, you can fill them as you need, they will be stored in flash so there is (almost) no limit to the size. In the top of the code you can define how many displays you have connected (the number of 8&#215;8 blocks), the code will adjust to this automatically. I give you the full sourcecode you can modify it yourself if you want to. The download link is at the bottom of the page. If you need hardware you can visit my webshop.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" src=\"https:\/\/www.heinpragt.nl\/wp-content\/uploads\/2023\/11\/arduino_uno_led_display3.jpg\" alt=\"Arduino Uno Led Display3\" class=\"wp-image-275\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Download<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.heinpragt.com\/download1\/LedMatrix.zip\">Download zip file with the sourcecode of this project<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">More pages on embedded software<\/h2>\n\n\n\n<p>[catlist name=&#8221;Embedded software&#8221;]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I build myself a scrolling led message board and every Christmas and new year I have this in my front window to greet the people in front of my house. Every year I reprogram the Arduino Uno with the wishes I want to display. I has become kind of a tradition here. I used an [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":272,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[211],"tags":[112,115,219],"class_list":["post-271","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-embedded-software","tag-arduino","tag-display","tag-message"],"_links":{"self":[{"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=\/wp\/v2\/posts\/271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=271"}],"version-history":[{"count":1,"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=\/wp\/v2\/posts\/271\/revisions"}],"predecessor-version":[{"id":7469,"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=\/wp\/v2\/posts\/271\/revisions\/7469"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=\/wp\/v2\/media\/272"}],"wp:attachment":[{"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=271"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=271"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.heinpragt.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}