diff --git a/README.md b/README.md index 9198f0b..b8f3a3b 100644 --- a/README.md +++ b/README.md @@ -6,6 +6,9 @@ The LEDs are WS2812-compatible bulb-shaped LEDs, and they are controlled by an E This is a work in progress (2nd half 2024) project; documentation will be updated as the project progresses. +![The finished map shown from the front](images/spaceapimap_front.jpg) +![The finished map shown from the back, showing the wiring](images/spaceapimap_back.jpg) + ## Contents of This Repository ### erfamap-output/ @@ -92,11 +95,38 @@ Usage: ## Components - WS2812-compatible 5mm bulb LEDs: https://de.aliexpress.com/item/1005005003701575.html + > :warning: **The vendor appears to sells LEDs with different pinouts as the same product!** + > + > I recommend you order the LEDs before you order the PCBs so that you can make changes to the PCB if you receive a different pinout. + > The PCB design in this repo assumes the following LED pin order (starting from the flat side): `Dout`, `GND`, `5V`, `Din`. - Black 5mm LED sockets: https://de.aliexpress.com/item/1005005062684329.html - ESP32-C3 Super Mini: https://de.aliexpress.com/item/1005006252882434.html - JST-ZH cables: https://de.aliexpress.com/item/1005007298855435.html (4P, Reversed) - I recommend you order a mix of 100mm, 200mm and 300mm cables, as you'll be facing a variety of distances, and having shorter cables available makes for much easier troubleshooting. - In my order, roughly 10% of the cables had a broken wire. Not sure whether I just got a bad batch, or whether they are just bad quality in general, but I recommend you keep that in mind when ordering. + - Don't rely on the order of colors in the product description. I've ordered different batches, and got differently color orders each time. + + +## Additional Features + +### Enter Config Mode on Reset + +- Solder a button or pin header between pins D5 and D6 on the ESP32-C3 Super Mini. + - These are the two pins closest to the USB port on the "unused" side of the ESP board. +- Press and hold the button or short the pin header with a jumper while you press the reset button. +- The ESP32 will now boot into WiFi config AP mode, where you can change the WiFi credentials and some additional parameters. + - If the configured WiFi can't be found, the ESP32 will automatically boot into config AP mode. + +### Automatic Brightness Adaption + +- You can plug a voltage divider with a photo resistor into the `IN` pin header on the PCB with the ESP32 on it, with the voltage divider's center tap connected to the `Din` pin. +- You can use this to both adapt the LED brightness to the ambient light, and to turn off the LEDs below a certain ambient light level. +- The thresholds can be configured via the web interface in config AP mode (see above). + - Note that the brightness sensor readings are reversed: High values correspond to darker ambient light levels. + +![Schematic of the voltage divider setup](images/brightness_sensor_schematic.png) +![Photo of a rather messy actual implementation](images/brightness_sensor.jpg) + ## License @@ -104,9 +134,9 @@ Unless otherwise noted, the contents of this repository are licensed under the M ### Public Domain Data -I consider the contents of `erfamap-output/` and `esp32/src/spacemap.h` to be in the public domain. +To the best of my knowledge, the contents of `erfamap-output/` and `esp32/src/spacemap.h` are not protectable by copyright and are therefore in the public domain. -If they are not, I license these under the Creative Commons [CC0 1.0][cc0] "No Rights Reserved" license. +In case I do have copyright claims on them, I license these under the Creative Commons [CC0 1.0][cc0] "No Rights Reserved" license. diff --git a/images/brightness_sensor.jpg b/images/brightness_sensor.jpg new file mode 100644 index 0000000..f6e1fb5 Binary files /dev/null and b/images/brightness_sensor.jpg differ diff --git a/images/brightness_sensor_schematic.png b/images/brightness_sensor_schematic.png new file mode 100644 index 0000000..5969014 Binary files /dev/null and b/images/brightness_sensor_schematic.png differ diff --git a/images/spaceapimap_back.jpg b/images/spaceapimap_back.jpg new file mode 100644 index 0000000..68e2bf4 Binary files /dev/null and b/images/spaceapimap_back.jpg differ diff --git a/images/spaceapimap_front.jpg b/images/spaceapimap_front.jpg new file mode 100644 index 0000000..9d59ddb Binary files /dev/null and b/images/spaceapimap_front.jpg differ