Light Meter (Feather + VEML7700)
We calculate the final price from your selected file. You review and accept it before payment.
Saved on this device.
Inspired by FOLDED BINARIES's Trinket-based meter.
- Rating
- 5 / 5
- Likes
- 16
- Downloads
- 57
- Makes
- 1
- Views
- 1,022
- Reviews
- 1
Updated at source:
Model information
- Source
- Printables
- Category
- Photo & Video
- License
- Creative Commons — Attribution — Noncommercial — Share Alike
Inspired by: https://inevitablecraftslab.wordpress.com/2020/06/06/veml7700-photographic-lightmeter/
Dis/Assembly Video
Why would you make this?
If you have old manual SLR or TLR cameras with no built-in light meter (or a non-functional selenium meter), this might be a fun project for you.
This meter was designed to be top or side-mounted. I use it on my Goodman Zone, Ligero69 and Yashica LM cameras.
How to Use
Plug in a power source (battery or USB). If you plug in both, the battery will begin charging.
- The light meter defaults to Av (aperture priority) mode and ISO 100. Pressing the + or the - buttons will change which aperture you're metering for. The recommended shutter speed will change in response to measured lux.
- Press both + and - buttons at the same time to turn the screen off (all pixels black). Press + and - at the same time again to turn the screen back on.
- Press the > button to change display mode to raw EV and measured lux. Press the > button again to return to the normal display.
- Press and hold the > button to enter the main menu.
- Press and hold the MODE button to enter the mode menu. You can swap between aperture priority and shutter priority. Press and hold the EXIT button to go back to the main menu.
- Press and hold the ISO button to enter the ISO menu. You can change the meter's assumption of your film rating from the default 100 to whatever you are actually using. This changes the calculated EV. Press and hold the EXIT button to go back to the main menu.
- Press and hold the EXIT button to go back to the normal display.
Parts List
| Part | Quantity |
|---|---|
| M2.5 Nut | 8 |
| 8mm M2.5 Screw | 4 |
| 18mm or 20mm M2.5 Screw | 4 |
| Adafruit VEML7700 Sensor | 1 |
| Adafruit Feather RP2040 | 1 |
| Adafruit FeatherWing OLED 128x64 | 1 |
| Lithium Battery | 1 |
| 50mm STEMMA QT 4-pin Cable | 1 |
| ¼"-20 Cold Shoe Adapter | 1 |
I chose to use the Adafruit Feather RP2040 board instead of something smaller because it was compatible with the Adafruit FeatherWing OLED 128x64, has a USB Type-C port and has built-in charging/discharging for lithium batteries.
The VEML7700 sensor is capable of metering even in the brightest natural light, though sometimes struggles with near-total darkness.
This project's through-holes will be a tight fit for most M2.5 screws. This is intentional.
You will need a soldering iron to complete this project.
Printing Tips
Print Orientation
Print the Top part with the front (face) on the build plate. Print the Middle part with the screw holes touching the build plate. Print the Bottom part with the threaded hole facing the build plate. Print the Sensor Cover part with the flat top touching the build plate. Print three Button parts (or more, just in case), orientation should be obvious.
In case you are confused by these instructions, I have attached a gcode file with correct part orientations.
Recommended Materials
I would recommend printing these parts out of PETG, ABS or ASA. All the prototypes were printed in PETG. ASA resists fading in UV light, so it might actually be the best choice in the long run.
Whatever material you choose, do not use transparent filament.
Aesthetics
I recommend printing the Button parts in a different color filament than the body pieces. Matching the Middle part and the Button parts looks really nice. Ice cream sandwiches, anyone? ;)
Technical Notes
Device Lockups
Try not to leave a battery attached to drain down. The OLED screen can be affected by burn-in and the code isn't designed to enter a low-power sleep state, so it'll probably just lock up until the battery and any other power source is removed.
There is a reset button present on the FeatherWing board, but I've hidden it in this version. Pulling the battery or USB power typically is all you need to do if the device locks up.
CircuitPython Code
The project's code is attached to this page along with all required libraries. After you flash your Feather RP2040 board into booting CircuitPython, copy the content of the zip file onto the device. It should automatically reboot and start working, provided everything is wired and soldered correctly.