Skip to the content
PCBKitNew board
2 layers100 × 100 mmHdmilight v3, the printed circuit board in 3D

Hdmilight v3

esar/hdmilight-v38

HDMI Light v3 - FPGA based Ambilight clone with direct HDMI input

Size
100 × 100 mm
Copper layers
2
Thickness
1.6 mm
Parts
259
Nets
310
Pads
1,181
Tracks, vias
2,530, 475
Pours
25
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
8 May 2020
Updated
11 Jun 2020

Overview

Hdmilight v3 is an open-source printed circuit board by esar, from the esar/hdmilight-v3 repository on GitHub, published under the GPL-2.0 licence. It is a 2-layer board of 100 × 100 mm with 259 parts on 310 nets, routed with 2,530 tracks and 475 vias.

It is built around the 74LV245D, TPS65266RHB and FT2232D, with the BSS123, 1206L050YR and SUD50P04-08-VB among its other parts. Its parts include 118 capacitors, 71 resistors, 14 connectors, 12 ICs and 9 diodes. It belongs with the STM32 and FPGA and CPLD boards of this library.

Main components

7

README

README

This is a still-in-progress update to my hdmilight-v2 project.

Differences in this version:

  • Everything is on a standalone board, no longer needs a Papilio FPGA board
  • AVR CPU removed from FPGA design and replaced by a separate ARM Cortex MCU. The main reason for this change was to get more program memory. The FPGA had no more spare block RAMs. It also has the advantage of being a much more capable CPU and having live debugging via JTAG.
  • Power supply switching for the LEDs. This version can power down the LED strips when not in use.
  • Extra pins added to each LED output port, now have +5V, DAT, GND, CLK Currently it still only support 3-wire LED strips, but in the future it should be able to support 4-wire clocked strips
  • Magical mystery connectors (vivepos / papix). The real reason I made this revision... a platform to experiment with my crazy ideas

Build instructions:

  1. Manufacture the HDMI receiver board that can be found in the 'board' directory (KiCad format).
  2. Open the 'fpga/hdmilight.xise' project in Xilinx ISE and generate a bit file.
  3. Edit the files under the config directory to configure the LEDs.
  4. Run 'make' in the top level directory, which will do the following:
    • Build the firmware image
    • Convert the text config file to binary format
    • Append the config to the end of the FPGA bit file
    • Flash the ARM microcontroller with the firmware
    • Flash the FPGA config flash with the bit file
  5. Connect LED strips to output pins
  6. Open a serial terminal to the board (running "dmesg" is useful to see names of recently added serial ports)
  7. Connect HDMI source to receiver board
  8. It should now be working.

This version should now have feature parity with version 2, however it has not been tested very well yet.

Useful build targets:

  • make firmware: build the firmware without flashing
  • make firmware_flash: flash the last build to the ARM
  • make fpga_program: reprogram FPGA without programming flash will be lost on thxt power-cycle
  • make fpga_flash: reprogram the FPGA flash
  • make fpga_flash_config: reprogram just the configuration part of the FPGA flash

Debugging the firmware:

  1. start openocd: openocd -f hdmilight-v3-openocd.cfg
  2. start gdb: arm-none-eabi-gdb
  3. in gdb, load firmware: file firmware/main.elf
  4. in gdb, connect to board: target remote :3333

Parts

