I designed this some time ago out of necessity for testing another project. I needed something that could run for extended periods and accurately capture events. It's designed to be simple but extensible.
The hardware is bare-bones. Not much more than what's necessary to support power, communications and on-board temperature & light sensors. All remaining pins are exposed as analog or digital inputs. Two digital pins are exposed as outputs that are optionally controlled by analog events. They could drive a relay or other circuit to do work.
It does use a tuning fork crystal for accurate timekeeping although it hasn't been put thru temperature cycling so I can't attest to accuracy outside of room temps (I have used in 0C outdoor weather with no noticeable loss of accuracy).
In hindsight I've found the on-board light & temp sensors to be of little value. In typical room temperature conditions I've found that the logger's enclosure traps enough heat from the MCU & LDOs to influence the temperature by 3~4C. With stronger temperature gradients the effect is negligible. The light sensor is handy when the DUT responds to light but makes the logger's position crucial. For those deciding to build this you might consider repurposing these inputs.
While intended for slow moving data - changes on the scale of 100mS or longer - I have observed it keeping up with 40 digital events / second plus two active analog channels with no data loss.
Log entries detail the hardware, software, configuration, and operation.