{"id":24701601,"url":"https://github.com/atoomnetmarc/adlsc","last_synced_at":"2025-03-22T04:12:49.069Z","repository":{"id":272973860,"uuid":"918186288","full_name":"atoomnetmarc/ADLSC","owner":"atoomnetmarc","description":"Atoomnet's Digital Led String Controller","archived":false,"fork":false,"pushed_at":"2025-01-17T18:36:34.000Z","size":1311,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-22T04:12:44.526Z","etag":null,"topics":["esp32","pcb","wled"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/atoomnetmarc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-01-17T12:22:48.000Z","updated_at":"2025-01-26T09:32:48.000Z","dependencies_parsed_at":"2025-01-17T19:42:24.384Z","dependency_job_id":"b15f984c-5a26-4047-bab7-31e0a3de398e","html_url":"https://github.com/atoomnetmarc/ADLSC","commit_stats":null,"previous_names":["atoomnetmarc/adlsc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atoomnetmarc%2FADLSC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atoomnetmarc%2FADLSC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atoomnetmarc%2FADLSC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/atoomnetmarc%2FADLSC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/atoomnetmarc","download_url":"https://codeload.github.com/atoomnetmarc/ADLSC/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244902927,"owners_count":20529115,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["esp32","pcb","wled"],"created_at":"2025-01-27T05:24:54.876Z","updated_at":"2025-03-22T04:12:49.045Z","avatar_url":"https://github.com/atoomnetmarc.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ADLSC, Atoomnet's Digital Led String Controller\n\nESP32 based 5V digital LED controller build for use with [WLED](https://kno.wled.ge/).\n\n![](ADLSC.jpg)\n\n# Design choices\n\nThe chosen ESP32 classic is the ESP32-WROVER-E with PSRAM on a [ESP32-DevKitC V4 board](https://docs.espressif.com/projects/esp-idf/en/release-v4.2/esp32/hw-reference/esp32/get-started-devkitc.html).\n\nThe ESP32 must be able to control the power to the LEDs. That means a high-side power switch.\n\nThe ESP32 will be powered by the same 5V power supply. A 0.5A 1812 polyfuse with 5V bidirectional TVS diode will used to protect the low power electronics.\n\n5V will be monitored by a MAX809M reset ic. When the power supply voltage is too low the ESP32 will be turned off and in turn the LEDs will be turned off.\n\nA N-channel MOSFET (AOD442) will be used as a 5V reverse polarity protection.\n\nThe power to the LEDs can be injected in 2 sections. Both are fused by a 5x20mm slow blow glass fuse paired with 5V bidirectional TVS diodes (like SMBJ5.0CA). Red LEDs will be parallel connected to easily identify a blown fuse.\n\n# BOM\n\nSee Kicad directory for PCB BOM.\n\nPCB BOM Notes:\n\n- Instead of [Weidmueller 1824810000 clamp terminals](https://catalog.weidmueller.com/catalog/Start.do?localeId=en\u0026ObjectID=1824810000) you could also use [Weidmueller 1760520000](https://catalog.weidmueller.com/catalog/Start.do?localeId=en\u0026ObjectID=1760520000) or [1760510000](https://catalog.weidmueller.com/catalog/Start.do?localeId=en_DE\u0026ObjectID=1760510000) or generic 5.08mm pcb screw terminals.\n- I made the fuse clip footprint to fit https://www.aliexpress.com/item/4000841928644.html, but other could also fit.\n\nTo complete the PCB you will also need:\n\n- 2x 19pin 2.54mm pin header (possibly already included with the ESP32 board)\n- 2x 19pin 2.54mm pin socket\n- 1cm\u003csup\u003e2\u003c/sup\u003e of kapton tape\n\nThen you will also need:\n\n- Mean Well 5V 10A power supply: IRM-60-5ST\n- 5V digital LED strip or matrix\n\n# PCB assembly\n\nOpen the [Kicad interactive BOM](Kicad/bom/ibom.html). Use it to mark which component you have placed and soldered.\n\nRecommended soldering order:\n\n- Q2, Q4\n- U2\n- Q3\n- U1\n- D2, D6, D9, D10, D12\n- D1, D3, D8, D11\n- D4, D5, D7, D13\n- D14\n- Q1\n- F1\n- R5, R12, R16, R20\n- R1, R3, R11, R22\n- R21\n- R2, R8, R10, R14, R15, R18, R19, R23\n- C1, C3\n- C2\n\nClean the top of the PCB.\n\nContinue soldering:\n\n- J1, J3, J4, J6\n- A1, use the ESP32 module to align 2x19 pin socket.\n\nRemove the ESP32 module.\n\nPut a fuse in 2 fuse clips. Do this 2 times.\\\nCover the bottom of the fuse clips with some kapton tape. This mechanically insulates the clips from the PCB.\n\nSolder the fuse clips (with the fuses in it) into F2 and F3.\n\nRemove fuses. Clean the bottom of the PCB.\n\n# Testing\n\nSet power supply max current to 0.1A. Connect power supply to J1. Slowly increase to 5V.\\\nYou should notice less than 10mA current. D2 turns on.\n\nReverse the polarity of the power supply.\\\nD1 turns bright red. Current is about 10mA.\n\nRestore polarity. Increase max current to 2A. Short C2, then turn on power supply.\\\nPolyfuse F1 will blow, supply current should significantly lower (to about 250mA), D3 will turn bright red.\n\n# Firmware\n\nWhile the ESP32 modules is not mounted to the PCB, [install `ESP32_WROVER.bin`](https://kno.wled.ge/basics/install-binary/).\n\nConfigure:\n- WiFi\n  - Network Name\n  - A unique mDNS address\n  - AP SSID and password\n  - Disable WiFi sleep\n- LED\n  - Current limit to 5A\n  - Output to the matrix you have\n    - For a 80x8 matrix: WS281x, 55mA, GRB, 640 length\n    - Data GPIO: 25\n    - Relay GPIO: 4, invert.\n    - Default brightness: 128\n    - Brightness factor: 25%\n- 2D configuration\n   - Strip or panel: 2D Matrix\n   - Number of panels: 1\n   - Panel 0\n     - 1\u003csup\u003est\u003c/sup\u003e LED: Top Left\n     - Orientation: Vertical\n     - Serpentine\n     - Dimensions: 80x8\n\n# More testing\n\nConnect ESP32 module to PCB. Set power supply current to 0.5A, 5V.\\\nTurn on power supply. Now observe:\n- Current is about 150mA\n- D2 green is on\n- D6 green is on\n- D9 green is on\n- D12 green is on\n- D8 red is on\n- D11 red is on\n\nPress and hold `EN` button of ESP32 module. All LEDs should turn off except D2 (and the onboard red led of the ESP32 module). Release `EN`.\n\nPut fuses in F2 and F3. D8 and D11 will turn off, D6 and D12 will get brighter.\\\nWait, did you turn off power supply while you put in the fuses?\n\nNow really turn off power supply. Increase current to 5A.\n\nConnect (part of) the LED matrix and start playing with WLED.\n\n# Wiring\n\n## High voltage\n\nConsult an expert on how to wire mains voltage to the Mean Well 5V power supply.\n\n## Low voltage\n\nSuggestion: use black wire color for GND. Grey for 0V. Red for 5V. Blue for data.\n\nWhen consulting https://en.wikipedia.org/wiki/American_wire_gauge you should:\n\n- use AWG18 (0.75mm\u003csup\u003e2\u003c/sup\u003e) or thicker wiring to connect the 5V dc from the power supply using a red and grey wire to the 5V of the power supply\n- use AWG20 (0.5mm\u003csup\u003e2\u003c/sup\u003e) or thicker wiring to connect 5V power to LED strip or matrix.\n\nYou may use any wire thickness (challenge accepted) to connect data1 (and data2) to the LED strip. Or use the same AWG20.\n\n## Fuse rating for power supply\n\nIf you choose to use a different or lower amperage 5V power supply, then you must also use lower power glass fuses. Reserve 1A for the low power components (like the ESP32) then divide by 3 for the fuse rating. For a 10A power supply: (10A - 1A) / 3 = 3A fuse. Also make sure the power supply can handle short circuits by switching off or go into hiccup mode.\n\n# ESP32 pins\n\n| Name     | ESP32 pin | Usage                               |\n| -------- | --------- | ----------------------------------- |\n| DATA1    | IO25      | LED data                            |\n| DATA2    | IO26      | LED clock or data for second string |\n| POWER_ON | IO4       | LED power relay                     |\n| SDA      | IO21      | I2C data                            |\n| SCL      | IO22      | I2C clock                           |\n| CS0      | IO4       | SPI chip select 0                   |\n| CLK      | IO18      | SPI clock                           |\n| MISO     | IO19      | SPI data in                         |\n| MOSI     | IO23      | SPI data out                        |\n\n# Expansion PMOD connectors\n\nYou could add you own custom functionality using the I2C and SPI PMOD connectors. Consult the schematic on what extra components you should solder to the PCB. These components are excluded from the BOM.\n\nNote: the 3V3 on the I2C and SPI PMOD connectors come from the ESP32 3V3 regulator, keep current usage below 100mA.\n\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatoomnetmarc%2Fadlsc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fatoomnetmarc%2Fadlsc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fatoomnetmarc%2Fadlsc/lists"}