

ReDIP-64
Commodore 64 FPGA emulation platform
- Size
- 25.4 × 50.8 mm
- Copper layers
- 6
- Thickness
- 1.57 mm
- Parts
- 150
- Nets
- 312
- Pads
- 1,249
- Tracks, vias
- 3,373, 833
- Pours
- 5
- Routed
- Yes
- KiCad
- KiCad 7 (file 20221018)
- Created
- 9 May 2021
- Updated
- 9 Mar 2024
Overview
ReDIP-64 is an open-source printed circuit board by daglem, from the daglem/reDIP-64 repository on GitHub. It is a 6-layer board of 25.4 × 50.8 mm with 150 parts on 312 nets, routed with 3,373 tracks and 833 vias.
It is built around the LFE5UM5G-25F-8MG285C, FUSB340TMX and PTN5110NHQZ, with the SGTL5000XNLA3, W25Q128JVPIM and W957A8MFYA5I among its other parts. Its parts include 70 capacitors, 27 resistors, 23 ICs, 5 connectors and 4 diodes. It belongs with the FPGA and CPLD boards of this library.
Main components
12LFE5UM5G-25F-8MG285C
CSFBGA-2850℃~+85℃ 1.045V~1.155V 1032192bit 118 24000 6000 ECP5-5G Supports hot swap、Supports SEU error detection and correction CSFBGA-285 Programmable Logic Device (CPLDs/FPGAs) ROHSLatticeProgrammable Logic Device (CPLDs/FPGAs)FUSB340TMX
X2-QFN-18-40℃~+85℃ 1.5V~5V 10Gbps 2 USB 3.1、DP 1.3 X2-QFN-18 USB Converters ROHSonsemiUSB ConvertersPTN5110NHQZ
HX2QFN-16-EP(2.6x2.6)2.7V~5.5V I2C HX2QFN-16-EP(2.6x2.6) Interface - Specialized ROHSNXP SemiconductorsInterface - SpecializedSGTL5000XNLA3
QFN-20-EP(3x3)-40℃~+85℃ 1.1V~2V、1.62V~3.6V 8kHz~96kHz Encoder/decoder I2S、I2C、SPI QFN-20-EP(3x3) Audio Interface ICs ROHSNXP SemiconductorsAudio Interface ICsW25Q128JVPIM
WSON-8-EP(5x6)-40℃~+85℃ 100,000 cycles 10uA 128Mbit 133MHz 2.7V~3.6V 20 Years 3ms Power-on reset、Hardware write protection、Software write protection、Write enable latch、Absolute write protection SPI WSON-8-EP(5x6) NOR FLASH ROHSWinbond ElecNOR FLASHW957A8MFYA5I
TFBGA-24-40℃~+85℃ 128Mbit 200MHz 3V 500uA TFBGA-24 Random Access Memory (RAM) ROHSWinbond ElecRandom Access Memory (RAM)DSC1103CE2-135.0000
SMD3225-6P2.25V~3.63V ±25ppm SMD3225-6P Programmable Oscillators ROHSMicrochip TechnologyProgrammable OscillatorsFPF2286UCX
WLCSP-6(0.9x1.3)-40℃~+85℃ 1 2.8V~23V 25mΩ 3.5A Active Low Load Switch Short-Circuit Protection(SCP)、Over Voltage Protection、Over Temperature Protection WLCSP-6(0.9x1.3) Power Distribution Switches ROHSonsemiPower Distribution SwitchesFPF2495CUCX
WLCSP-9(1.2x1.2)-40℃~+85℃ 1 2.5V~5.5V 2A 70mΩ Active High Load Switch Over Voltage Protection、Undervoltage Protection(UVP)、Overcurrent Protection(OCP)、Over Temperature Protection WLCSP-9(1.2x1.2) Power Distribution Switches ROHSonsemiPower Distribution SwitchesFSUSB42UMX
UFQFN-10(1.4x1.8)-40℃~+85℃ 13ns 15ns 2 2.4V~4.4V 250ps 2:1 3.7pF 3.9Ω 720MHz UFQFN-10(1.4x1.8) Analog Switches, Multiplexers ROHSonsemiAnalog Switches, MultiplexersBLM18KG601SN1
06031 1.3A 150mΩ 600Ω@100MHz ±25% 0603 Ferrite Beads ROHSMurataFerrite BeadsD3V3F8U9LP3810
UDFN3810-9-55℃~+85℃ 0.55pF 1uA 3.3V 32W 5.5V 5A@8/20us 5V 8 ESD IEC 61000-4-2、IEC 61000-4-5 UDFN3810-9 ESD and Surge Protection (TVS/ESD) ROHSDiodes IncorporatedESD And Surge Protection (TVS/ESD)
README
README.mdreDIP 64
Commodore 64 FPGA emulation platform

