I've been hacking away lately, and I'm now proud to show off my newest project - The Icepi Zero!
In case you don't know what an FPGA is, this phrase summarizes it perfectly: "FPGAs work like this. You don't tell them what to do, you tell them what to BE." You don't program them, but you rewrite the circuits they contain!
So I've made a PCB that carries an ECP5 FPGA, and has a raspberry pi zero footprint. It also has a few improvements! Notably the 2 USB b ports are replaced with 3 USB C ports, and it has multiple LEDs.
This board can output HDMI, read from a uSD, use a SDRAM and much more. I'm very proud the product of multiple weeks of work. (Thanks for the pcb reviews on r/PrintedCircuitBoard )
(All the sources on github under an open source license :D)
PS. See some more pics on reddit https://www.reddit.com/r/FPGA/comments/1kwxvk8/ive_made_my_f...
If I understood correctly, the ECP5 FPGA can be designed for with open source tooling [0][1], which makes this even more awesome.
OP, if you are planning to commercialize these, try to confirm compatibility, that will definitely make it more attractive!
[0] https://hackernoon.com/getting-started-using-open-source-fpg...
I checked out his post on Reddit [0]. OP (cyao12) wrote a CPU in Verilog at the age of 13 and is now only 16. Mind. Blown.
cyao12: I'm going to try and put the old cpu I made in verilog when I was 13 on it! The sdram is okay, the traces are short enough that the distance difference doesn't matter :D
Collez_boi: You made a freaking CPU in Verilog when you were 13?! That's crazy.
cyao12: Yeaaah, but tbh the design wasnt really good lol. Im 16 now so Im quite happy about my progress
[0] https://www.reddit.com/r/FPGA/comments/1kwxvk8/ive_made_my_f... The FPGA used seems to be quite popular in the hobbyist community. If you don't care about the form factor, there exist relatively cheap high-volume ECP5-based boards that have been repurposed to be general FPGA dev boards [1].
[1] https://www.amazon.com/Price-Colorlight-5A-75B-Screen-Receiv...
The only downside of those is that the SDRAM chip is wired with its DQM pins tied low, which means you can't do byte writes to SDRAM - you have to write a full word at a time. That makes it much harder to port existing cores to the ColorLight boards.
Another project like FPGA in "Pi Zero" format was fleaFPGA_Ohm (http://fleasystems.com/fleaFPGA_Ohm.html).
Yep - unfortunately, that never appears to have been available for purchase outside the Indiegogo campaign.
Fpga is kind of like the final frontier in my embedded trajectory, haven’t made the leap yet mainly because microcontrollers or fixed arch cpus are fast enough for most consumer tech. I’d love to give it a shot one day though
This looks like a great project, a fun toy to play with.
However, stating that:
> I've always wanted a low-cost portable FPGA with video output to make my own CPU, but there isn't any on the market.
is definitely not true: one can buy Sipeed's Tang Nano boards for $25+ on Amazon (or less if one needs fewer than 20k LUTs).
Oh that's nice, how come I never saw those!
The Gowin chips are quite interesting - they have RAM built in to the FPGA itself. It's SDRAM in the case of the Tang Nano 20k. It's a 32-bit wide RAM, but unfortunately only 8 megabytes, which is a bit limiting. The FPGA's clocking is a bit limited, too. (For that reason, there's an extra clock generator on the Tang Nano 20k.)
What is this FPGA capable of? Can any of the cores of the MISter cores be ported over to this?
I recently got a build of the Minimig Amiga core running on IceSugarPro (which has the same FPGA and same size SDRAM) - only the ECS chipset (no AGA) but I did get RTG graphics working at 1280x720x16bit. It uses PS/2 rather than USB for keyboard and mouse, but apart from that it would be trivial to port to this new board.
I found this one so far:
https://github.com/emard/ulx3s_c64
Exciting to have an alternative to de10-nano, especially seeing the price doubled? since I got mine.
Amazing project anyway, and brings back dreams of building some arcade cabinates. Icepi Zero looks perfect for the job! I hope they arrive in the EU one day.
it probably can - I see that uls3x already has a few ported over cores, and they will be able to run on this fpga with little modifs
Can you sell these assembled? Using Tang nano for learning right now, but the tooling and docs situation is not great
The icebreaker is great and easy to get up and running, plus it has pmod headers which makes it easy to add add-ons.
Yep, and I love it. That's a much smaller (and lower pin count) FPGA than this ECP5, though.
IceSugarPro (with its breakout board) is quite a nice board if you want something pre-assembled. Same FPGA as this new board (so also supported by the Open Source toolchain), same size SDRAM, HDMI out but PMODs for everything else.
I really like the look of this new board, though - I definitely want to get my hands on one. (I also have a Tang Nano 20K but don't like it all that much.)
I have the icesugar pro as well. I like the SODIMM form factor because it works well on a cheap four-layer carrier board and it exposes a lot of IO, which is what I want when I'm doing stuff with FPGAs.
Impressive! Looks well thought out. FPGA programming is something I've wanted to get into, this might be my entry point. Great work!
What would it take for something like this to output eDP over one of the USB C ports? What are the design and hardware requirements?
Neat stuff! Is this similar to the Arduino MKR Vidor?
Somewhat similar, yes - but the vidor had a smaller FPGA, a smaller RAM chip, and the board contained a small supporting microcontroller as well as the FPGA.
Looks great! Is there an FPGA board with HDMI in and out? I’d like to build an HDMI freeze button to transmit a single frame at the push of a button. (e.g. during a meeting or church when noticing mistakes on the PPT slides).
If you want something that's made for professional use, look at the BlackMagic ATEM series. I think that should have you covered.
Thanks, but I’d prefer open-source rather than professional.
Have you conaidered a £10 HDMI capture card? Not open source, or much of a project, but it would Just Work.
I've got an Elgato Camlink, but need the freeze button (e.g. CamLink input to a Raspberry Pi full-screen, feeding through to HDMI output, with a GPIO button to pause the live stream).
No crowdsupply?
After the amount of emails i got asking if i sell the boards, I just applied to crowdsupply :P
I have no idea about this product category but am interested in learning more about FPGAs. What is the ballpark price point that something like this would be? Are we talking $100 or $1000?
Not OP, but these kind of boards are ballpark between $100-$200.
Here’s a similar board with the same FPGA: https://www.crowdsupply.com/radiona/ulx3s.
Another similar board (perhaps even more similar than the ULX3S) is the IceSugarPro - it's sub-$100 for the module and breakout board.
[I enjoy reading your blog by the way - just last week I picked up a Pano Logic G1 on EBay!]
at bulk 40-50$! My dev batch of 5 comes out at around 70$ per board, but it has a large startup cost.
Don't offer them too cheaply. Typically you want to roughly sell for 4x your buy price. 200 seems good and there should be plenty demand at that price.
Great work. I'll look into this after my vacation as it seems quite interesting for our university courses.
Can I ask your reasoning about not selling them too cheaply? I would like to sell them cheaper then the existing boards since the price prevented me from buying one when I was 13
That's a great motivation. I just want to caution against underestimating some costs (shipping, returns) and leaving yourself a good margin of error. If your goal is to supply as cheaply as possible, you can always lower the price later. Extra profits can always go into improvement :)
And once you start taking money from people you'll have to deliver, it can alter how it feels when working on the project. It can feel a lot less fun, it needs to be worth your time.
Selling them nice and cheap is great if you're going to do one batch as a project and then move on to other things.
If you're still going to be selling them next year and the year after that, you don't want it to become a burden or a chore - it has to feel like it's worth your while to be psychologically sustainable.
What's your goal? Do you primarily want to help other people get gear cheaply or do you primarily want to be rewarded for your work?
Either is fine, but it's important to have a least a few of the latter, a person has got to eat.
Also consider that it will feel like you're doing a good thing at first, but once you have some units get lost in the mail, users try to scam you for free units, etc it will feel a lot more like a job! You will have an obligation that all of a sudden you're not being paid for at all.
That’s good advice. You need to see the costs that are not so obvious including your own time.
You might as well profit a bit in exchange of the extra work and to cover some losses as others mentioned.
Eventually if demand is sustained, you will see clones pop up on AliExpress or the likes of it very cheap anyway. The design is open source after all, and this is plenty of generosity already.
You can consider making a discount if someone ask for it with a university email or something.
$25 - $35 on Amazon, quantity 1, just search for "tang nano" or "tang primer".
This would probably fall in the $100 range if comparable to other ECP5 dev boards like OrangeCrab.