← Back to Design & Engineering

LMKS V1 Light Meter

2025 · ESP32-C3 · Custom PCB · Enclosure

ESP32 custom PCB and case: integrated smart light meter shrunk to a compact 35×35mm footprint.

Background

For this project, I wanted to take the light meter I built in June 2025 and shrink it into a much smaller form factor. In KiCad I laid out a custom 2-layer PCB within a 35×35 mm footprint. An ESP32-C3 anchors the design with mostly SMD parts, including a BH1750 light sensor and SSD1306 OLED. I had to create custom footprints for several of the components to get the layout exactly right on such a small board.

Once the electronics were set, I used SolidWorks to design a case that fit the hardware. I focused on building custom physical toggles and specific attachments for the rotary encoder so that the moving parts would line up and interact correctly with the components on the PCB. The final result is a much more portable version of the original tool that maintains all the same functionality in a fraction of the size.

Technical architecture

The V1 stack pairs a compact custom PCB with a SolidWorks enclosure: SMD-first layout, BH1750 sensing, SSD1306 readout, and USB-C connectivity. Control combines a rotary encoder, tactile switches, and printed toggle extensions aligned to the board.

Core electronics

  • Microcontroller: ESP32-C3
  • Light sensor: BH1750 digital ambient light sensor
  • Display: SSD1306 0.91" monochromatic OLED
  • PCB: Custom 2-layer FR4
  • Connectivity: USB-C 16-pin

Control & interface

  • Rotary encoder: 1× incremental rotary encoder
  • Buttons: SMD tactile switches
  • Custom toggles: 3D printed mechanical toggle extensions

LMKS V2 roadmap

A planned LMKS V2 (May 2026) revision targets lower power and updated sensing: STM32L072x8, 350mAh LiPo, VEML7700 lux sensor, and an Alps navigation wheel.

  • MCU: STM32L072x8 (lower power consumption)
  • Battery: 350mAh LiPo
  • Light sensor: VEML7700 lux sensor
  • Navigation: Alps navigation wheel