<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://nurdspace.nl/index.php?action=history&amp;feed=atom&amp;title=64x16_Dot_Matrix_LED_Display</id>
	<title>64x16 Dot Matrix LED Display - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://nurdspace.nl/index.php?action=history&amp;feed=atom&amp;title=64x16_Dot_Matrix_LED_Display"/>
	<link rel="alternate" type="text/html" href="https://nurdspace.nl/index.php?title=64x16_Dot_Matrix_LED_Display&amp;action=history"/>
	<updated>2026-05-06T17:01:48Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>https://nurdspace.nl/index.php?title=64x16_Dot_Matrix_LED_Display&amp;diff=9312&amp;oldid=prev</id>
		<title>Invict at 03:17, 7 March 2019</title>
		<link rel="alternate" type="text/html" href="https://nurdspace.nl/index.php?title=64x16_Dot_Matrix_LED_Display&amp;diff=9312&amp;oldid=prev"/>
		<updated>2019-03-07T03:17:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:17, 7 March 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l2&quot;&gt;Line 2:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 2:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Name=64x16 Dot Matrix LED Display&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Name=64x16 Dot Matrix LED Display&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Skills=Arduino, Electronics, Knowledge sharing, Link gathering,&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Skills=Arduino, Electronics, Knowledge sharing, Link gathering,&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Status=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Active&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Status=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Dead&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Purpose=Electronics, fun, world domination&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Purpose=Electronics, fun, world domination&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Picture=64x16-dot-matrix-display.jpg&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|Picture=64x16-dot-matrix-display.jpg&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key nurdspace_wiki:diff::1.12:old-7989:rev-9312 --&gt;
