
Spartanmini shieldpower
jonthomasson/SpartanMini
A flexible, simple, yet powerful FPGA development board.

A flexible, simple, yet powerful FPGA development board.
Spartan6Dev is an open-source printed circuit board by jonthomasson, from the jonthomasson/SpartanMini repository on GitHub. It is a 4-layer board of 89 × 61 mm with 186 parts on 224 nets, routed with 1,794 tracks and 199 vias.
It is built around the XC6SLX9-2TQG144C, 93LC46B/P and FT2232HL, with the TLV1117LV12DCY, NSQA6V8AW5T2 and FXO-HC536R-26 among its other parts. Its parts include 80 resistors, 49 capacitors, 14 diodes, 7 ICs and 4 connectors. It belongs with the fPGA and programmable logic and microcontroller boards boards and the FPGA and CPLD boards of this library.
A flexible, simple, yet powerful FPGA development board.
As is the case with many things, the Spartan Mini was born out of a need I had when developing an FPGA project. I looked around at the development boards in the market, but I didn't see anything that met all of my requirements, so I decided to design one myself. There were many requirements for this board, which I will go into more detail about in the details section below, but my general requirements were as follows. I wanted a board I could hand solder fairly easily. This meant no bga. I wanted a board that was easy to program, containing both a JTAG port as well as USB. I wanted a board I could power with a wall wart and a barrel jack. The power needed to be switched. There needed to be plenty of GPIO, brought out to connectors that were preferably of a standardized format. I wanted some onboard RAM, preferrably SRAM or PSRAM for ease of use. Other than that I just wanted access to the bare metal of the FPGA, without a lot of fluff.
Continuing from the requirements stated in the description, here is a more in depth look at those requirements and how the Spartan Mini meets them:
It seems like 90% or more of the FPGA's out there are in a BGA package. This made things difficult when considering this spec. I finally settled on the Spartan 6 FPGA because it came in a 144 pin TQFP package. The Spartan 6 is a well known and well supported FPGA among hackers and makers, making it a perfect candidate for the job.
For the USB portion of this requirement, I decide to use the FT2232H chip by FTDI. This chip gave me both a USB to JTAG channel, as well as a USB to UART bridge that I could use later on to facilitate transferring data to the FPGA over the USB connection. I also wanted to include a full size 14 pin JTAG connector on board, to facilitate the use of a Xilinx Platform Cable USB programmer. This took a little more board space, but provides an easier interface to connect to the Xilinx programmer.
This requirement was fairly simple to implement. The voltage requirements for the board fall between 3.7-6 volts dc. In addition to the barrel jack, the board provides jumpers to optionally be powered over USB, or a JST-PH connector and 3.7 volt lithium battery, as well as a voltage input pin.
Again, this requirement was not hard to implement. I just needed to select an adequate switch, capable of handling the current demands of the board.
Many FPGA boards today seem like they waste a lot of IO on providing connectors on board that likely aren't needed by every project such as SD cards, VGA, HDMI, etc. Instead of using up the IO on peripherals that may be unneeded I opted to instead route all GPIO lines out to PMOD connectors. These connectors seem to be picking up in popularity and there are already tons of sensors/peripherals to choose from in the marketplace that can be plugged into the board if/when they're needed. In addition to the GPIO, I also wired GPIO pins to 8 user programmable LED's, 2 tactile buttons, and 1 slide switch. The addition of the 8 LED's aids greatly in debugging, but it also allows for precisely one byte of data to be represented in binary.
This requirement is simply for the ease of use of SRAM over DRAM. The downside to SRAM is of course the price, which is why I settled on PSRAM instead. Essentially PSRAM provides an interface to the outside world that looks like SRAM, while internally it is made up of DRAM. As such, it is much cheaper than SRAM, but way less work to interface with than DRAM. This particular board provides 8Mb of PSRAM, which is adequate for my needs.
Here's a pic of the finished proto shield:
| Qty | Value | Footprint | References |
|---|---|---|---|
| 37 | .1uF | Capacitors_SMD:C_0603 | C1, C2, C10, C11, C12, C13, C14, C15, C16, C17, C18, C19, C20, C21, C24, C25 +21 |
| 24 | 200 | Resistors_SMD:R_0603 | R39, R40, R41, R42, R47, R48, R49, R50, R59, R60, R61, R62, R63, R64, R65, R66 +8 |
| 20 | 0 | Resistors_SMD:R_0603 | R18, R19, R22, R23, R43, R44, R45, R46, R51, R52, R53, R54, R55, R56, R57, R58 +4 |
| 13 | 10K | Resistors_SMD:R_0603 | R6, R7, R8, R17, R20, R21, R24, R25, R26, R35, R36, R37, R38 |
| 10 | NSQA6V8AW5T2 | Spartan6Dev:SOT323_5_NSQA6V8AW5T2 | D1, D2, D3, D4, D5, D6, D7, D8, D9, D10 |
| 8 | 330 | Resistors_SMD:R_0603 | R27, R28, R29, R30, R31, R32, R33, R34 |
| 8 | LED | LEDs:LED_0603 | LD1, LD2, LD3, LD4, LD5, LD6, LD7, LD8 |
| 4 | 220 | Resistors_SMD:R_0603 | R1, R2, R14, R15 |
| 3 | 18pF | Capacitors_SMD:C_0603 | C23, C26, C27 |
| 3 | 4.7K | Resistors_SMD:R_0603 | R3, R4, R5 |
| 2 | 0 | Resistors_SMD:R_1206 | R79, R80 |
| 2 | 10 | Resistors_SMD:R_0603 | R10, R11 |
| 2 | 10uF | Capacitors_SMD:C_1206 | C45, C46 |
| 2 | 1uF | Capacitors_SMD:C_0603 | C43, C44 |
| 2 | 4.7uF | Spartan6Dev:TantalC_SizeA_EIA-3216_Reflow | C30, C33 |
| 2 | BTN_PUSH | Spartan6Dev:SWITCH_PTS810 | BTN2, BTN3 |
| 2 | D_TVS | Spartan6Dev:D_TVS_PGB1010603 | CR1, CR2 |
| 2 | L_Small | Resistors_SMD:R_0805 | L1, L2 |
| 1 | .01uF | Capacitors_SMD:C_0603 | C22 |
| 1 | 12K | Resistors_SMD:R_0603 | R12 |
| 1 | 12MHz | Spartan6Dev:CRYSTAL_ABM3 | X2 |
| 1 | 1K | Resistors_SMD:R_0603 | R13 |
| 1 | 2K | Resistors_SMD:R_0603 | R9 |
| 1 | 3.3uF | Capacitors_SMD:C_1206 | C31 |
| 1 | 470 | Resistors_SMD:R_0603 | R16 |
| 1 | 47uF | Capacitors_SMD:C_1210 | C40 |
| 1 | 93LC46B | Spartan6Dev:SOT-23-6 | U2 |
| 1 | BARREL_JACK | Spartan6Dev:Barrel_Jack_PJ002A | J2 |
| 1 | BTN_RESET | Spartan6Dev:SWITCH_PTS810 | BTN1 |
| 1 | DONE_LED | LEDs:LED_0603 | LED1 |
| 1 | FT2232H | Housings_QFP:LQFP-64_10x10mm_Pitch0.5mm | U3 |
| 1 | FXO-HC536R | Spartan6Dev:OSCILLATOR_FXO_HC53 | X1 |
| 1 | IS66WV51216EBL | w_smd_dil:tsop2-44 | U6 |
| 1 | JST-PH 3.7V BAT | Spartan6Dev:JST_PH_S2B-PH-K_02x2.00mm | BT1 |
| 1 | JTAG | Connect:IDC_Header_Straight_14pins | P1 |
| 1 | LOGO | logo:spartan_logo | G*** |
| 1 | LOGO | logo:spartan_text | G*** |
| 1 | LOGO | logo:mini_text | G*** |
| 1 | M25P16 | Housings_SOIC:SOIJ-8_5.3x5.3mm_Pitch1.27mm | U7 |
| 1 | PMA | Spartan6Dev:Socket_Strip_Angled_2x06_PMOD | JA1 |
| 1 | PMB | Spartan6Dev:Socket_Strip_Angled_2x06_PMOD | JB1 |
| 1 | PMC | Spartan6Dev:Socket_Strip_Angled_2x06_PMOD | JC1 |
| 1 | PMD | Spartan6Dev:Socket_Strip_Angled_2x06_PMOD | JD1 |
| 1 | PME | Spartan6Dev:Socket_Strip_Angled_2x06_PMOD | JE1 |
| 1 | PWR_LED | LEDs:LED_0603 | LED4 |
| 1 | PWR_SELECT | Spartan6Dev:Pin_Header_Straight_1x03 | P2 |
| 1 | RX_LED | LEDs:LED_0603 | LED2 |
| 1 | SWITCH_INV | Spartan6Dev:SWITCH_SPDT_OS102011MS2QN1 | SW2 |
| 1 | SWITCH_PWR | Spartan6Dev:SWITCH_SPDT_500SSP1S2M2QEA | SW1 |
| 1 | TLV1117LV12 | TO_SOT_Packages_SMD:SOT-223 | U4 |
| 1 | TLV1117LV33 | TO_SOT_Packages_SMD:SOT-223 | U5 |
| 1 | TX_LED | LEDs:LED_0603 | LED3 |
| 1 | USB MICRO | Spartan6Dev:MICRO_USB_10118194 | J1 |
| 1 | XC6SLX9-2TQG144C | Housings_QFP:TQFP-144_20x20mm_Pitch0.5mm | U1 |
The 182 most common of 186 parts.

jonthomasson/SpartanMini
A flexible, simple, yet powerful FPGA development board.

jonthomasson/SpartanMini
A flexible, simple, yet powerful FPGA development board.


numato/samplecode
This repository contains sample code for different Numato Lab products


EDA-bench/eda-bench
Execution-based benchmark for open-book KiCad PCB reconstruction agents

fsnitz/CcSoM
An open source system on chip based on the GateMate FPGA from Cologne Chip (Supports: CCGM1A1 & CCGM1A2)



It measures 89 × 61 mm and has 4 copper layers, 1.6 mm thick.
186 parts, built around the XC6SLX9-2TQG144C, 93LC46B/P, FT2232HL and TLV1117LV12DCY. 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.
From the jonthomasson/SpartanMini repository on GitHub, at the commit this page was made from: the board is rev1.c/Spartan6Dev.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Its repository states no licence, so its author keeps all rights: ask jonthomasson before reusing the design.