fm4dd / pmod-7seg9

Single-row PMOD with nine multiplexed seven-segment LED digits.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

7SEG9 PMOD

.github/workflows/rpi.yml

Description

This PMOD provides a 9-digit (3x3) 7-segment LED display output to FPGA designs via a single row PMOD connector. The LED segments are driven by the TM1640 LED driver IC from Titan Microelectronics. The TM1640 can only handle "common cathode" display types. It implements the required multiplexing, LED resistance and 8-level output power control that greatly reduces the passive components needed to drive LED displays. The TM1640 driver IC interfaces with application logic through a simplified two-wire serial protocol that has similarities with I2C. A small DCDC boost converter SGM6603 raises the 3.3V PMOD voltage to the 5V operating voltage needed by the TM1640 driver IC.

http://fpga.fm4dd.com/

Note: The 7SEG9 PMOD draws 220-250mA current over 9 digits. During power on/off, the peak current can reach 500mA. This needs attention for boards with weak power supply.

Schematic

7SEG9 PMOD Schematics

PCB Gerber

7SEG4 PMOD Gerber V1.2

Pin Assignments

PMOD PinoutPinLabelFunction
1n/c(not connected)
2n/c(not connected)
3tm_dinLED control data
4tm_clkBus Clock (<1MHz)
5GNDPMOD Power
63V3PMOD Power

Example Code

The following platform code examples demonstrate the board function for quick verification.

Platform Test Program location Description
Arduino IDE examples/arduino Arduino IDE code (tested on PMOD2RPI Seeedstudio XIAO)
Raspberry Pi examples/pi-tm1640 Linux control program in 'C', using the libgpiod interface
IceBreaker examples/icebreaker Verilog project for the IceBreaker FPGA (Lattice iCE40 FPGA family)
ULX3S examples/ulx3s Verilog project for Radiona ULX3S FPGA (Lattice ECP5 FPGA family)
GateMate examples/gatemate Verilog project for the Cologne Chip Gatemate E1 FPGA board

PMOD-7Seg9 Function Tests

The oscilloscope visualizes the protocol data transmission. Blue = data signal, Orange = clock signal.

7SEG9 PMOD connected to a Icebreaker v1.0 board, during protocol analysis

7SEG9 PMOD, connected to the Icebreaker FPGA board

Two 7seg9 PMODs, connected to a ULX3S (Lattice ECP5 85K) board

Two 7seg9 PMODs, connected to a Raspberry Pi via the PMOD2RPI interface board

About

Single-row PMOD with nine multiplexed seven-segment LED digits.

License:Other


Languages

Language:Verilog 61.5%Language:C 24.4%Language:C++ 8.6%Language:Makefile 5.5%