&lt;/table&gt;</summary>
		<author><name>Invict</name></author>
	</entry>
	<entry>
		<id>https://nurdspace.nl/index.php?title=64x16_Dot_Matrix_LED_Display&amp;diff=7989&amp;oldid=prev</id>
		<title>Noxiouspluk: Created page with &quot;{{Project |Name=64x16 Dot Matrix LED Display |Skills=Arduino, Electronics, Knowledge sharing, Link gathering, |Status=Active |Purpose=Electronics, fun, world domination |Pictu...&quot;</title>
		<link rel="alternate" type="text/html" href="https://nurdspace.nl/index.php?title=64x16_Dot_Matrix_LED_Display&amp;diff=7989&amp;oldid=prev"/>
		<updated>2017-07-07T23:14:48Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Project |Name=64x16 Dot Matrix LED Display |Skills=Arduino, Electronics, Knowledge sharing, Link gathering, |Status=Active |Purpose=Electronics, fun, world domination |Pictu...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Project&lt;br /&gt;
|Name=64x16 Dot Matrix LED Display&lt;br /&gt;
|Skills=Arduino, Electronics, Knowledge sharing, Link gathering,&lt;br /&gt;
|Status=Active&lt;br /&gt;
|Purpose=Electronics, fun, world domination&lt;br /&gt;
|Picture=64x16-dot-matrix-display.jpg&lt;br /&gt;
|Tool=No&lt;br /&gt;
|Location=Bij appy en Nox thuis aan de muur&lt;br /&gt;
|Cost=~$15&lt;br /&gt;
}}&lt;br /&gt;
[[File:Chinaunitdisplay.jpg|thumbnail|right|The AliExpress advert]]&lt;br /&gt;
== Story so far ==&lt;br /&gt;
So I bought this 64x16 display from AliExpress: https://www.aliexpress.com/item/P3-75-dot-matrix-led-module-3-75mm-high-clear-top1-for-text-display-304-60mm/32616683948.html&lt;br /&gt;
&lt;br /&gt;
The problem was when one of us was streaming, there was no indication for the significant other in the house.&lt;br /&gt;
Walking trough the camera view nude or screaming something obscene was a serious risk, so the idea was to get an &amp;#039;ON AIR&amp;#039; sign.&lt;br /&gt;
&lt;br /&gt;
After checking out various boring &amp;#039;ON AIR&amp;#039; signs, I decided I&amp;#039;d rather have this fancy matrix and make it multi-purpose.&lt;br /&gt;
It came in this morning and half a hour later I managed to have scrolling text on it with a modified version of this guy&amp;#039;s code:&lt;br /&gt;
https://www.instructables.com/id/64x16-RED-LED-Marquee/&lt;br /&gt;
&lt;br /&gt;
Anyhow, this works - but I wanted also just non-scrolling text, an outline border and some other stuff - so I did some modifications and ended up with this for now (very not sorry, but this will mess up the layout of the wiki a bit perhaps):&lt;br /&gt;
&amp;lt;code&amp;gt;&lt;br /&gt;
  // Arduino 1.0.5 UNO R3&lt;br /&gt;
  #if (defined(__AVR__))&lt;br /&gt;
  #include &amp;lt;avr\pgmspace.h&amp;gt;&lt;br /&gt;
  #else&lt;br /&gt;
  #include &amp;lt;pgmspace.h&amp;gt;&lt;br /&gt;
  #endif&lt;br /&gt;
  &lt;br /&gt;
  // Connections to board&lt;br /&gt;
  const byte latchPin = 8;&lt;br /&gt;
  const byte clockPin = 12;&lt;br /&gt;
  const byte data_R1 = 10;&lt;br /&gt;
  const byte data_R2 = 11;&lt;br /&gt;
  const byte en_74138 = 2;&lt;br /&gt;
  const byte la_74138 = 3;&lt;br /&gt;
  const byte lb_74138 = 4;&lt;br /&gt;
  const byte lc_74138 = 5;&lt;br /&gt;
  const byte ld_74138 = 6;&lt;br /&gt;
  byte ScanRow = 0;&lt;br /&gt;
  unsigned long counter;&lt;br /&gt;
  &lt;br /&gt;
  byte buffer[128] = { // Display buffer (which is scanned by the interrupt timer) of 8x16 bytes  (nox-custom: added an outline border)&lt;br /&gt;
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,&lt;br /&gt;
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,&lt;br /&gt;
  };&lt;br /&gt;
  // ---------------------------------------------------------------------------------------------------&lt;br /&gt;
  // FONTS sourced from various locations on the internet&lt;br /&gt;
  // full ASCII character set (8x16) (1520 bytes)&lt;br /&gt;
  const uint8_t font8x16_basic[] PROGMEM = {&lt;br /&gt;
    /*   (32) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ! (33) */ 0x00, 0x00, 0x00, 0x18, 0x3C, 0x3C, 0x3C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* &amp;quot; (34) */ 0x00, 0x00, 0x66, 0x66, 0x66, 0x24, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* # (35) */ 0x00, 0x00, 0x00, 0x00, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x6C, 0xFE, 0x6C, 0x6C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* $ (36) */ 0x00, 0x18, 0x18, 0x7C, 0xC6, 0xC2, 0xC0, 0x7C, 0x06, 0x06, 0x86, 0xC6, 0x7C, 0x18, 0x18, 0x00,&lt;br /&gt;
    /* % (37) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0xC2, 0xC6, 0x0C, 0x18, 0x30, 0x60, 0xC6, 0x86, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* &amp;amp; (38) */ 0x00, 0x00, 0x00, 0x38, 0x6C, 0x6C, 0x38, 0x76, 0xDC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* &amp;#039; (39) */ 0x00, 0x00, 0x30, 0x30, 0x30, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ( (40) */ 0x00, 0x00, 0x00, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x18, 0x0C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ) (41) */ 0x00, 0x00, 0x00, 0x30, 0x18, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x18, 0x30, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* * (42) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x66, 0x3C, 0xFF, 0x3C, 0x66, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* + (43) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x7E, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* , (44) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x30, 0x00, 0x00,&lt;br /&gt;
    /* - (45) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* . (46) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* / (47) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 0 (48) */ 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC3, 0xC3, 0xDB, 0xDB, 0xC3, 0xC3, 0x66, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 1 (49) */ 0x00, 0x00, 0x00, 0x18, 0x38, 0x78, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x7E, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 2 (50) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x0C, 0x18, 0x30, 0x60, 0xC0, 0xC6, 0xFE, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 3 (51) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x06, 0x06, 0x3C, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 4 (52) */ 0x00, 0x00, 0x00, 0x0C, 0x1C, 0x3C, 0x6C, 0xCC, 0xFE, 0x0C, 0x0C, 0x0C, 0x1E, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 5 (53) */ 0x00, 0x00, 0x00, 0xFE, 0xC0, 0xC0, 0xC0, 0xFC, 0x06, 0x06, 0x06, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 6 (54) */ 0x00, 0x00, 0x00, 0x38, 0x60, 0xC0, 0xC0, 0xFC, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 7 (55) */ 0x00, 0x00, 0x00, 0xFE, 0xC6, 0x06, 0x06, 0x0C, 0x18, 0x30, 0x30, 0x30, 0x30, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 8 (56) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* 9 (57) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x06, 0x06, 0x0C, 0x78, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* : (58) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ; (59) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00, 0x18, 0x18, 0x30, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* &amp;lt; (60) */ 0x00, 0x00, 0x00, 0x00, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* = (61) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* &amp;gt; (62) */ 0x00, 0x00, 0x00, 0x00, 0x60, 0x30, 0x18, 0x0C, 0x06, 0x0C, 0x18, 0x30, 0x60, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ? (63) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x0C, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* @ (64) */ 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xDE, 0xDE, 0xDE, 0xDC, 0xC0, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* A (65) */ 0x00, 0x00, 0x00, 0x10, 0x38, 0x6C, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* B (66) */ 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x66, 0x66, 0x66, 0x66, 0xFC, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* C (67) */ 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xC0, 0xC0, 0xC2, 0x66, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* D (68) */ 0x00, 0x00, 0x00, 0xF8, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x6C, 0xF8, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* E (69) */ 0x00, 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* F (70) */ 0x00, 0x00, 0x00, 0xFE, 0x66, 0x62, 0x68, 0x78, 0x68, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* G (71) */ 0x00, 0x00, 0x00, 0x3C, 0x66, 0xC2, 0xC0, 0xC0, 0xDE, 0xC6, 0xC6, 0x66, 0x3A, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* H (72) */ 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* I (73) */ 0x00, 0x00, 0x00, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* J (74) */ 0x00, 0x00, 0x00, 0x1E, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0xCC, 0xCC, 0xCC, 0x78, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* K (75) */ 0x00, 0x00, 0x00, 0xE6, 0x66, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* L (76) */ 0x00, 0x00, 0x00, 0xF0, 0x60, 0x60, 0x60, 0x60, 0x60, 0x60, 0x62, 0x66, 0xFE, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* M (77) */ 0x00, 0x00, 0x00, 0xC3, 0xE7, 0xFF, 0xFF, 0xDB, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* N (78) */ 0x00, 0x00, 0x00, 0xC6, 0xE6, 0xF6, 0xFE, 0xDE, 0xCE, 0xC6, 0xC6, 0xC6, 0xC6, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* O (79) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* P (80) */ 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* Q (81) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xD6, 0xDE, 0x7C, 0x0C, 0x0E, 0x00,&lt;br /&gt;
    /* R (82) */ 0x00, 0x00, 0x00, 0xFC, 0x66, 0x66, 0x66, 0x7C, 0x6C, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* S (83) */ 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0x60, 0x38, 0x0C, 0x06, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* T (84) */ 0x00, 0x00, 0x00, 0xFF, 0xDB, 0x99, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* U (85) */ 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* V (86) */ 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* W (87) */ 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0xC3, 0xDB, 0xDB, 0xFF, 0x66, 0x66, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* X (88) */ 0x00, 0x00, 0x00, 0xC3, 0xC3, 0x66, 0x3C, 0x18, 0x18, 0x3C, 0x66, 0xC3, 0xC3, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* Y (89) */ 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0x66, 0x3C, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* Z (90) */ 0x00, 0x00, 0x00, 0xFF, 0xC3, 0x86, 0x0C, 0x18, 0x30, 0x60, 0xC1, 0xC3, 0xFF, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* [ (91) */ 0x00, 0x00, 0x00, 0x3C, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* \ (92) */ 0x00, 0x00, 0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0x06, 0x02, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ] (93) */ 0x00, 0x00, 0x00, 0x3C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ^ (94) */ 0x00, 0x10, 0x38, 0x6C, 0xC6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* _ (95) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00,&lt;br /&gt;
    /* ` (96) */ 0x00, 0x30, 0x30, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* a (97) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x78, 0x0C, 0x7C, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* b (98) */ 0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x78, 0x6C, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* c (99) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC0, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* d (100) */ 0x00, 0x00, 0x00, 0x1C, 0x0C, 0x0C, 0x3C, 0x6C, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* e (101) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xFE, 0xC0, 0xC0, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* f (102) */ 0x00, 0x00, 0x00, 0x38, 0x6C, 0x64, 0x60, 0xF0, 0x60, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* g (103) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0xCC, 0x78,&lt;br /&gt;
    /* h (104) */ 0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x6C, 0x76, 0x66, 0x66, 0x66, 0x66, 0xE6, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* i (105) */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* j (106) */ 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x0E, 0x06, 0x06, 0x06, 0x06, 0x06, 0x06, 0x66, 0x66, 0x3C,&lt;br /&gt;
    /* k (107) */ 0x00, 0x00, 0x00, 0xE0, 0x60, 0x60, 0x66, 0x6C, 0x78, 0x78, 0x6C, 0x66, 0xE6, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* l (108) */ 0x00, 0x00, 0x00, 0x38, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x18, 0x3C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* m (109) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE6, 0xFF, 0xDB, 0xDB, 0xDB, 0xDB, 0xDB, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* n (110) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* o (111) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* p (112) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x66, 0x66, 0x66, 0x66, 0x66, 0x7C, 0x60, 0x60, 0xF0,&lt;br /&gt;
    /* q (113) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x76, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x7C, 0x0C, 0x0C, 0x1E,&lt;br /&gt;
    /* r (114) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xDC, 0x76, 0x66, 0x60, 0x60, 0x60, 0xF0, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* s (115) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0xC6, 0x60, 0x38, 0x0C, 0xC6, 0x7C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* t (116) */ 0x00, 0x00, 0x00, 0x10, 0x30, 0x30, 0xFC, 0x30, 0x30, 0x30, 0x30, 0x36, 0x1C, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* u (117) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0xCC, 0x76, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* v (118) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xC3, 0x66, 0x3C, 0x18, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* w (119) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0xC3, 0xC3, 0xDB, 0xDB, 0xFF, 0x66, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* x (120) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC3, 0x66, 0x3C, 0x18, 0x3C, 0x66, 0xC3, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* y (121) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x7E, 0x06, 0x0C, 0xF8,&lt;br /&gt;
    /* z (122) */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFE, 0xCC, 0x18, 0x30, 0x60, 0xC6, 0xFE, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* { (123) */ 0x00, 0x00, 0x00, 0x0E, 0x18, 0x18, 0x18, 0x70, 0x18, 0x18, 0x18, 0x18, 0x0E, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* | (124) */ 0x00, 0x00, 0x00, 0x18, 0x18, 0x18, 0x18, 0x00, 0x18, 0x18, 0x18, 0x18, 0x18, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* } (125) */ 0x00, 0x00, 0x00, 0x70, 0x18, 0x18, 0x18, 0x0E, 0x18, 0x18, 0x18, 0x18, 0x70, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* ~ (126) */ 0x00, 0x00, 0x00, 0x76, 0xDC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,&lt;br /&gt;
    /* BLK(127)*/ 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,&lt;br /&gt;
  };&lt;br /&gt;
  // Routine to print a single character in one of 8 columns&lt;br /&gt;
  // Inputs:&lt;br /&gt;
  // x is one of (0,16,24,32,40,48,56),&lt;br /&gt;
  // y (0 to 16 or 24 depending upon font size),&lt;br /&gt;
  // n is either (0 to 9) or an ascii value,&lt;br /&gt;
  // font=0 for big font, 2 for small font,&lt;br /&gt;
  // inverse is true for an inverted character&lt;br /&gt;
  void drawChar(uint16_t x, uint16_t y, byte n, byte font, boolean inverse) {&lt;br /&gt;
    byte charbytes[16], fontrows, xover8 = x &amp;gt;&amp;gt; 3;&lt;br /&gt;
    int index;&lt;br /&gt;
    if (0 != (x % 8)) return;    // x not a multiple of 8&lt;br /&gt;
    if ((n &amp;gt; 9) &amp;amp;&amp;amp; (n &amp;lt; 32)) return; // invalid character&lt;br /&gt;
    if (font == 0) fontrows = 16; else fontrows = 8;&lt;br /&gt;
    if ((n &amp;gt;= 0) &amp;amp;&amp;amp; (n &amp;lt;= 9)) index = (n + 16) * fontrows; else index = (n - 32) * fontrows; // go to the right code for this character&lt;br /&gt;
  &lt;br /&gt;
    // addressing start at buffer and add y (rows) * (WIDTH is 64 so WIDTH/8) is 8 plus (x / 8) is 0 to 7&lt;br /&gt;
    byte *pDst = buffer + (y &amp;lt;&amp;lt; 3) + xover8;&lt;br /&gt;
    for (byte i = 0; i &amp;lt; fontrows; i++) { // fill up the charbytes array with the right bits&lt;br /&gt;
      if (font == 0) charbytes[i] = pgm_read_byte(&amp;amp;(font8x16_basic[index + i]));&lt;br /&gt;
      // reverse bit order for fonts 0 and 1&lt;br /&gt;
      if (font != 0) {&lt;br /&gt;
        charbytes[i] = (charbytes[i] &amp;amp; 0xF0) &amp;gt;&amp;gt; 4 | (charbytes[i] &amp;amp; 0x0F) &amp;lt;&amp;lt; 4;&lt;br /&gt;
        charbytes[i] = (charbytes[i] &amp;amp; 0xCC) &amp;gt;&amp;gt; 2 | (charbytes[i] &amp;amp; 0x33) &amp;lt;&amp;lt; 2;&lt;br /&gt;
        charbytes[i] = (charbytes[i] &amp;amp; 0xAA) &amp;gt;&amp;gt; 1 | (charbytes[i] &amp;amp; 0x55) &amp;lt;&amp;lt; 1;&lt;br /&gt;
      };&lt;br /&gt;
      if (inverse) charbytes[i] = ~charbytes[i];&lt;br /&gt;
    };&lt;br /&gt;
    const byte *pSrc = charbytes; // point at the first set of 8 pixels&lt;br /&gt;
    for (byte i = 0; i &amp;lt; fontrows; i++) {&lt;br /&gt;
  &lt;br /&gt;
      *pDst |= *pSrc;  //nox-custom: OR added to draw OVER buffer instead of replace&lt;br /&gt;
  &lt;br /&gt;
      //nox-custom: add a line above and below chars&lt;br /&gt;
      //if ( i == 1 || i == 14) {&lt;br /&gt;
      //  *pDst = byte(0xFF);&lt;br /&gt;
      //} //end nox-custom&lt;br /&gt;
  &lt;br /&gt;
      pDst += 8;         // go to next row on buffer&lt;br /&gt;
      pSrc++;            // go to next set of 8 pixels in character&lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  void moveLeft(byte pixels, byte rowstart, byte rowstop) { // routine to move certain rows on the screen &amp;quot;pixels&amp;quot; pixels to the left&lt;br /&gt;
    byte row, column;&lt;br /&gt;
    short unsigned int address;&lt;br /&gt;
    for (column = 0; column &amp;lt; 8; column++) {&lt;br /&gt;
      for (row = rowstart; row &amp;lt; rowstop; row++) {&lt;br /&gt;
        address = (row &amp;lt;&amp;lt; 3) + column; /// right here!&lt;br /&gt;
        if (column == 7)&lt;br /&gt;
          buffer[address] = buffer[address] &amp;lt;&amp;lt; pixels; // shuffle pixels left on last column and fill with a blank&lt;br /&gt;
        else {                // shuffle pixels left and add leftmost pixels from next column&lt;br /&gt;
          byte incomingchar = buffer[address + 1];&lt;br /&gt;
          buffer[address] = buffer[address] &amp;lt;&amp;lt; pixels;&lt;br /&gt;
          for (byte x = 0; x &amp;lt; pixels; x++) {&lt;br /&gt;
            buffer[address] += ((incomingchar &amp;amp; (128 &amp;gt;&amp;gt; x)) &amp;gt;&amp;gt; (7 - x)) &amp;lt;&amp;lt; (pixels - x - 1);&lt;br /&gt;
          };&lt;br /&gt;
        }&lt;br /&gt;
      }&lt;br /&gt;
    }&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  &lt;br /&gt;
  void shiftOut(byte row) { // fast routine to shove out 8 columns into two rows via board&amp;#039;s shift registers&lt;br /&gt;
    for (byte column = 0; column &amp;lt; 8; column++) {&lt;br /&gt;
      byte index = column + (row &amp;lt;&amp;lt; 3);&lt;br /&gt;
      for (byte i = 0; i &amp;lt; 8; i++) {&lt;br /&gt;
        PORTB &amp;amp;= ~(3 &amp;lt;&amp;lt; (data_R1 - 8));                            // data_R2 is LOW; data_R1 is LOW;&lt;br /&gt;
        PORTB &amp;amp;= ~(1 &amp;lt;&amp;lt; (clockPin - 8));                           // digitalWrite(clockPin,LOW);&lt;br /&gt;
        PORTB |= !((buffer[index] &amp;gt;&amp;gt; (7 - i)) &amp;amp; 0x01) &amp;lt;&amp;lt; (data_R1 - 8); // top set of rows&lt;br /&gt;
        PORTB |= !((buffer[index + 128] &amp;gt;&amp;gt; (7 - i)) &amp;amp; 0x01) &amp;lt;&amp;lt; (data_R2 - 8); // bottom set of rows&lt;br /&gt;
        PORTB |= 1 &amp;lt;&amp;lt; (clockPin - 8);                              // digitalWrite(clockPin,HIGH);&lt;br /&gt;
      };&lt;br /&gt;
    };&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  ISR(TIMER2_COMPA_vect) {&lt;br /&gt;
    cli();&lt;br /&gt;
    digitalWrite(en_74138, HIGH);     // Turn off display&lt;br /&gt;
    shiftOut(ScanRow);                // Shift out 8 columns&lt;br /&gt;
    digitalWrite(latchPin, LOW);&lt;br /&gt;
    digitalWrite(latchPin, HIGH);&lt;br /&gt;
    PORTD = (ScanRow &amp;lt;&amp;lt; 3) | (PORTD &amp;amp; 0X87); // Highlight row: pins 3 4 5 6 (la_74138 lb_74138 lc_74138 ld_74138)&lt;br /&gt;
    digitalWrite(en_74138, LOW);     // Turn on display&lt;br /&gt;
    ScanRow++;                       // Do the next pair of rows next time this routine is called&lt;br /&gt;
    if (ScanRow == 16) ScanRow = 0;&lt;br /&gt;
    sei();&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  void setup() {&lt;br /&gt;
  &lt;br /&gt;
    // Set up Timer2 as the scanning interrupt timer&lt;br /&gt;
    cli(); // clear interrupts&lt;br /&gt;
    TCCR2A = 0; TCCR2B = 0; TCNT2  = 0;&lt;br /&gt;
    TCCR2B |= (1 &amp;lt;&amp;lt; CS12) | (1 &amp;lt;&amp;lt; CS10);     // Set 1024 prescaler&lt;br /&gt;
    // 160Hz scan rate = 10 frames/second (16 pairs of rows)&lt;br /&gt;
    OCR2A = 97;  // 97 = (16,000,000 / (1024*160)) - 1&lt;br /&gt;
    TCCR2A |= (1 &amp;lt;&amp;lt; WGM21); TIMSK2 |= (1 &amp;lt;&amp;lt; OCIE2A);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(latchPin, OUTPUT);  pinMode(clockPin, OUTPUT);&lt;br /&gt;
    pinMode(data_R1, OUTPUT);   pinMode(data_R2, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    pinMode(en_74138, OUTPUT);&lt;br /&gt;
    pinMode(la_74138, OUTPUT);  pinMode(lb_74138, OUTPUT);&lt;br /&gt;
    pinMode(lc_74138, OUTPUT);  pinMode(ld_74138, OUTPUT);&lt;br /&gt;
  &lt;br /&gt;
    digitalWrite(en_74138, LOW);&lt;br /&gt;
    digitalWrite(data_R1, HIGH); digitalWrite(data_R2, HIGH);&lt;br /&gt;
    counter = millis();&lt;br /&gt;
    sei(); //allow interrupts&lt;br /&gt;
  &lt;br /&gt;
    //nox-custom: draw &amp;quot; ON AIR &amp;quot;&lt;br /&gt;
    drawChar(0, 0, char(&amp;#039; &amp;#039;), 0, false);&lt;br /&gt;
    drawChar(8, 0, char(&amp;#039;O&amp;#039;), 0, false);&lt;br /&gt;
    drawChar(16, 0, char(&amp;#039;N&amp;#039;), 0, false);&lt;br /&gt;
    drawChar(24, 0, char(&amp;#039; &amp;#039;), 0, false);&lt;br /&gt;
    drawChar(32, 0, char(&amp;#039;A&amp;#039;), 0, false);&lt;br /&gt;
    drawChar(40, 0, char(&amp;#039;I&amp;#039;), 0, false);&lt;br /&gt;
    drawChar(48, 0, char(&amp;#039;R&amp;#039;), 0, false);&lt;br /&gt;
    drawChar(56, 0, char(&amp;#039; &amp;#039;), 0, false);&lt;br /&gt;
    //end nox-custom&lt;br /&gt;
  &lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
  void loop() {&lt;br /&gt;
    /*&lt;br /&gt;
      //Insert message here (&amp;quot;message &amp;quot;)&lt;br /&gt;
      const char message[] = &amp;quot;This is a test by NoxiousPluK         &amp;quot;;&lt;br /&gt;
      static int count = 0;&lt;br /&gt;
  &lt;br /&gt;
      //display next character of message&lt;br /&gt;
      drawChar(56,0,message[count%(sizeof(message)-1)],0,false);&lt;br /&gt;
      count = (count + 1);&lt;br /&gt;
  &lt;br /&gt;
      //move the text 8 pixels to the left&lt;br /&gt;
      for (byte i=0; i&amp;lt;4; i++) {&lt;br /&gt;
      delay(80);&lt;br /&gt;
      moveLeft(2,1,32);&lt;br /&gt;
      };&lt;br /&gt;
    */&lt;br /&gt;
  };&lt;br /&gt;
  &lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Works pretty well for my goals so far, and more to come!&lt;br /&gt;
&lt;br /&gt;
I&amp;#039;ve identified some of the chips on the back, but they&amp;#039;re mainly shift registers and some mosfets. Not extremely interesting.&lt;br /&gt;
&lt;br /&gt;
== Ideas and goals ==&lt;br /&gt;
I want to make it wireless using an ESP8266 or something alike, and run a simple API for my needs. I also want to use it as a pizza countdown timer for example.&lt;/div&gt;</summary>
		<author><name>Noxiouspluk</name></author>
	</entry>
</feed>