259
QtyValueFootprintReferences
310.1uFCapacitor_SMD:C_0402_1005MetricC1, C5, C6, C7, C59, C60, C61, C62, C63, C64, C65, C66, C67, C68, C69, C118 +15
2482RResistor_SMD:R_0603_1608MetricR23, R24, R25, R26, R27, R28, R29, R30, R31, R32, R33, R34, R35, R36, R37, R38 +8
210.47uFCapacitor_SMD:C_0402_1005MetricC73, C74, C75, C76, C77, C78, C80, C101, C103, C105, C107, C109, C111, C113, C115, C117 +5
160.1uFCapacitor_SMD:C_0603_1608MetricC2, C10, C11, C12, C13, C14, C15, C40, C41, C43, C45, C47, C49, C50, C53, C55
144.7uFCapacitor_SMD:C_0805_2012MetricC72, C79, C82, C83, C98, C100, C102, C104, C106, C108, C110, C112, C114, C116
1210KResistor_SMD:R_0603_1608MetricR4, R16, R22, R41, R44, R45, R46, R47, R50, R56, R57, R69
922ohm@100MHzInductor_SMD:L_0805_2012MetricFB1, FB2, FB3, FB4, FB5, FB6, FB7, FB8, FB9
922uFCapacitor_SMD:C_0805_2012MetricC16, C17, C18, C31, C32, C33, C34, C35, C51
833uFCapacitor_Tantalum_SMD:CP_EIA-3528-21_Kemet-BC38, C39, C42, C44, C46, C48, C52, C54
747KResistor_SMD:R_0603_1608MetricR14, R15, R18, R19, R20, R48, R51
6DNICapacitor_SMD:C_0603_1608MetricC22, C23, C24, C28, C29, C30
52K2Resistor_SMD:R_0603_1608MetricR1, R21, R52, R58, R60
5TestPointTestPoint:TestPoint_Pad_D1.5mmTP1, TP2, TP4, TP5, TP6
41KResistor_SMD:R_0603_1608MetricR10, R11, R12, R71
474LV245Package_SO:TSSOP-20_4.4x6.5mm_P0.65mmU8, U9, U10, U11
4BSS123Package_TO_SOT_SMD:SOT-23Q2, Q3, Q4, Q5
4Conn_01x08Connector_PinSocket_2.54mm:PinSocket_1x08_P2.54mm_VerticalJ4, J5, J6, J10
4MountingHoleMountingHole:MountingHole_3.2mm_M3H1, H2, H3, H4
30.047uFCapacitor_SMD:C_0603_1608MetricC25, C26, C27
31nFCapacitor_SMD:C_0603_1608MetricC19, C20, C21
34K7Resistor_SMD:R_0603_1608MetricR53, R54, R55
368RResistor_SMD:R_0603_1608MetricR7, R8, R9
2100KResistor_SMD:R_0603_1608MetricR17, R59
21206L050Fuse:Fuse_1206_3216MetricF1, F2
212pFCapacitor_SMD:C_0603_1608MetricC3, C4
218pFCapacitor_SMD:C_0603_1608MetricC56, C57
227RResistor_SMD:R_0603_1608MetricR2, R3
22ADiode_SMD:D_SOD-323D4, D5
24.7uH/2.1AInductor_SMD:L_Bourns-SRN4018L1, L2
26P6CConnector_RJ:RJ12_Amphenol_54601J8, J9
2Conn_01x02_MaleConnector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_VerticalJ3, J12
2LED RedLED_SMD:LED_0603_1608MetricD1, D6
2LED Side RedLED_SMD:LED_0603_1608MetricD3, D8
10.01uFCapacitor_SMD:C_0603_1608MetricC58
1150RResistor_SMD:R_0603_1608MetricR42
115KResistor_SMD:R_0603_1608MetricR39
118KResistor_SMD:R_0603_1608MetricR43
11K5Resistor_SMD:R_0603_1608MetricR5
12.2uFCapacitor_SMD:C_0603_1608MetricC36
12.2uH/3.5AInductor_SMD:L_Bourns-SRN4018L3
120KResistor_SMD:R_0603_1608MetricR49
127KResistor_SMD:R_0603_1608MetricR13
128.63636MHzCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mmY2
1330RResistor_SMD:R_0603_1608MetricR70
133KResistor_SMD:R_0603_1608MetricR40
1470RResistor_SMD:R_0603_1608MetricR6
15V1Diode_SMD:D_SOD-323D7
16MHzCrystal:Crystal_SMD_7050-4Pin_7.0x5.0mmY1
193CxxBPackage_SO:SOIC-8_3.9x4.9mm_P1.27mmU2
1ADV7611Package_QFP:LQFP-64-1EP_10x10mm_P0.5mm_EP6.5x6.5mm_ThermalViasU4
1Conn_01x09Connector_PinSocket_2.54mm:PinSocket_1x09_P2.54mm_VerticalJ13
1Conn_02x05_Odd_EvenConnector_IDC:IDC-Header_2x05_P2.54mm_HorizontalJ7
1Conn_02x10_Odd_EvenConnector_PinHeader_2.54mm:PinHeader_2x10_P2.54mm_HorizontalJ14
1DNICapacitor_SMD:C_0805_2012MetricC37
1FT2232DPackage_QFP:LQFP-48_7x7mm_P0.5mmU3
1HDMI_A_SR:HDMI_SOCKET_FCI_10029449J2
1LED GreenLED_SMD:LED_0603_1608MetricD2
1LED Side GreenLED_SMD:LED_0603_1608MetricD9
1Logo_Open_Hardware_SmallSymbol:OSHW-Logo2_9.8x8mm_SilkScreenLOGO1
1S25FL064LPackage_SO:SOIC-8_5.23x5.23mm_P1.27mmU7
1SG-310SCF-32MHzOscillator:Oscillator_SMD_Abracon_ASE-4Pin_3.2x2.5mmX1
1STM32F303RETxPackage_QFP:LQFP-64_10x10mm_P0.5mmU1
1SUD50P04-08Package_TO_SOT_SMD:TO-252-2Q1
1SW_PushButton_Switch_THT:SW_Tactile_SPST_Angled_PTS645Vx31-2LFSSW2
1SW_PushButton_Switch_SMD:SW_SPST_EVQP0SW1
1Screw_Terminal_01x02TerminalBlock_Phoenix:TerminalBlock_Phoenix_MKDS-1,5-2_1x02_P5.00mm_HorizontalJ11
1TPD12S520Package_SO:TSSOP-38_4.4x9.7mm_P0.5mmU6
1TPS65266Package_DFN_QFN:QFN-32-1EP_5x5mm_P0.5mm_EP3.1x3.1mm_ThermalViasU12
1USB_B_MicroConnector_USB:USB_Micro-B_Amphenol_10103594-0001LF_HorizontalJ1
1V5.5MLA0603HResistor_SMD:R_0603_1608MetricRV1
1XC6SLX9-TQG144Package_QFP:TQFP-144_20x20mm_P0.5mmU5

