IcePI Zero: A Pi Zero For FPGA

The Rasberry Pi Zero is a delightful form factor, with its GIPO and USB and HDMI, but it’s stuck using the same old ARM processor all the time. What if you wanted to change it up with some OpenSPARC, RISC V, OpenPOWER, or even your own oddball homebrew ISA and processor? Well, fret not, for [Chengyin Yao]’s IcePi Zero has got you covered with its ECP5 25F FPGA.

As the saying goes, you don’t tell an FPGA what to do, you tell it what to be. And with the ECP5 25F’s 24k LUTs, you can tell it to be quite a few different things. This means more work for the maker than plugging in a fixed processor, sure, but IcePi tries to make that as painless as possible with quality-of-life features like HDMI out (something missing from many FPGA dev boards), an onboard USB-to-JTAG converter (so you can just plug it in, no programmer needed), and even USB-C instead of the Pi’s old microUSB. There’s the expected SD card on one end, and 256 MiB of 166 MHz SDRAM on the other to make up for the FPGA’s paltry 112 KiB of onboard RAM.

Plus it’s a drop-in replacement for the Pi Zero, so if you’ve already got a project that’s got one of those running an emulator, you can fab one of these babies, spool up some Verilog, and enjoy running on bare metal. It seems like this device is just made for retro gaming handhelds, but we’d love to hear in the comments if you have other ideas what to do with this board– remember that an FPGA can be (almost) anything, even a GPU!

Currently, [Chengin Yao] is not selling the board, though they may reconsider due to demand in their Reddit thread. If you want one, you’ll have to call your favourite fabricator or etch your own PCB.

We’ve seen FPGAs before; most recently to create an absurdly fast 8080 processor. We’ve also seen DIY dev boards, like this one for the AMD Zyntac FPGA. Doing something fun with FPGAs? Drop us a tip! We’re happy [Chengin Yao] did, because this is amazing work, especially considering they are only 16 years old. We cannot wait to find out what they get up to next.

32 thoughts on “IcePI Zero: A Pi Zero For FPGA

  1. but we’d love to hear in the comments if you have other ideas what
    to do with this board

    That is the problem isn’t? Beside of retrogaming there is not so much use of an FPGA for “normal” homebrew. Our microcontroller becomes to powerful in these days. :)

    1. That’s my thought. I would love to learn FPGA and do nice projects with it but I haven’t come up with any problem that needs FPGA, usually powerful microcontroller is just fine. Trying to communicate this in positive spirit: nothing wrong with FPGAs but oh I wish I could have a project where to lease it’s potential.

      1. high speed control of an LED matrix using tons of IO, precise control of motors and other machinery for CNC and robots, AI and other tasks requiring hardware acceleration, anything involving a raw camera sensor, ditto for raw LCD panels a lot of the time, custom networking gear especially at line rate, high speed sample acquisition/parallel measurement

        none of those things are nearly as good a fit for an MCU as for an FPGA. if you need things handled quickly and in parallel, and FPGA is the only way to do it

        1. For motor control, a specialised microcontroller is much better and cheaper than an FPGA, since there are many different calculations to be done, and FPGAs generally don’t have analog peripherals.

          Having lots of data that requires a lot of the same operations, like image processing, can be done with an FPGA, but big, fast FPGAs are expensive, so if it’s possible, a GPU is often a better solution.

          I have the experience with FPGAs (professionally), and I have a number of different FPGA dev boards, but I’ve never found a purpose for one in a hobby project.

          1. Right, that’s why every high end servo inverter has FPGA and DSP320 or newer arm CPU. For decades high resolution encoder interfaces were handled by FPGAs, try synchronising 10000ppr encoder with 6 pole permanent motor driving currents at 6000rpm using any CPU. I dare you.
            Or even sync feedback from 9 current sensors and 18 IGBT gate drivers at 32KHz switching frequency and 16 bit PWM.

          2. A GPU? Really? A GPU is going to be used to ingest and a process a video stream? Sorry, but you have no idea what a GPU is or does. Starting with the fact that no GPU on earth has the interfaces to do that.

          3. Yeah, a $5 Pico 2 or other RP2350 can run each PIO pins at 150 MHz or higher, so that covers many high speed hobby uses. For $5. That can paired with your choice of another chip if needed for quick, easy designs at pretty good speeds. Not multiple GHz, but most hobby projects don’t need GHz IO.

            @M might want to explain to Nvidia and to the ffmpeg developers that GPUs aren’t for video and graphics processing. Apparently Nvidia doesn’t “know what a GPU is and does”, because they seem to think GPU stands for Graphics Processing Unit. They think their product is used for video processing. Maybe M can explain to them what their product actually is.

      2. One nice use-case could be a DIY USB-analyzer and debugger. Like a commercial e.g. Beagle analyzer, but also with the ability to inject bit-error and other fault conditions on the USB-wires. The use-case for the latter could be to debug and robustify your USB-drivers and protocol stack, in whatever MCU or processor you’d have on your bus.

    2. this might be a nice platform to make a new open source photo or document scanner architecture. the biggest problem right now is aging film scanners for analog photography, depending on aging hardware and ancient OS-ses, running on ancient hardware again. mechanically and optically, a lot of scanners could have another lease of life, but the stupid electronics are the problem, like usb 1.0, firewire or even scsi. a professional film scanner nowadays costs north of 8k (noritsu, fujifilm) and they are still running win xp…

    1. Not swap in, really. This project uses the 256 caBGA (0.8mm pitch, 14x14mm) package, and the smallest the 85 comes in that category is the 381 (17x17mm). So it will be a struggle to make it fit, and you’ll have to reroute a lot of stuff anyway, because of the different pinouts. An option would be the 285 caBGA (10x10mm), but that’s 0.5mm pitch and a whole different can of worms.

      If you’re going to go that route you might as well change that ancient (but easy) SDRAM and drop 4GiB of DDR3 for about the same price – and the additional complexity O:-)

  2. This is a ground shaking Confluence of events. The idea that modern LLM agents can write programs and create Verilog description files from verbal psudo code – WOW!!! This with combined with fluid PC Board fab actually allows you to make anything you want. The fact that they have an FPG locked into a format that’s commonly used and so simple you can just talk and come up with stuff and make things. It is like when the TI – 59 hit.

    1. “Intel i7 or i9 and AMD ryzen started off as an fpga implementation”

      Provide the source to this claim… Didn’t know big tech uses FPGA for prototyping new chips.

      1. I’ve read before that they start by using things like Cadence Palladium, then when RTL is more stable, they migrate to ARRAYS of the largest FPGAs available (and I don’t even want to imagine the headache of partitioning the design). That allows for faster emulation, but still well below the GHz mark. Better than doing it on software or wasting ASIC iterations, though.

  3. I spotted this project in Reddit a few days ago and it’s quite cool, particularly given the designer’s background. I love when kids get into this.

    That’s 256Mbits of RAM though, not MB.

  4. Unsure if this is all Chengyin Yao’s work, or collaborative, but either way, the Icepi Zero is a neat design and layout – the result of a lot of work.

    As an engineer/designer, one can pin down the goal posts but they often can be found, for good reason, to move during the project development and inspirations on the way. It is great to get the STEM community involvements and set seeds for future engineers – Chengyin included.

    Still pondering merging an FPGA on a future iteration of my STEM based ESPuno Pi Zero board. Maybe the Icepi has provided me some inspiration along the way.

    Keep up the good work Chengyin and hopefully the IcePi Zero project will evolve too.

Leave a Reply to olafCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.