The reliable Original Prusa MK4S is now available in discounted bundles with the MMU3 and Enclosure. Grab yours today!

MAZE RUNNER inspired LED matrix clock (16x16)

MAZE RUNNER inspired LED 16x16 matrix clock with 256 NeoPixel LEDs
10h 14m
4× print file
0.30 mm
0.40 mm
189.00 g
88
464
9
3246
updated December 17, 2023

Description

PDF

MAZE RUNNER inspired LED 16x16 matrix clock with 256 NeoPixel LEDs

 


Features:

  • 16x16 matrix clock that you cannot read directly without knowing where you have to look. Some people i showed it had a really hard time to see it and some gave up trying it… :-P
  • The background is randomly generated in RGB colors every new hour
  • The digits of the clock seem to disappear in the background if you do not set a strong color for the numbers
  • Every minute after 30 seconds a little “maze runner” runs over the numbers and tries to escape ;)
  • A night mode option is available in the settings to turn off the clock at night time
  • The clock uses an ESP8266 that drives the 256 LEDs well
  • The time is read from an NTP server on the internet. You can set the NTP server and time zone that fits your time
  • The color of the maze runner, time digits and letters can be set in the settings 
  • In general the code is capable of showing letters too on the 4 digit segments. The clock uses this during the startup phase to show f.e. the connection status to your WiFi and a logo
  • During startup the text “WIFI" is shown in red until the clock is connected and switches to green color then 
  • You can join your WiFi network with the know “WifiManager” for Arduino. See notes below
  • In case the clock can not reach the set time server a red text “TIME” is shown and the ESP will reboot to try again
  • The case can be placed on a desk or on your wall
     

Needed parts:

 

Wiring the parts:

D1 mini pin:LED matrix pin:Color:
5V+5Vred
GGNDwhite
D2DINgreen

 

Uploading the code and changes needed:

  • Use the Arduino IDE to upload the code to the D1 mini. Follow f.e. this guide to see how
  • You will need 3 additional libraries: “Adafruit Neopixel’, “WiFiManager” and “TimeLib” which you need to add in the Arduino IDE library manager 

In the code you should check the settings of the sketch in the file “settings.h”:

//####################################################################################################################################################// Adjust program settings here:// ##############################define BRIGHTNESS      128     // Brightness between 0 - 255 (128 was close to the limit for my USB port power outlet... Do not set this to high on your PC USB port...)#define BRIGHTNESS_OFF  0       // Brightness between 0 - 255 when using night mode is used#define NIGHTMODE_USED  1       // Turns Night Mode on (1) or off (0) after the set times below:int NIGHTMODE_START = 22;       // Night Mode Start time: At the default 22 o'clock (value 22) the brigtness will be set to the value BRIGHTNESS_OFF = 0int NIGHTMODE_END   = 7;        // Night Mode End time:   At the default  7 o'clock (value 7), the brigtness will be set to the value BRIGHTNESS = 128#define RESETWIFI       0       // To DELETE the WiFi settings set to "1" and upload the sketch to the ESP. Set to "0" again and upload once more#define SHOWSTARTTEXTS  1       // Show (1) or do not show (0) the "AWSW" "MAZE" "CLOCK" text at startup// Color of the MAZE numbers:#define COL_MAZE_NUMBER   COL_MAZE_CYAN   // Color value of the MAZE numbers (RGB = Red, Green, Blue)  --> 0, 255, 128 is CYAN = COL_MAZE_CYAN#define COL_MAZE_RUNNER   COL_MAZE_RED  // Color value of the MAZE numbers (RGB = Red, Green, Blue)    --> 255, 0, 0 is RED    = COL_MAZE_RED// Available colors as variable: // COL_MAZE_RED      = Color RED// COL_MAZE_GREEN    = Color GREEN// COL_MAZE_BLUE     = Color BLUE// COL_MAZE_YELLOW   = Color YELLOW// COL_MAZE_CYAN     = Color CYAN// COL_MAZE_OFF      = Set LEDs OFF// Some functions for testing:// ############################define USELEDTEST      0       // Show the RGB LED test on startup#define USELETTERTEST   0       // Show the digits letter and runner test on startup#define TIMEDATESERIAL  0       // Show current time and date in serial monitor//####################################################################################################################################################// LED matrix settings:// ####################define PIN           D2      // D1 mini LED output pin#define NUMPIXELS     256     // Number of pixels on the LED matrixAdafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800);//####################################################################################################################################################// Adjust time settings here only:// ###############################// NTP Servers:static const char ntpServerName[] = "us.pool.ntp.org";//static const char ntpServerName[] = "time.nist.gov";//static const char ntpServerName[] = "time-a.timefreq.bldrdoc.gov";//static const char ntpServerName[] = "time-b.timefreq.bldrdoc.gov";//static const char ntpServerName[] = "time-c.timefreq.bldrdoc.gov";const int timeZone = +2;    // Central European Time//const int timeZone = -5;  // Eastern Standard Time (USA)//const int timeZone = -4;  // Eastern Daylight Time (USA)//const int timeZone = -8;  // Pacific Standard Time (USA)//const int timeZone = -7;  // Pacific Daylight Time (USA)//####################################################################################################################################################

 