Questions

How big is the Hdmilight v3 PCB?

It measures 100 × 100 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Hdmilight v3 use?

259 parts, built around the 74LV245D, TPS65266RHB, FT2232D and BSS123. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Hdmilight v3 KiCad files?

From the esar/hdmilight-v3 repository on GitHub, at the commit this page was made from: the board is board/hdmilight-v3.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Hdmilight v3 design in my own project?

Its repository publishes it under the GPL-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).

Similar boards

  • 2 layers190 × 109 mmIOB v3.2.1, the printed circuit board in 3D

    IOB v3.2.1

    ADFTech/xtec-uc-ip-main-pcb

    KiCad hardware repo for the UC-IP main PCB (currently: IOB board family). This README documents the review-and-release process used to get a schematic/PCB change from an engineer's desk to fabrication.

    538 parts
  • 4 layers62 × 49.8 mmIsoSwitch, the printed circuit board in 3D

    IsoSwitch

    lilltroll77/IsoSwitch

    Globally scalable mesh networking

    133 partsGPL-3.0
  • 4 layers57.9 × 65.7 mmMacropad9key, the printed circuit board in 3D

    Macropad9key

    zlittell/Macro9PadHW

    [MSF] MacroPad with 9 Buttons

    83 parts
  • 2 layers147 × 92 mmVan, the printed circuit board in 3D

    Van

    blinken/vandal

    An ESP32-based lighting control system for campervans (or anything else)

    227 parts6GPL-3.0
  • 2 layers51.1 × 58.7 mmBattery switch, the printed circuit board in 3D

    Battery switch

    eclecticc/BeltPack

    Schematics and CAD for a belt PC

    40 parts5
  • 4 layers120 × 103.9 mmBALANCING CUBEV1.01, the printed circuit board in 3D

    BALANCING CUBEV1.01

    Evc-r/Balancing-Cube-STM32

    STM32F411CEU6 and ICM-20948 v2 self-balancing cube firmware port and integration plan.

    76 parts2
  • 4 layers86.8 × 76 mmWebasto mainboard, the printed circuit board in 3D

    Webasto mainboard

    Beirdo/arduino-webasto-mainboard

    Custom replacement control board for Webasto Thermo Top C/E

    96 parts1MIT
  • 2 layers99 × 95 mmNew PCB, the printed circuit board in 3D

    New PCB

    xKMx1/Hexapod

    58 parts1