├── 3d_printing ├── lid.3mf ├── housing.3mf ├── connector.3mf ├── imgs │ ├── housing.JPG │ ├── lid_img1.JPG │ ├── lid_img2.JPG │ ├── connector.JPG │ └── wiring_housing.JPG ├── wiring_housing.3mf ├── connector_settings.curaprofile ├── housing_lid_settings.curaprofile └── README.md ├── .gitmodules ├── readme_imgs ├── thumbnail.png ├── display_wiring_dia.png ├── display_wiring_img.JPG ├── led_strip_sections.png ├── shape_wiring_dia.png ├── shape_wiring_img.JPG ├── display_segments_wiring_dia.png └── display_segments_wiring_img.JPG ├── acrylic_sheet_reference.pdf ├── LICENSE.md └── README.md /3d_printing/lid.3mf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/lid.3mf -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "WLED"] 2 | path = WLED 3 | url = https://github.com/ProjectsWithRed/WLED.git 4 | -------------------------------------------------------------------------------- /3d_printing/housing.3mf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/housing.3mf -------------------------------------------------------------------------------- /3d_printing/connector.3mf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/connector.3mf -------------------------------------------------------------------------------- /readme_imgs/thumbnail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/thumbnail.png -------------------------------------------------------------------------------- /3d_printing/imgs/housing.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/imgs/housing.JPG -------------------------------------------------------------------------------- /3d_printing/imgs/lid_img1.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/imgs/lid_img1.JPG -------------------------------------------------------------------------------- /3d_printing/imgs/lid_img2.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/imgs/lid_img2.JPG -------------------------------------------------------------------------------- /acrylic_sheet_reference.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/acrylic_sheet_reference.pdf -------------------------------------------------------------------------------- /3d_printing/imgs/connector.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/imgs/connector.JPG -------------------------------------------------------------------------------- /3d_printing/wiring_housing.3mf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/wiring_housing.3mf -------------------------------------------------------------------------------- /readme_imgs/display_wiring_dia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/display_wiring_dia.png -------------------------------------------------------------------------------- /readme_imgs/display_wiring_img.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/display_wiring_img.JPG -------------------------------------------------------------------------------- /readme_imgs/led_strip_sections.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/led_strip_sections.png -------------------------------------------------------------------------------- /readme_imgs/shape_wiring_dia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/shape_wiring_dia.png -------------------------------------------------------------------------------- /readme_imgs/shape_wiring_img.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/shape_wiring_img.JPG -------------------------------------------------------------------------------- /3d_printing/imgs/wiring_housing.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/imgs/wiring_housing.JPG -------------------------------------------------------------------------------- /3d_printing/connector_settings.curaprofile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/connector_settings.curaprofile -------------------------------------------------------------------------------- /3d_printing/housing_lid_settings.curaprofile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/3d_printing/housing_lid_settings.curaprofile -------------------------------------------------------------------------------- /readme_imgs/display_segments_wiring_dia.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/display_segments_wiring_dia.png -------------------------------------------------------------------------------- /readme_imgs/display_segments_wiring_img.JPG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ProjectsWithRed/nanoleaf/HEAD/readme_imgs/display_segments_wiring_img.JPG -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Creative Commons Licence
This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License. 2 | -------------------------------------------------------------------------------- /3d_printing/README.md: -------------------------------------------------------------------------------- 1 | # 3D printing 2 | 3 | All the 3D printed parts used in this project. 4 | 5 | - A segment is made up of two 3D printed parts, the housing and the lid. 6 | - I recommend printing the lid in a white filament to reflect as much light as possible, however, black can also be used, as the difference is very minimal. 7 | - Each segment requires roughly 75 grams of filament, 43 grams for the housing and 32 grams for the lid. 8 | 9 | # 3D printing settings 10 | 11 | - For the housing and lid parts, refer to `housing_lid_settings.curaprofile`. 12 | - For the connector, refer to `connector_settings.curaprofile`. 13 | 14 | 15 | # Images 16 | 17 | ## Housing 18 | ![housing](/3d_printing/imgs/housing.JPG) 19 | 20 | 21 | ## Lid 22 | | | | 23 | |---------------------------------------------|---------------------------------------------| 24 | | ![lid img1](/3d_printing/imgs/lid_img1.JPG) | ![lid img2](/3d_printing/imgs/lid_img2.JPG) | 25 | 26 | 27 | ## Connector 28 | ![connector](/3d_printing/imgs/connector.JPG) 29 | 30 | 31 | ## Wiring housing 32 | ![wiring housing](/3d_printing/imgs/wiring_housing.JPG) -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # NanoLeaf 2 | 3 | A modular NanoLeaf lights that not only allows you to make any NanoLeaf shape using as many or as little segments as you want, but you can also use the same identical modular segments to create a 4-digit display, which can be used to display the time, temperature, humidity, or pretty much anything you want! 4 | 5 | There is a [video](https://youtu.be/RalzwaIh_J4) associated with this repository/project, I highly recommend watching it before using this repo. 6 | 7 | [![Video](readme_imgs/thumbnail.png)](https://youtu.be/RalzwaIh_J4 "NanoLeaf video") 8 | 9 | # Code for any custom NanoLeaf shape 10 | 11 | You simply just need to go to [here](https://install.wled.me/), press install and follow the instructions. 12 | 13 | 14 | # Code for the 4-digit display 15 | 16 | Keep in mind, that you don't need to do any of the steps below if you are just creating a NanoLeaf shape. For the code for any NanoLeaf shape, see [Code for any custom NanoLeaf shape](#Code-for-any-custom-NanoLeaf-shape). 17 | 18 | Please note, in the video (time: `13:37`) I go through and show the exact steps on how to upload and use the code for the 4-digit display. Below is just a short text version. 19 | 20 | 21 | 1. Install [VSCode](https://code.visualstudio.com/). 22 | 2. In VSCode, install the `PlatformIO IDE` extension. 23 | 3. Clone/download this repo. 24 | 4. Open the `/WLED` directory in VSCode. 25 | 5. There are two changes you need to make before uploading the code: 26 | - In `WLED/platformio.ini`, under the `[env:esp32dev]` environment, change the `upload_port` to your micro-controller port. 27 | - In `WLED/usermods/NanoLeaf_Display/usermod_nanoleaf_display.h`, change the `ADDR_LEDS_PER_SEG` variable to the number of addressable LED sections there are in your LED strip. Below is an illustration to explain this further. In the example below, there are 3 sections, since there are 2 cut marks, so if you were to cut the LED strip on the cut marks, you will get 3 seperate sections, this is the number you need to set the `ADDR_LEDS_PER_SEG` variable to. 28 | - ![LED strip sections](/readme_imgs/led_strip_sections.png) 29 | 6. Now you can upload the code. 30 | 7. For the setup you need to do on the phone and how to use the usermod settings to control the 4-digit display, refer to the video (time: `14:42`). 31 | 32 | 33 | # Components 34 | 35 | - [ESP32](https://www.amazon.co.uk/dp/B071P98VTG?ref_=cm_sw_r_cp_ud_dp_HRCFAE60FTX5CNG9CH61), for the micro-controller. 36 | - [12V 8A](https://www.amazon.co.uk/dp/B0927KBGCP?ref_=cm_sw_r_cp_ud_dp_XS02N6BZ2QZ6SRK3ASNE), power supply. 37 | - [LM2596](https://www.amazon.co.uk/dp/B077VW4BTY?ref_=cm_sw_r_cp_ud_dp_3PQZG5P3P4X3W8JCMQ5S) or any step down converter, to convert 12V to 5V for the ESP32. **Remember to use the screw on this component to adjust its output voltage to 5V using a voltmeter.** 38 | - [LED strip](https://www.amazon.co.uk/dp/B01CNL6K52?ref_=cm_sw_r_cp_ud_dp_SHH2S3GJH9TY1MC4NM73), the specific one used in this project is the `WS2811` LED strip. Each segment requires 15cm long LED strip. For the 4-digit display, you will need at least 5 meters. 39 | - 1000μF capacitor, across the LED strip. 40 | - [A4 3mm matte opal acrylic sheets](https://plasticonline.co.uk/opal-frost-cast-acrylic-sheet.html) (x7), used to get the glowing effect. I recommend getting extra A4 sheets just in case something bad happens... 41 | - Refer to [Acrylic sheet shape](#Acrylic-sheet-shape) to see what shape you need to cut from the acrylic sheets. 42 | - [DHT11](https://www.amazon.co.uk/dp/B06Y99X3NS?ref_=cm_sw_r_cp_ud_dp_4AR4MJQ16QP2X09JY0WM)(optional), used to get the temperature and humidity when using the 4-digit display. 43 | - [Power switch](https://www.amazon.co.uk/dp/B01N2U8PK0?ref_=cm_sw_r_cp_ud_dp_JB40B1WS9YM9YZVZ7MQK), to turn on and off. 44 | - M2 bolts, to attach the lid to the main housing part. They can be from 8mm to 12mm long. 45 | - [20 AWG flexible silicon wires](https://www.amazon.co.uk/dp/B07G715HYY?ref_=cm_sw_r_cp_ud_dp_060MXTRE7K0QFSFT6WC1), for connecting segments together. 46 | - [Dupont crimping tool](https://www.amazon.co.uk/dp/B07QNPZDTW?ref_=cm_sw_r_cp_ud_dp_D43ZQHCR3MZQAZ5CW36F), the tool used to make the dupont connectors. 47 | 48 | 49 | # 3D models 50 | 51 | Please refer to the `/3d_printing` directory. 52 | 53 | 54 | # Acrylic sheet shape 55 | 56 | To cut the acrylic to the correct shape, print this [A4 sheet](acrylic_sheet_reference.pdf). To ensure you have printed it to the correct scale, measure the top size of the shape, which should be `12 cm`. 57 | 58 | 59 | # Wiring 60 | 61 | ## For any NanoLeaf shape 62 | ![nanoleaf shape wiring diagram](/readme_imgs/shape_wiring_dia.png) 63 | ![nanoleaf shape wiring image](/readme_imgs/shape_wiring_img.JPG) 64 | 65 | ## For the 4-digit display 66 | 67 | ![4-digit display wiring diagram](/readme_imgs/display_wiring_dia.png) 68 | ![4-digit display wiring image](/readme_imgs/display_wiring_img.JPG) 69 | 70 | ### 4-digit display segments wiring 71 | ![4-digit display segments wiring diagram](/readme_imgs/display_segments_wiring_dia.png) 72 | ![4-digit display segments wiring image](/readme_imgs/display_segments_wiring_img.JPG) 73 | --------------------------------------------------------------------------------