New project board for TinyFPGA B2 boards (wip)


I’m working on a project board for the TinyFPGA B2 boards. The general idea is for it to be used to implement existing retro computers or computers of your own design. This is a project board that you would assemble yourself.
To make it a bit easier all of the components are through-hole parts. It adds the following features to a TinyFPGA B2 board:

  • 128 or 64 Kilobytes SPI SRAM
  • MicroSD Card Slot in SPI mode
  • VGA output, 2-bits per color
  • PS/2 connector for a keyboard
  • USB-A host connector
  • Audio output jack
  • Prototyping area
  • Pico-ITX form-factor

The current work-in-progress design is looking like this:

EDIT: Updated image and SPI SRAM


Here is something I don’t quite understand. I thought that to generate VGA signal FPGA needs at least 25 Mhz clock. However TinyFPGA B2 has only 16 Mhz clock. Will it work?


Even though the on-board clock is 16MHz, the FPGA itself has a PLL. PLLs are able to take an input clock and multiply and divide the frequency to generate a large range of output frequencies, including 25MHz for VGA.

That being said, I have been considering a design of this board that works with either an A-Series or B-Series TinyFPGA. In that case I would include a 25.175 MHz crystal.


Luke, more RAM please! I was just looking at the B2 to implement a homebrew 16- or 32-bit CPU, and bring up an OS like RetroBSD or xv6 on it. So something like 512Kb or 1Mb would be wonderful!

Thanks, Warren


256KB is the most I can get with SPI SRAM. I think you would be much happier with the e-series when it comes out:


Thanks for the reply Luke. I’m not sure if the ECP5 FPGA is supported by IceStorm. If not, I can buy a B2 and breadboard up a Microchip 1Mbit SRAM (or several), an SDHC socket and a UM245R UART. Cheers, Warren


Ohh…I just found this:

I’ll see if I can modify the SPI SRAM footprint to also accept the surface mount packages.


@DoctorWkt actually, that part is also 1mbit. Hmm, you could use the breadboard area to add more SPI SRAM. You could easily get a total of 256KB and maybe 512KB if you are creative.


You know, I think I just misread your post…bits vs bytes. Yes, I can sell it with 128 kilobytes, which would be 1 megabit. So I think it will have what you’re looking for :sweat_smile:


That would be excellent Luke, and help support legacy system implementations with more than 64KB of RAM. I’ve just ordered my B2 :slightly_smiling_face:

Cheers, Warren


The prototype boards arrived! Parts arrive today as well. I’ll build one up and test it out.


Done soldering except for the audio low-pass filters. Need to figure out some reasonable R and C values. Was fun to solder! The production boards will have gold finishing (ENIG) vs tin (HASL).


The TinyFPGA Computer Project Board is now available on Tindie! It will show you the full kit price including a discounted TinyFPGA B2 module. If you don’t want the module, there is an option to remove it. If you just want the bare board you can do that as well.


Luke, will the e-series be compatible with icestorm by any chance?


There’s not currently support for the ECP5 FPGA in the e-series. But I will be working to get support for it.



Received my TinyFPGA Computer Project Board kit today, only a few days after ordering on Tindie. Looks good. I wonder if you might be able to provide a PDF of the board schematic to help in assembling the kit?
And also wonder if there is a beginning design file to load into the B2 board to test out initial operation?



Success, was able to create a simple 800x600 VGA colorbar design for the B2 and Project board.



Can you make the schematics (pdf) and possibly a example project available.


Unfortunately, I found the issue with the PS2 keyboard connector. Compared to my other dev boards with PS2 connectors, the pin numbers on this connector are mirrored, left to right. This means that the 5V pin from the keyboard is connected to GND on the connector and the same going in the other direction. Results in high current on the supplying USB port, and does not work. I guess for now, I will try to unsolder the connector, and either fly wire it to the board with the right connections, or replace it with a wired PS2 connector that will allow me to swap the pins. Just wanted to pass this info along to anyone else bringing up designs on the board.


Ohh man, that’s a pretty terrible mistake on my part. I’ll have to think of a way to make it right. Thanks for the debug and for letting me know!