github.com

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...

225
51
jwrallie 1 day ago

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...

[1] https://github.com/YosysHQ/prjtrellis

Cyao 1 day ago

I am indeed using fully open source tooling! Check out the makefiles in the firmware directory :)

kam 1 day ago

The examples in the repo are using the open-source yosys + nextpnr tooling.

MegaDeKay 1 day ago

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...

utopcell 18 hours ago

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...

robinsonb5 14 hours ago

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.

NoOn3 1 day ago

Another project like FPGA in "Pi Zero" format was fleaFPGA_Ohm (http://fleasystems.com/fleaFPGA_Ohm.html).

duskwuff 1 day ago

Yep - unfortunately, that never appears to have been available for purchase outside the Indiegogo campaign.

ost-ing 1 day ago

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

utopcell 18 hours ago

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).

Cyao 17 hours ago

Oh that's nice, how come I never saw those!

robinsonb5 14 hours ago

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.)

utopcell 13 hours ago

You stepped up to share something, we shared something back. :-)

nebula8804 1 day ago

What is this FPGA capable of? Can any of the cores of the MISter cores be ported over to this?

robinsonb5 14 hours ago

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.

whitehexagon 21 hours ago

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.

Cyao 1 day ago

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

kaoD 1 day ago

What's the approximate cost of materials?

deivid 1 day ago

Can you sell these assembled? Using Tang nano for learning right now, but the tooling and docs situation is not great

Graziano_M 1 day ago

The icebreaker is great and easy to get up and running, plus it has pmod headers which makes it easy to add add-ons.

duskwuff 1 day ago

Yep, and I love it. That's a much smaller (and lower pin count) FPGA than this ECP5, though.

robinsonb5 1 day ago

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.)

Gracana 14 hours ago

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.

jedbrooke 1 day ago

can the HDMI be configured as input?

this looks super cool! it’s inspiring me to finally dust of the NeTV2 board I have. but alas time for hobbies has been in short supply for a while

Cyao 1 day ago

it can! no reason why it wouldnt be

aappleby 1 day ago

Take my money already. :D

mysterydip 1 day ago

Impressive! Looks well thought out. FPGA programming is something I've wanted to get into, this might be my entry point. Great work!

sockbot 1 day ago

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?

ComplexSystems 1 day ago

Neat stuff! Is this similar to the Arduino MKR Vidor?

robinsonb5 23 hours ago

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.

peterburkimsher 1 day ago

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).

mschuster91 23 hours ago

If you want something that's made for professional use, look at the BlackMagic ATEM series. I think that should have you covered.

peterburkimsher 23 hours ago

Thanks, but I’d prefer open-source rather than professional.

nsteel 22 hours ago

Have you conaidered a £10 HDMI capture card? Not open source, or much of a project, but it would Just Work.

peterburkimsher 22 hours ago

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).

teamonkey 1 day ago

No crowdsupply?

Cyao 1 day ago

After the amount of emails i got asking if i sell the boards, I just applied to crowdsupply :P

lukevp 1 day ago

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?

tverbeure 1 day ago

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.

robinsonb5 23 hours ago

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!]

tverbeure 10 hours ago

Thanks! I'm looking forward to your Pano Logic pull requests! :-)

Cyao 1 day ago

at bulk 40-50$! My dev batch of 5 comes out at around 70$ per board, but it has a large startup cost.

kriro 1 day ago

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.

Cyao 1 day ago

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

kriro 1 day ago

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 :)

nsteel 22 hours ago

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.

robinsonb5 23 hours ago

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.

idiotsecant 19 hours ago

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.

jwrallie 17 hours ago

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.

utopcell 18 hours ago

$25 - $35 on Amazon, quantity 1, just search for "tang nano" or "tang primer".

wyager 1 day ago

This would probably fall in the $100 range if comparable to other ECP5 dev boards like OrangeCrab.