Had a JeeNode Lux Plug on a breadboard for a couple of weeks now. Jumper wires sticking out all over. So it was in due time to mount it in a more permanent manner.
The Lux Plug is a small board containing a TSL2561 chip, which connects to the I²C bus and measures incident light levels.
Two sensors are included, one is sensitive to infrared. An algorithm is used to calculate the light levels in lux, by combining the readings from both sensor types. The total measurable dynamic range is 1 : 1,000,000.
Inspired by Mat Smith’s MQTT Lightswitch I started working on an MQTT Controller. I shamelessly ripped Mat’s idea in using the same 256×64 OLED and MQTT for the backend. But instead of using an Arduino Mega I opted for an ESP8266. Had a NodeMcu 1.0 in my parts bin and since it has the most pins available of all ESP chips and it’s easy to breadboard I started hacking away.
Mat has his code available on his GitHub but the u8glib library he is using hasn’t been ported to the ESP-8266 Arduino IDE at this time. So </shameless rip>..
The OLED uses an SSD1322 IC and fortunately, there is a working Adafruit GFX driver available for the ESP. This enabled me to build it all up on a breadboard and write some working code. Because the ESP8266 is somewhat limited in available I/O ports I need to really think about which direction I’m going regarding the user input. For now, I have converted an Arduino Pro Mini to 3.3v and connected it to a rotary encoder and a 12 port MPR121 Capacitive Sensor. It talks to the ESP8266 over a simple serial connection. The idea is to mount it all behind a printed plexiglass front panel hoping the MPR121 will work reliably through plexiglass.