Festival Carousel Horse LED Controller Schematic
Set Resistance to "10kΩ" on R32, Set Role Details to "Battery monitor divider upper..." on R32, and 2 more changes
0:01
Set R32's Resistance to "10kΩ"
Set R32's Role Details to "Battery monitor divider upper resistor from +12V_RAIL to BATTERY_ADC per requirement"
Set R33's Resistance to "3.3kΩ"
Set R33's Role Details to "Battery monitor divider lower resistor from BATTERY_ADC to GND per requirement"
0:04
DMX_PLUS / DMX_MINUS, and updated the battery monitor divider to R32=10kΩ / R33=3.3kΩ.I2C_SDA / I2C_SCL, dual XLR connectors are wired in parallel, and the user-input nets remain present for the 11 pots, 5 illuminated pushbuttons, and 4 toggles including LOW_BATT_OVERRIDE.3V3, each wiper connected to a named POTx_ADC net with a 100nF capacitor to GND.+12V_RAIL through 1.5k resistors and return to GND.LOW_BATT_OVERRIDE is the low-battery manual override input.GND, pin 2 = DMX_MINUS, pin 3 = DMX_PLUS. MAX485 is powered from 5V and connected to ESP32 UART/control nets.3V3; I2C pull-ups are 4.7k to 3V3.R32=10k upper and R33=3.3k lower per the latest requirement, from +12V_RAIL to BATTERY_ADC; current sense uses the JL-2 shunt return and LM358 gain/filter path to CURRENT_SENSE_ADC.Table
| Function | Net label | ESP32 / device pin | Notes |
|---|---|---|---|
| WS2815 strip 1 data source | ESP_LED1 | GPIO16 | ESP32 -> 74HCT245 A0 |
| WS2815 strip 2 data source | ESP_LED2 | GPIO17 | ESP32 -> 74HCT245 A1 |
| WS2815 strip 3 data source | ESP_LED3 | GPIO18 | ESP32 -> 74HCT245 A2 |
| WS2815 strip 4 data source | ESP_LED4 | GPIO19 | ESP32 -> 74HCT245 A3 |
| WS2815 strip 5 data source | ESP_LED5 | GPIO21 | ESP32 -> 74HCT245 A4 |
| WS2815 strip 6 data source | ESP_LED6 | GPIO22 | ESP32 -> 74HCT245 A5 |
| WS2815 strip 7 data source | ESP_LED7 | GPIO23 | ESP32 -> 74HCT245 A6 |
| WS2815 strip 8 data source | ESP_LED8 | GPIO25 | ESP32 -> 74HCT245 A7 |
| WS2815 strip outputs | LED_DATA1–LED_DATA8 | 74HCT245 B outputs via 330Ω | Each goes to one 3-pin LED screw terminal |
| Pot 1 ADC | POT1_ADC | GPIO36 / VP | ADC input, 100nF to GND |
| Pot 2 ADC | POT2_ADC | GPIO39 / VN | ADC input, 100nF to GND |
| Pot 3 ADC | POT3_ADC | GPIO34 | ADC input, 100nF to GND |
| Pot 4 ADC | POT4_ADC | GPIO35 | ADC input, 100nF to GND |
| Pot 5 ADC | POT5_ADC | GPIO12 | ADC input, strap-sensitive |
| Pot 6 ADC | POT6_ADC | GPIO4 | ADC input, strap-sensitive |
| Pot 7 ADC | POT7_ADC | GPIO15 | ADC input, strap-sensitive |
| Pot 8 ADC | POT8_ADC | GPIO2 | ADC input, strap-sensitive |
| Pot 9 ADC | POT9_ADC | GPIO5 | ADC input, strap-sensitive |
| Pot 10 ADC | POT10_ADC | GPIO0 | ADC input, strap-sensitive |
| Pot 11 ADC | POT11_ADC | GPIO27 | ADC input |
| Button 1 | BTN1 | MCP23017 GPA0 | Illuminated pushbutton switch contact |
| Button 2 | BTN2 | MCP23017 GPA1 | Illuminated pushbutton switch contact |
| Button 3 | BTN3 | MCP23017 GPA2 | Illuminated pushbutton switch contact |
| Button 4 | BTN4 | MCP23017 GPA3 | Illuminated pushbutton switch contact |
| Button 5 | BTN5 | MCP23017 GPA4 | Illuminated pushbutton switch contact |
| Button 1 LED | BTN1_LAMP_12V | 12V via 1.5k | LED cathode to GND |
| Button 2 LED | BTN2_LAMP_12V | 12V via 1.5k | LED cathode to GND |
| Button 3 LED | BTN3_LAMP_12V | 12V via 1.5k | LED cathode to GND |
| Button 4 LED | BTN4_LAMP_12V | 12V via 1.5k | LED cathode to GND |
| Button 5 LED | BTN5_LAMP_12V | 12V via 1.5k | LED cathode to GND |
| Toggle mode | TOGGLE_MODE | MCP23017 GPB0 | Latching toggle |
| Toggle pattern | TOGGLE_PATTERN | MCP23017 GPB1 | Latching toggle |
| Toggle service | TOGGLE_SERVICE | MCP23017 GPB2 | Latching toggle |
| Low battery override | LOW_BATT_OVERRIDE | MCP23017 GPB3 | Latching toggle, manual override |
| I2C SDA | I2C_SDA | GPIO13 | OLED + MCP23017; 4.7k pull-up to 3V3 |
| I2C SCL | I2C_SCL | GPIO14 | OLED + MCP23017; 4.7k pull-up to 3V3 |
| DMX receive | DMX_RX | ESP32 RX / GPIO3 | MAX485 RO -> ESP32 RX |
| DMX transmit | DMX_TX | ESP32 TX / GPIO1 | ESP32 TX -> MAX485 DI |
| DMX direction | DMX_DE_RE | GPIO26 | MAX485 DE and /RE tied together |
| Battery voltage monitor | BATTERY_ADC | GPIO32 | Divider output from +12V_RAIL |
| Current monitor | CURRENT_SENSE_ADC | GPIO33 | LM358 current-sense output/filter |
| DMX bus positive | DMX_PLUS | MAX485 A, XLR pin 3 | Dual XLR connectors wired in parallel |
| DMX bus negative | DMX_MINUS | MAX485 B, XLR pin 2 | Dual XLR connectors wired in parallel |
Welcome 👋
Flux helps you build PCBs faster with an AI teammate!
Create your account to collaborate, stay updated, fork your own version, and get instant answers from our AI agent.