Though it is cool to see a minute FPGA dev board, I don't see the value proposition here. At $45, it is too expensive to use in a product. What is the killer app for this board?
One can get a significantly more powerful Tang Nano 20K [1] kit on Amazon right now for $31 [2].
Custom hardware has always been hard and expensive. It's really amazing that this can be done for just $45. Playing with tech like this is usually for the appeal of it in itself, which is what makes the price worth paying.
That said, It would be nice to know the cost breakdown and what kind of price could ultimately be achieved if someone came up with a use that needed 10,000 of these.
I kind of like the idea of a tiny game console that had something like a RP2040 inside and these were its game cartridges. Use an actual microSD for purely software games, and the FPGA for cool experimental stuff.
Depends what the product is - Obviously it's too pricey for what the FPGA is for mass production, but I've seen development boards that cost a several hundred dollars each (or even a few thousand dollars, depending on the size of the FPGA!) used in low-volume stuff (in the defence sector especially).
This is especially the case for large FPGAs because they can be very cheap in quantity, but if you only need one or two dozen, just the chip can be more expensive than the evaluation board, even before the cost of designing and building a custom board!
I think it's to add logic to an existing COTS device.
Say you have a widget that both writes log files to an SD and reads a command script from that SD. With this FPGA card, you could implement logic that changes the command script based on the content of the logs.
No you can't, there's no meaningful storage on this pcb. Besides, you could do the same with a dirt-cheap rp2040 or similar cpu. What's the FPGA added value?
I was actually lucky to have gotten a FOMU from mithro years ago at a hacker event. It was really fun to play around with micropython on the RISC-V softcore [0]!
Thanks to RE the entire toolchain (formerly yosys) is open source for the lattice ICE40 [1] and they continue to add more fpga bitstreams like the ECP5.
If anyone is looking for a cheap (~$15) and larger fpga board to tinker with, look no further than the ColorLight 5A-75b [2]
The only use case that comes to my mind is extracting live data from device strictly recording onto SDcard, but wifi enabled SDcards designed for that purpose are already on the market since 2010 (eyefi).
I think this product category is defunct. Eye-Fi ceased business in 2016. Toshiba's FlashAir and Canon's offering also disappeared around the same time.
I think it is for devices that are meant to be run for years on battery. I try to find the power consumption but no luck. If it is for that, no sure how useful are they in the age IoT and great MCU for 2 usd.
This sounds fun to play with and get feet wet in HDL, but it's only a lattice ice40, I have no idea what you'd seriously do with this. Usually ice40 are used as glue logic, or multiplexing/buffering a bunch of ADC/DAC chips so the processor can do large data transfers instead of a bunch of tiny ones.
The website claims hardware acceleration and... I doubt they got timing closure on the soft CPU at anything greater than 100MHz and you still have to get data to/from it at likely 30~40 MB/s via an SDMMC bus.
For a lot of the iCE40 chips, it's extremely difficult to reliably get fMax > 50MHz even with extremely aggressive pipelining. I assume 80MHz is only possible on the highest-speed parts in the iCE40 family
I switched a design from iCE40 to ECP5 and got a ~3x speedup "for free"
Agreed that using Lattice FPGAs is super nice, mostly because you get to use the open-source Yosys toolchain, which is vastly better than proprietary toolchains IMO
Agreed. Not enough processing power for anything onboard, no IO out the back (seems like a missed opportunity tbh) for expansion to do fun things. Not sure what I'd do with this.
A quick search shows Hirose has a 0.5mm tall FPC connector that could fit 25 contacts within the width. Looking at their pictures, they have some spare height (unsure if enough though) and depth to move components forward. Even with good grounding, idk 12 IO is a decent amount.
I first I thought this was a regular storage microSD with an FPGA that allows you change the data live as as it is saved or something. But seems to be an fpga that has microSD connection with no real storage capability like you would have in a reguar microSD (other than storage for fpga bitstream), i.e it is not storage device use case. But why microSD? Is it just because you can load the bitstream without having to use uart or jtag?
"The Signaloid C0-microSD has two main use cases: You can either (1) use it as a hot-pluggable FPGA module, or (2) use it as a hot-pluggable Signaloid C0 RISC-V co-processor module."
That is not really a use case. Use case usually gives examples of how they are used in production, i.e, more specific about applications.
The SD Card interface spec includes general-purpose IO in the form of https://en.wikipedia.org/wiki/SD_card#SDIO_cards , which has been used for plenty of things that aren't storage. As to why you'd use it here - I assume the appeal is that if you have a SD slot on your computer (which is quite common) then you can plug this in and use it with no additional hardware at all.
If I buy it and plug into my computer, I guess my computer will see it as a storage device. If I send it a picture, does it overwrite the fpga bitstream? Do I have write custom drivers so that it does something useful?
This is likely an extremely rich attack vector if you can gain any reach through the SDIO interface.
That’s a big if… but because of the relative obscurity of the attack surface and requirements for unusual tools, this is probably largely unexplored territory for non-state actors.
It is very likely that the firmware and drivers for SDIO are at the very least insecure and likely rife with serious arbitrary-code-execution level bugs, manufacturer / letter agency back doors for special tools, and similar attack surfaces that will suddenly become accessible to anyone with a hundred dollars and the desire to dig in.
Ultimately, this will be good for device security, but the need for a specialized (but obtainable) tool to execute the attack means probably years of vulnerabilities in the wild, and won’t-fix for older devices.
I honestly can’t imagine why someone would downvote that lol.
Sdio is exactly the kind of interface that one would use for hidden backdoors, since you need a very special piece of hardware to deliver the payload.
No one will ever discover that there are undocumented features that can be accessed by a nonstandard sdio device with just the right mis-timings… because the only thing ever going in that a lot is a memory card that is incapable of producing that signal.
One can get a significantly more powerful Tang Nano 20K [1] kit on Amazon right now for $31 [2].
[1] wiki.sipeed.com/hardware/en/tang/tang-nano-20k/nano-20k.html
[2] https://www.amazon.com/youyeetoo-Sipeed-Development-RISC-V-E...
That said, It would be nice to know the cost breakdown and what kind of price could ultimately be achieved if someone came up with a use that needed 10,000 of these.
I kind of like the idea of a tiny game console that had something like a RP2040 inside and these were its game cartridges. Use an actual microSD for purely software games, and the FPGA for cool experimental stuff.
This is especially the case for large FPGAs because they can be very cheap in quantity, but if you only need one or two dozen, just the chip can be more expensive than the evaluation board, even before the cost of designing and building a custom board!
Say you have a widget that both writes log files to an SD and reads a command script from that SD. With this FPGA card, you could implement logic that changes the command script based on the content of the logs.
Dead Comment
If anyone is looking for a cheap (~$15) and larger fpga board to tinker with, look no further than the ColorLight 5A-75b [2]
[0] https://github.com/im-tomu/fomu-workshop/blob/master/docs/ri...
[1] https://f4pga.org/
[2] https://hackaday.com/2020/01/24/new-part-day-led-driver-is-f...
The website claims hardware acceleration and... I doubt they got timing closure on the soft CPU at anything greater than 100MHz and you still have to get data to/from it at likely 30~40 MB/s via an SDMMC bus.
I switched a design from iCE40 to ECP5 and got a ~3x speedup "for free"
Agreed that using Lattice FPGAs is super nice, mostly because you get to use the open-source Yosys toolchain, which is vastly better than proprietary toolchains IMO
A quick search shows Hirose has a 0.5mm tall FPC connector that could fit 25 contacts within the width. Looking at their pictures, they have some spare height (unsure if enough though) and depth to move components forward. Even with good grounding, idk 12 IO is a decent amount.
"The Signaloid C0-microSD has two main use cases: You can either (1) use it as a hot-pluggable FPGA module, or (2) use it as a hot-pluggable Signaloid C0 RISC-V co-processor module."
That is not really a use case. Use case usually gives examples of how they are used in production, i.e, more specific about applications.
That’s a big if… but because of the relative obscurity of the attack surface and requirements for unusual tools, this is probably largely unexplored territory for non-state actors.
It is very likely that the firmware and drivers for SDIO are at the very least insecure and likely rife with serious arbitrary-code-execution level bugs, manufacturer / letter agency back doors for special tools, and similar attack surfaces that will suddenly become accessible to anyone with a hundred dollars and the desire to dig in.
Ultimately, this will be good for device security, but the need for a specialized (but obtainable) tool to execute the attack means probably years of vulnerabilities in the wild, and won’t-fix for older devices.
Sdio is exactly the kind of interface that one would use for hidden backdoors, since you need a very special piece of hardware to deliver the payload.
No one will ever discover that there are undocumented features that can be accessed by a nonstandard sdio device with just the right mis-timings… because the only thing ever going in that a lot is a memory card that is incapable of producing that signal.
At least until now lol.