Jump to content

Buse RGB LED Panel: Difference between revisions

From base48
Klubko (talk | contribs)
No edit summary
Klubko (talk | contribs)
No edit summary
Line 27: Line 27:
Rows do have common CLK and LE signals. This means both halves of the row must be fed in parallel, but rows are entirely independent of each other.
Rows do have common CLK and LE signals. This means both halves of the row must be fed in parallel, but rows are entirely independent of each other.
[[File:Layout.png|center|frameless|600x600px|LED & driver layout]]
[[File:Layout.png|center|frameless|600x600px|LED & driver layout]]
== Mounting ==
[[File:Buse-arduino-holder.png|thumb|Legs and mount that was used to hold Arduino Uno]]
Needs figuring out.
Panel got a plenty of mounting holes.
There's a diffuser (from an old LCD?).
TODO: Pics


== Resources ==
== Resources ==
Line 36: Line 46:


Schematic of the 4-bit (9 pins) ESP8266-based driver: https://codeberg.org/lubko/buse004-1/src/branch/main/esp8266-adapter-buse-btc004.pdf
Schematic of the 4-bit (9 pins) ESP8266-based driver: https://codeberg.org/lubko/buse004-1/src/branch/main/esp8266-adapter-buse-btc004.pdf
Mounts: https://codeberg.org/lubko/buse004-1/src/branch/main/mounts-buse-btc004.FCStd


== ESPHome integration ==
== ESPHome integration ==
Line 62: Line 74:
       static bool state;
       static bool state;
       it.image(0, 0, (state = !state) ? id(tux) : id(base48));
       it.image(0, 0, (state = !state) ? id(tux) : id(base48));
== Mounting ==
Needs figuring out.
Panel got a plenty of mounting holes.
There's a diffuser (from an old LCD?).
TODO: Upload FreeCAD models of what we got, pictures of ESP8266-based driver & PCB.


== Pictures ==
== Pictures ==

Revision as of 11:26, 20 March 2026


What it is

A segment of a panel with 768 RGB LEDs on one side driven by chains shift registers on the other side.

The PCB is marked:

BTC004.1
24x32_10
RGB

Not sure which city is it operated in. Brno has green only panels and Bratislava got RGB but of different size.

Theory of operation

Pixmap split into segments, like on the panel

LEDs are organized into 24 x 32 pattern on one side, drivers are organized into a grid of 18 x 16 drivers. Three lines of LEDs snake around and are driven by a line of drivers on the other side.

Rows do have common CLK and LE signals. This means both halves of the row must be fed in parallel, but rows are entirely independent of each other.

LED & driver layout
LED & driver layout

Mounting

Legs and mount that was used to hold Arduino Uno

Needs figuring out.

Panel got a plenty of mounting holes.

There's a diffuser (from an old LCD?).

TODO: Pics

Resources

Repository with sources to schematic, Arduino driver and ESPHome component: https://codeberg.org/lubko/buse004-1

Partial schematic of the panel: https://codeberg.org/lubko/buse004-1/src/branch/main/buse-btc004.pdf

Schematic of the 8-bit Arduino-based driver: https://codeberg.org/lubko/buse004-1/src/branch/main/arduino-adapter-buse-btc004.pdf

Schematic of the 4-bit (9 pins) ESP8266-based driver: https://codeberg.org/lubko/buse004-1/src/branch/main/esp8266-adapter-buse-btc004.pdf

Mounts: https://codeberg.org/lubko/buse004-1/src/branch/main/mounts-buse-btc004.FCStd

ESPHome integration

  external_components:
    - source:
        type: git
        url: https://codeberg.org/lubko/buse004-1
        path: ./
      components: [ btc004 ]
  
  image:
    - file: https://codeberg.org/lubko/buse004-1/raw/branch/main/tux.xpm
      type: rgb565
      id: tux
    - file: https://codeberg.org/lubko/buse004-1/raw/branch/main/48.gif
      type: rgb565
      id: base48
  
  display:
    platform: btc004
    le_pins: [ GPIO05 ]
    clk_pins: [ GPIO04, GPIO15, GPIO02, GPIO00 ]
    data_pins: [ GPIO16, GPIO14, GPIO12, GPIO13 ]
    update_interval: 10666ms
    lambda: |-
      static bool state;
      it.image(0, 0, (state = !state) ? id(tux) : id(base48));

Pictures

TODO

  • Port to ESP*
  • Hook to Home Assistant
  • Figure out physical mounting
  • hailsatan