Here are my Arduino Sketches. 


They are included in ZIP files.  Click on any of them to download and unzip.

1. Functional web page and file server.  It serves pages and files from an SD card on the Wiznet shield.  This code is limited to FAT16 or FAT32 and 8.3 filenames.  I hope to update it to LFN (Long FileNames) soon.  Currently running on a W5100.  It gets about 56KB throughput.  That's not great.  Remember modems.  That's the speed of the fastest modem in the old days.  Hoping for more speed and upgrading soon to W5500.  Will update after that test has been done and throughput has been timed.  COME ON POSTMAN!!!

2. Fanciful clock which displays on any size NeoPixel ring.  Best is 60 WS2812s in a ring.  On the hour, it does a little light show.  There are currently 6 different light shows.

Note about displays.  For the easiest interfacing of my code to matrix displays, look for FC-16 modules on eBay.  They are all over and cost $10 or less per set of 4 in one package.  You can chain two of them together by soldering 5 connections from the output of one to the input of another.  See pictures, below, of 8 in a row.  That seems to be all the firmware in the MAX7219 allows for.  More on that if I find they can be longer.  With 8, you can still power it from the Arduino board but best to shut down the intensity to about 2 to keep the current under control.  It is still quite bright at intensity 2.

3. Display time and date on a 4 x 8 x 8 single-color LED matrix.  There is a library which replaces and is compatible the LedControlMS library.  This library adds a fuller set of characters including upper and lower case and most (or all) of the standard ASCII special characters.  I want to add some special graphics characters, soon.  The printable characters are called by putting their ASCII value either graphically or by number in a call to display it. 

There are two demo programs.  Both are for a group of 4 of the 8x8 LED matrices. 

One shows alternating time and date.  3 seconds for time, 2 seconds for date.  Look on the web for directions for connection of a clock (several variations depending on model) and the display.  The one I got uses 5 wires.  2 for power and 3 for data control.  See below for where I got another group of 4 and chained them together.  There are examples for date and time on a group of 8 and very fast scrolling. 

4x8x8 Date4x8x8 Time
The other program scrolls through the upper and lower case alphabet, numbers and special characters.

4. LOTS of fancy functions and expanded font with the LedControlMM8 version 1.0 library.  You will find many features that you will like and can use easily.  It is very fast on AVR processors (Uno, Mega, Nano, Micro).  Be sure to use an external power supply on anything smaller than an Uno or you will fry the regulator.  On Intensity=2 (still very bright) with all LEDs lit, it draws about 330ma.  This is fine for a Uno or Mega but too much for the smaller units.  Use an external supply and a smoothing capacitor near the power connection for the display to smooth out the jumps.  This library currently uses software SPI (bit banging) and is very fast.  It could be a little faster if it were constrained to PORTB or PORTD but currently supports both so has to decide where to bang the bits.  I expect I will try to transfer it to hardware SPI for speed and better compatibility.  Will see what version 2.0 brings, if anything...

Here are some displays from the All-Library Demo.

8x8x8 Time Display8x8x8 Special Characters1
8x8x8 Inverse characters8x8x8 Date
8x8x8 Arrows

5. Huuummmm... thinking...  let me know if you have any ideas for something fun.  In the works, an auto-driving car.  Waiting more research, an LCD touch screen showing GPS information.  That's way down the road, though.