Evolution of a Blog

This blog has evolved as I have as a maker. It starts at the beginning of my journey where I began to re-tread my tires in the useful lore of micro electronics and the open-source software that can drive them. While building solutions around micro-electronics are still an occasional topic my more recent focus has been on the 3D Printing side of making.

Saturday, October 14, 2017

NanoDlp and the topic of Masks - Part 5 - Another Meter

One last meter!  This is probably the one that I should have done in the first place but it only took today to do it while I am still perfecting the bigger one!  Lot more fun that one but this one is probably a lot more practical.

It consists of a 3D Printed case, an Arduino Nano, a Photoresistor, a 10K resistor, and a couple of wires.  Uses a mini-USB cable for communication back to either a terminal program or the Arduino IDE running on a PC or laptop.  Power is provided by the USB cable.

Its output is a continuous stream of readings that represent an average light level across the past second.  Each reading includes a quality (based on stability of the reading) metric where 0-1.5 is good, 1.5-3.0 is less good, 3.0 to 6.0 is bad, 6.0 to 10.0 is real bad, and over 10.0 is just plain crap.

Meter is designed to be used with a printed grid which ensures good positioning.

Positioning is very important and sensor needs to be flush to the screen.

Sample output shows the readings with their quality.
Here is the code for the Arduino
Here are the files for the Case

Note that there are two versions of the case, the one shown above, and the one shown below.  The one above uses a 3D printed grid for alignment and the one below is designed to be positioned on the screen directly aiming for the calibration squares displayed by NanoDlp.

Assembly Instructions

Parts Needed: 3D printed case with rest button, some shrink wrap tubing, photoresistor (GL5528) and normal 10k resistor, three female patch cables, and an Arduino Nano. 
This is how they need to be connected.  Black will plug into the ground pin, Orange to 5v, and Yellow to analog pin 5. 

Finished and connected to the Arduino Nano. 

Bottom view with everything  in the case.

Top view.  The button allows you to reset the Nano.  This can serve as a marker if you are using the meter to measure a matrix of cells. The USB connector is not shown but is on the left end of the case.  The pins shown are for ICSP programming of the Nano (so you probably don't need to care)!
Left end of the case showing access to the USB connector.


  1. Looking at your setup and build it should work but the choice of LDR is kinda the issue as it doesnt have peek wavelength in the UV spectra where you want to read the intensity, its more close to Red 540nm. Changing to a UV sensitive one with the Peek wavelength inside that range would most likely produce a more precise reading.

    1. My other meter can use a UV specific sensor and I have take readings using one. They pretty much correlate with the LDR readings which I suspect is due to 405nm being so close to the visible light part of the spectrum. My algorithms, or attempt thereof, worked no better in terms of creating a good mask!