hdmilight-v3

Public

esar/hdmilight-v3

Download board files

Files for version 1. Choose the source project or an available generated package.

Source package

Original hardware design source archive

Original KiCad project zip345 KB

Fabrication package

Gerbers and drill, pick-and-place, DRC report, and the 3D model

Gerbers and drill zip890 KBPick and place (CSV)18 KB3D board only (GLB)25 MB3D model (GLB)30 MB

Review package

Schematics, PCB views, BOM, and extracted files

PCB SVG3.2 MBBoard render530 KBPCB B.Cu380 KBPCB B.Fab341 KBPCB B.Mask246 KB

Share hdmilight-v3

Check access before sharing the link.

Who can open this board

Anyone can open this board. No sign-in is required.

This link opens the latest version. Copying it does not grant additional access.

Loading 3D model… large boards can take a moment.

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
Comments

No comments yet. Be the first to ask about this board.

Askabout this board