This is my attempt at driving the 595 shift register with an ESP8266.
I am using NodeMCU 0.9.5 build 20150318 powered by Lua 5.1.4 on ESPlora v0.2.0-rc2, which is standard stuff. Included are 2 examples of LUA code. Both programs are the same except there is an extra line needed in the dual program. The GPIO pins on the ESP8266 are set for SPI mode.
Step 1: ESP8266 Driving Single 595 With 8 LEDS
This is how to drive a 595 from an ESP8266. I am using an ESP12 to do this, but any with more than 3 I/Os will do the job. This set up works at 3.3 volts. I am using SN74HC595N ICs, don't know if it will work with other 595s.
Included is a circuit diagram of how to connect everything together. I am assuming you know how to connect up your ESP8266 and load code into it.
This is an image of my 595 set up (also works with the Arduino).
Some simple LUA code shows the basics.
Step 2: ESP8266 Driving Dual 595s With 8 X 8 Matrix
This is my dual 595 set up with an 8x8 Matrix.
The program is exactly the same as the single except that you need to load in 16 bits of data instead of 8.
This line goes to the 2nd 595.
Change the zero to any value between 0 and 255 to see result.
Changing the zero to any value between 0 and 255 gives different lines on the matrix. You can also alter the data in the programs to display different sequences.
This line goes to the 1st 595
I have included a circuit diagram for this but there are plenty of examples for the Arduino out there. My board works with the Arduino as well as the ESP8266.