Overview
The reDIP 64 is an open source hardware development board which combines the following in a tiny 25.40 x 50.80 mm footprint:
- Lattice ECP5-5G FPGA (LFE5UM5G-25)
- NXP PTN5110NHQ USB PD TCPC PHY
- NXP SGTL5000 Audio Codec
- 128Mbit FLASH
- 128Mbit HyperRAM
- RGB LED
- Push button
- USB-C receptacle for power, Full Speed USB, and DisplayPort (DP Alt Mode)
- Lots of 5V tolerant I/O
The reDIP 64 aims at functioning as
- A partial or full brain transplant for the venerable Commodore 64
- A "Retro computer on a chip", which can be used stand-alone or in custom retro computer builds
- A versatile generic FPGA platform with power, HID input, and audio / video output all handled through a single USB-C connector
Designs for the ECP5 FPGA can be processed by yosys and nextpnr.
Also check out the reDIP SID, if you are interested in a platform for MOS 6581 / 8580 SID emulation in particular.
General use
I/O interfaces
100 header pins:
- 5V input / output
- 3.3V output
- 92 FPGA GPIO
- 5 audio pins (stereo line input, stereo line output, GND)
- GND
All FPGA I/O is 5V tolerant, and can drive 5V TTL.
Note that the audio line inputs are not AC coupled - AC coupling must be externally added for audio applications. Without external AC coupling, the line inputs can conceivably be used as generic ADCs.
JTAG:
A separate 6 pin header is provided for JTAG.
USB-C functions:
- 5V power in / out
- USB Power Delivery (PD)
- FPGA Full Speed USB
- FPGA DisplayPort (DP Alt Mode)
Commodore 64 compatibility
The board is pin compatible with the MOS 6510 / 8500 MPU chip, and has additional pin headers to cover all the custom chips and I/O in the Commodore 64:
- 6510 / 8500 MPU
- 6567/6569 / 8562/8565 VIC-II
- 6581 / 8580 SID (x 2)
- 2 x 6526 CIA
- Cartridge port signals
- Menu / freeze button
For anyone interested in experimenting with a Commodore 64 setup, while avoiding blown fuses and a broken reDIP 64 board:
- A 2A C64 power supply is recommended
- Be careful not to apply force to SMD components on insertion and removal - use a ZIF socket if possible
The idea is that one can start by mounting the reDIP 64 in a Commodore 64, replacing the 6510 / 8500 MPU. This will make it possible to communicate with the Commodore 64 via USB, to output audio and video via the USB-C connector (DP Alt Mode), and to emulate a second SID chip.
Then, if one wishes to replace the VIC-II, the SID, or a CIA chip, the custom chip is removed, and wires are run from the reDIP 64 to the corresponding socket pins for the custom chip.
Note that the audio line outputs cannot drive the C64 audio output stage directly, however an audio output may be connected directly to pin 3 of the C64 audio/video connector (preferably removing or cutting a pin on C13 in the C64).
Also note that unless suggested GPIO is repurposed for other functions, the VIC-II can only be replaced by additionally emulating all RAM chips, and the PLA can only be replaced by emulating all custom chips, including ROM and RAM.
The MOS 8502 MPU used in the Commodore C128 has a similar pinout to the MOS 6510. Since the same pins are used for power, the reDIP 64 can conceivably also be used in a C128.
Retro computer on a chip
Power, HID input, and audio / video can all be handled via the USB-C port, hence the reDIP 64 is in fact capable of operating as a retro computer all on its own. Just connect the reDIP 64 to a DisplayPort monitor, either directly or via an USB hub, and add a keyboard and any other HID input devices. Now, all that is needed is an FPGA implementation of a retro computer :wink:
To create a fully functional retro computer, i.e. with I/O which can interface with original perhiperals, physical connectors and glue logic must be added to the mix. This can make for some fun projects!
Using the suggested GPIO, a fully functional custom C64 can be built using a minimum of additional components.
Other FPGA projects
The board can be of course also be used to experiment with e.g.
- DisplayPort audio / video
- Analog audio
- USB Power Delivery
- Interfacing with 5V TTL
- RISC-V and other CPU architectures
- Other SoC projects
Disclaimer
Please note that this is only my third board design - rookie mistakes are probably made, and feedback is welcome.
Board images
| Board Front | Board Back |
|---|---|
![]() | ![]() |
Parts
150| Qty | Value | Footprint | References |
|---|---|---|---|
| 26 | 0.1uF | Capacitor_SMD:C_0201_0603Metric | C32, C33, C34, C35, C36, C38, C40, C42, C44, C46, C48, C50, C52, C54, C56, C58 +10 |
| 23 | 1uF | Capacitor_SMD:C_0201_0603Metric | C2, C3, C4, C23, C24, C25, C26, C28, C29, C30, C31, C37, C39, C41, C43, C45 +7 |
| 9 | 1uF | Capacitor_SMD:C_0402_1005Metric | C1, C13, C14, C15, C16, C17, C19, C20, C27 |
| 8 | TestPoint | reDIP:TestPoint_Pad_D0.5mm | TP1, TP2, TP3, TP4, TP5, TP6, TP7, TP8 |
| 6 | 100nF | Capacitor_SMD:C_0201_0603Metric | C5, C7, C8, C9, C10, C11 |
| 6 | 4.7k | Resistor_SMD:R_0201_0603Metric | R21, R22, R23, R25, R26, R27 |
| 4 | 10k | Resistor_SMD:R_0201_0603Metric | R3, R4, R11, R14 |
| 4 | BLM18KG601SN1 | Inductor_SMD:L_0603_1608Metric | FB1, FB2, FB3, FB4 |
| 4 | SN74CBT16211ADGVR | TI:Texas_TVSOP-56_4.4x11.3mm_P0.4mm | U17, U18, U19, U20 |
| 3 | 100 | Resistor_SMD:R_0201_0603Metric | R8, R12, R13 |
| 3 | 22 | Resistor_SMD:R_0201_0603Metric | R6, R7, R24 |
| 2 | 100k | Resistor_SMD:R_0201_0603Metric | R9, R10 |
| 2 | 10uF | Capacitor_Tantalum_SMD:CP_EIA-1608-08_AVX-J | C69, C70 |
| 2 | 1k | Resistor_SMD:R_0201_0603Metric | R16, R18 |
| 2 | 2.2k | Resistor_SMD:R_0201_0603Metric | R1, R2 |
| 2 | 2.2uF | Capacitor_SMD:C_0402_1005Metric | C12, C21 |
| 2 | G*** | reDIP:Nimrod-N-small | svg2mod, svg2mod |
| 2 | NCP163AMX120TBG | ONSemi:CASE_711AJ_1.0x1.0mm_P0.65mm | U13, U16 |
| 2 | TPS22916CN | TI:Texas_DSBGA-4_0.78x0.78mm_Layout2x2_P0.4mm | U8, U11 |
| 1 | 1.07k | Resistor_SMD:R_0201_0603Metric | R17 |
| 1 | 1.5k | Resistor_SMD:R_0201_0603Metric | R5 |
| 1 | 10uF | Capacitor_SMD:C_0603_1608Metric | C18 |
| 1 | 10uF | Capacitor_SMD:C_0402_1005Metric | C22 |
| 1 | 1uH | Inductor_SMD:L_0603_1608Metric | L1 |
| 1 | 3.83k | Resistor_SMD:R_0201_0603Metric | R15 |
| 1 | 470nH | Inductor_SMD:L_0603_1608Metric | L2 |
| 1 | 6.2k | Resistor_SMD:R_0201_0603Metric | R20 |
| 1 | Conn_01x20 | reDIP:PinHeader_1x20_P2.54mm_Vertical | J3 |
| 1 | Conn_02x05_Odd_Even | reDIP:PinHeader_2x03_P1.27mm_Vertical | J5 |
| 1 | Conn_02x20_Counter_Clockwise | reDIP:DIP-40_W15.24mm_Header | J2 |
| 1 | Conn_02x20_Odd_Even | reDIP:PinHeader_2x20_P2.54mm_Vertical | J4 |
| 1 | D3V3F8U9LP3810 | Diodes:U-DFN3810-9 | D3 |
| 1 | DSC1103CE2-135.0000 | Microchip:Oscillator_SMD_3225-6Pin_3.2x2.5mm | U4 |
| 1 | ESD7241 | ONSemi:CASE_714AB_1.0x0.6mm | D1 |
| 1 | FAN53610 | ONSemi:CASE_567RQ_1.16x0.86mm_P0.4mm | U9 |
| 1 | FAN53611 | ONSemi:CASE_567RQ_1.16x0.86mm_P0.4mm | U12 |
| 1 | FPF1048 | ONSemi:CASE_567RM_1.46x0.96mm_P0.5mm | U7 |
| 1 | FPF2286 | ONSemi:CASE_567UV_1.30x0.90mm_P0.4mm | U6 |
| 1 | FPF2495C | ONSemi:CASE_567RV_1.21x1.21mm_P0.4mm | U10 |
| 1 | FSUSB42UMX | ONSemi:CASE_523BC_1.4x1.8_P0.4mm | U5 |
| 1 | FUSB340 | ONSemi:CASE_722AB_2.0x2.8mm_P0.4mm | U3 |
| 1 | G*** | reDIP:MOS-logo-small | svg2mod |
| 1 | G*** | reDIP:OSHW-logo | OSHW logo |
| 1 | G*** | reDIP:Nimrod-text-small | svg2mod |
| 1 | KXT311LHS | CK:SW_SPST_CK_KXT3 | SW1 |
| 1 | LFE5UM5G-25F-8MG285C | Lattice:BGA-285_10x10mm_P0.5mm | U2 |
| 1 | NC | Resistor_SMD:R_0201_0603Metric | R19 |
| 1 | NCP115AMX250TCG | ONSemi:CASE_711AJ_1.0x1.0mm_P0.65mm | U14 |
| 1 | NCP163AMX330TBG | ONSemi:CASE_711AJ_1.0x1.0mm_P0.65mm | U15 |
| 1 | PDTA143ZMB | Nexperia:SOT-883 | Q1 |
| 1 | PTN5110NHQ | NXP:SOT-1883-1 | U1 |
| 1 | SGTL5000XNLA3 | Package_DFN_QFN:QFN-20-1EP_3x3mm_P0.4mm_EP1.65x1.65mm | U23 |
| 1 | SMD-LX0707RGB-TR | Lumex:SMD-LX0707RGB-TR | D4 |
| 1 | USB4080 | GCT:USB_C_Receptacle_GCT_USB4080 | J1 |
| 1 | VESD05A6-HAF | Vishay:LLP75-7L | D2 |
| 1 | W25Q128JVPIM | Package_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4.3mm | U22 |
| 1 | W957A8MFYA5I | Winbond:TFBGA-24_6.0x8.0mm_P1mm | U21 |
Questions
How big is the ReDIP-64 PCB?
It measures 25.4 × 50.8 mm and has 6 copper layers, 1.57 mm thick.
What parts does the ReDIP-64 use?
150 parts, built around the LFE5UM5G-25F-8MG285C, FUSB340TMX, PTN5110NHQZ and SGTL5000XNLA3. 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 ReDIP-64 KiCad files?
From the daglem/reDIP-64 repository on GitHub, at the commit this page was made from: the board is hardware/reDIP-64.kicad_pcb and its schematic hardware/reDIP-64-Audio.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the ReDIP-64 design in my own project?
Its repository states no licence, so its author keeps all rights: ask daglem before reusing the design.
Similar boards
- 4 layers17.8 × 38.1 mm

- 4 layers17.8 × 38.1 mm

- 4 layers299 × 127 mm

- 4 layers70 × 92.8 mm

FE 8CH
osqzss/PocketSDR
The Pocket SDR FE device includes 2, 4, or 8 RF frontend channels, supporting the GNSS L1 band (1525 - 1610 MHz) or L2/L5/L6 bands (1160 - 1290 MHz). For these signal bands, refer to GNSS Signal Bands.
238 parts17 - 2 layers96.7 × 95 mm

Original keyboard
n4subishin/nb1-keyboard
Nb.1 - A 12-position programmable macropad with swappable Cherry MX switches and rotary encoders (STM32F405 / QMK / Remap) Nb.1 - Cherry MX互換スイッチとロータリーエンコーダーを搭載した、12キー左手デバイス(STM32F405 / QMK / Remap対応)
58 partsGPL-2.0 - 2 layers100 × 81.7 mm

FlexAddressLedsV2
RobotPatient/Manikin_Color_Hub
Led driver board files, flexible led strip files and (partially finished) software to drive them. And all our documentation. Part of the skin colour research group.
583 partsMIT - 6 layers54.6 × 19.6 mm

- 4 layers64.5 × 60 mm


