Quantity   Component name
1 × ESP32 development board 38 pin dev board (e.g. https://www.amazon.ca/gp/product/B07QCP2451)
1 × SSD1306 128x64 pixel I2C OLED display Breakout board (e.g. https://www.amazon.ca/CANADUINO-OLED-Display-128x64-Pixel/dp/B0751LFCZT)
1 × 5V 6mm 650nm (red) diode laser https://www.amazon.ca/gp/product/B0833Z1WG4
1 × 5539 photoresistor These can be found with the diode lasers (https://www.amazon.ca/gp/product/B0833Z1WG4)
1 × 10k resistor
2 × 220 ohm resistor
2 × Momentary on SPDT push button
1 × TP4056 LiPo charging module https://www.amazon.ca/Charging-Lithium-Battery-Protection-Function/dp/B07WH2G47V
1 × Sliding power switch (S/D)PDT
1 × LiPo battery (800mAh+)
1 × AP2114 3.3V 1A LDO https://www.diodes.com/assets/Datasheets/AP2114.pdf. Note: the "H" package is pin-compatible with the AMS1117 (the "HA" package isn't)
2 × 60mm x 40mm perf board