Skip to content

Latest commit

 

History

History
156 lines (111 loc) · 6.2 KB

File metadata and controls

156 lines (111 loc) · 6.2 KB

ESP8266 based LED Strip Controller

1. Hardware Design

Schematic and PCB layout are created using KiCad 5. The project files can be found in the hardware directory.

Exports for viewing without KiCad also exist. These should (hopefully) be pretty up-to-date.

Exports:

2. Main Components

ESP-WROOM-02

Microcontroller with built-in WiFi.

PCA9685

PWM LED controller with 16 channels and I2C bus interface.

As the ESP8266 does not have enough pins to drive 12 LED channels (3 * RGBW), a dedicated chip has to do this work.

3. Power Supply

The circuit consists of two power nets: a 12 V net for the LED strips and a 3.3 V net for everything else.

The 12 V are provided by an external power supply. The LED strips are directly connected to this power rail.

The 3.3 V are provided by an on-circuit power regulator whose input is connected to the 12 V rail. With a voltage difference of about 9 V and up to 500 mA current draw by the ESP8266 alone, a linear regulator is too inefficient, so a switching mode regulator is used.

Current draw of individual components:
  • ESP-WROOM-02: 500 mA

  • PCA9685: 10 mA (just the chip, without any driven LEDs)

  • One or two status LEDs: 40 mA

Adding some buffer, an 800 mA power supply should suffice easily.

4. Design Consideration

This section is a collection of various design considerations.

4.1. Switch Mode Power Supply: build your own or buy (OPEN)

As this is my first real hardware project and given my complete lack of experience with switch mode power supplies, I ruled out building my own regulator circuit (e.g. based on LM2595 or LM2675). Instead, an all-in-one regulator module will be used.

Table 1. Module Candidates
Name
(Manufacturer)
Datasheet Distributor Price Notes

VXO7803-1000
(CUI)

Datasheet

2.22-2.35 €

VX7803-1000
(CUI)

Datasheet

2,80 €

R-78E3.3-1.0
(Recom Power)

Datasheet

2,67-2,80 €

MEZD71201A-F
(Monolithic Power Systems)

Datasheet

2,76-2,90 €

TR10S3V3
(XP Power)

Datasheet

3,40 €

Product search:

4.2. Overload Protection for LED strips (OPEN)

If the LED strips connected to the controller draw more power than the power supply and/or the circuitry can handle, this could potentially cause damage.

To prevent this, some kind of current limiter could be added to the circuitry feeding the LED strips.

Open questions:
  • How would the overcurrent protection work? Autonomous hardware, or with support from the firmware?

  • How about a current meter (with a I2C interface) that the firmware could read out? The current power draw could be reported via MQTT, providing for a nice little feature.

4.3. ESD Protection

The following connections are accessible when the controller is inside a closed enclosure:

  • LED strip connectors.

  • Power supply jack.

  • Programming lines:

    • RX/TX

    • GND

    • Reset

    • Firmware flashing mode selector

While ESD protection for a simple and cheap product as this is probably a bit overkill, adding it would teach me something new, so I’ll likely do it.

To do:

  • Learn about different ESD protection techniques

    • Diodes to V+, one to V-.

    • Diodes only to V-.

  • Extend schematic.