Skip to the content
PCBKitNew board
2 layers41.3 × 10.7 mmFfp, the printed circuit board in 3D

Redesigned hardware of adamgreig's fpga/flash programmer

Size
41.3 × 10.7 mm
Copper layers
2
Thickness
1.6 mm
Parts
17
Nets
37
Pads
99
Tracks, vias
217, 34
Pours
3
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
26 Mar 2020
Updated
20 Apr 2020

Overview

Ffp is an open-source printed circuit board by Droid-MAX, from the Droid-MAX/ffp repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 41.3 × 10.7 mm with 17 parts on 37 nets, routed with 217 tracks and 34 vias.

It is built around the STM32F042K6T7 and MIC2004-0.5YM5-TR. Its parts include 7 capacitors, 3 resistors, 3 ICs, 3 connectors and 1 diode. It belongs with the fPGA and programmable logic and interfaces and adapters boards and the STM32 boards of this library.

Main components

2

README

README.md

FFP: Flash/FPGA Programmer

FFP is a dead-simple USB to bidirectional SPI bridge for programming iCE40 FPGAs and their SPI flash. The hardware is an STM32F042 and not much else. Firmware and host software is written in Rust.

The firmware additionally supports SWD via the CMSIS-DAP v1 protocol, so many debuggers such as probe-rs, OpenOCD, and pyOCD are able to use an FFP to debug and program Cortex-M and other microcontrollers.

Photo of FFP PCB

See software/ for the host-side software, firmware/ for the embedded device firmware, and hardware/ for the hardware design files.

Pinout

The FFP r1 hardware uses a 5x2 pin 0.05"-pitch connector, which is also commonly used for Cortex family microcontrollers for SWD and JTAG. The pinout is deliberately compatible (though note RESET is moved) to allow hardware reuse and for compatibility with tools such as TagConnect cables.

ascii
          ______
    3v3 --|1  2|-- FLASH DI / FPGA DO / SWDIO
    GND --|3  4|-- CLK / SWCLK
    GND --|5  6|-- CS / SWO
   NULL --|7  8|-- FPGA nRST
    GND --|9 10|-- FLASH DO / FPGA DI / nRESET
          ------

This is the same pinout used by amp_flashprog, a custom firmware for Black Magic Probes to bitbang SPI to the same ends.

Licence

Software and firmware is licensed under either of

at your option.

Hardware design files are licensed under the Creative Commons Attribution license (CC-BY).

Parts

17
QtyValueFootprintReferences
5100nagg:0603C1, C2, C3, C4, C7
310kagg:0603R1, R2, R3
21µagg:0603C5, C6
1LEDagg:0603-LEDD1
1MCP1700agg:SOT-23IC2
1MIC2004-0_5YM5agg:SOT-23-5IC3
1PROGConnector_PinHeader_1.27mm:PinHeader_2x05_P1.27mm_VerticalJ3
1STM32F042K6T7agg:LQFP-32IC1
1SWD_TCagg:TC2030-NLP1
1USB_C_Receptacle_USB2.0footprints:USB-C_16PinJ2

Questions

How big is the Ffp PCB?

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

What parts does the Ffp use?

17 parts, built around the STM32F042K6T7 and MIC2004-0.5YM5-TR. 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 Ffp KiCad files?

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

Can I use the Ffp design in my own project?

Its repository publishes it under the Apache-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 layers40.8 × 10.6 mmAdamgreig ffp ffp, the printed circuit board in 3D

    Adamgreig ffp ffp

    oomlout/oomlout_oomp_project_bot_v_2

    17 parts
  • 2 layersFlightController, the printed circuit board in 3D

    FlightController

    dylanjacobsun/flight_Controller

    Flight controller for flying wing

    85 parts1
  • 2 layers50 × 50 mmBinary tree, the printed circuit board in 3D

    Binary tree

    cillian64/binary-tree

    A simple electronic christmas tree ornament, intended for teaching electronics.

    30 parts
  • 4 layers99.8 × 94.6 mmOresat proto card, the printed circuit board in 3D

    Oresat proto card

    pleiades-cluster/OreSat-Proto-Rev

    123 parts
  • 4 layers99.8 × 94.6 mmOresat proto card, the printed circuit board in 3D

    Oresat proto card

    oresat/oresat-proto-card

    Prototype card for the OreSat bus. Requires the OreSat Backplane.

    128 parts9
  • 4 layers99.8 × 94.6 mmOresat adcs card, the printed circuit board in 3D

    Oresat adcs card

    kitspace-test-repos/kicad6-file-collection

    563 partsMIT
  • 2 layers50 × 35 mmServo power, the printed circuit board in 3D

    Servo power

    earthtojake/text-to-cad

    Design physical products with AI

    17 parts26kMIT