Code:

The code can be found in my GitHub repository.

 

Printing instructions:

  • 0.3 draft profile used on the textured sheet
  • Supports for the “Matrix Holder" part from the bed used
  • No brim 
  • No special settings

 

Assembly of the clock:

  • During printing you will have enough time to wire the parts and upload the code
  • The 159x159mm piece of paper should fit very well on the 160x160mm “matrix” part
  • Please make sure that the piece of paper lays really flat on the matrix part and does not bend because this will disturb the look. I used a little bit of glue stick to fix it on the matrix part
  • Push the matrix part with the paper in front into the “front” part. Please be careful not to press on the paper on the front to prevent ugly dents in the paper
  • On the back of the matrix part with the little cutouts the 16x16 LED matrix is placed flat
  • After that the 16x16 LED matrix is held in place with the “matrix holder” part. This part will click in place in the front with the little notches
  • For wiring see the table in the text and have a look in the pictures please. I used the cables that came with the LED matrix
  • Slide the D1 mini to its new home in the “matrix holder” part 
  • Plug the micro USB cable first through the “lid” part and then into the D1 mini
  • Secure the USB cable in place with the cable tie
  • Turn on the clock and check the orientation of the 16x16 pixel matrix
  • Depending on the orientation of matrix click the “lid” part on the back of the “front” part and close the case. The wall hook should face to the top of the back ;)
  • Press the 4 little “foot” parts in the back of the lid to gain some space to your wall to hang the clock straight with the USB cable coming out of the back too
  • See pictures please
     

First start of the clock:

  1. Plug the other side of the USB cable into the power supply
  2. After a second you should see the LEDs come to work
  3. The clock uses the ESP8266 "WiFi Manager" to be able to connect to your WiFi without saving your WiFi credentials in the code directly
  4. After the clock logo was shown it will show “WIFI” in red color and waits for your input
  5. On your PC, tablet or smartphone please have a look into the WiFi list of your device and search and connect to the WiFi called "MAZE LED CLOCK". No password is required to connect to it. 
  6. In case your device does not automatically open the browser with the WiFi Manager page please open your browser now and navigate to "http://192.168.4.1" to set the Wifi credentials.
  7. From there on the WiFi configuration should be straight forward.
  8. After saving the credentials the ESP will join your usual WiFi network and displays the time on the LEDs. Setup is finished then. The temporary Wifi "MAZE LED CLOCK" is removed.
  9. In case you entered your WiFi credentials not correctly the ESP will restart and open the temporary WiFi called "MAZE LED CLOCK" again to correct the values. You might need to navigate to the page "http://192.168.4.1" manually again.
  10. Enjoy :)


Happy printing :)

Tags



Model origin

The author marked this model as their own original creation.

License