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.
From the article under "Manufacturing plan"-
"We will outsource PCB fabrication and assembly to PCBWay and handle final programming and testing ourselves, here in Cambridge UK. We have developed a programming jig, along with a suite of extensive automated tests to speed things up."
To sell from outside China and make a profit it is still difficult.
I work with a project that had nearly identical production model (not PCBway but another CM) and when the US tariffs came about it was a major hit.
A lot of manufacturers skirt these tariffs through various means (none legal) as well as produce without having to produce IP in house or pay staff for further development...both of which create a significant amount of profit which often cannot be accrued by a small project/team on it's own.
Saying "They could do it cheaper..." is often the response from those who are used to alibaba prices. There is a lot more to consider in those cases. When you start to actually get into production you quickly learn that you cannot (and shouldn't bother) competing with offshore production (and cloning). Just set the price and make the product.
The real problems start when your project becomes popular enough to be copied.
This is all much more difficult when the hardware is OSHW (as ours is).
To have any chance of having someone distribute your product you need to give them at least 40% margin.
If you are using a distributor in the US (which crowd supply is), and manufacturing in China, you need to pay a 20% import tariff.
For them to sell in the EU you need CE certification (depending on what you need this can cost thousands of dollars).
To sell on the US you may need FCC certification - again this can cost thousands of dollars.
There’s a reason why there’s a big difference between the cost price and actual selling price of products.
And with small production runs, this difference will always be big.
I currently have a campaign live on crowd supply. It quickly became clear to me when I started to crunch the numbers that my initial price point was ludicrously low.
I'm a big fan of your speccy project and I hope it gets funded.
To your points:
> To have any chance of having someone distribute your product you need to give them at least 40% margin.
It depends on the distributor. I just checked Amazon's calculator, and they seem to be charging $3.4 fees and $4.2 fulfillment fees for a unit sold at $30.
> For them to sell in the EU you need CE certification (depending on what you need this can cost thousands of dollars).
> To sell on the US you may need FCC certification - again this can cost thousands of dollars.
These are not really applicable for devices sold as kits or for development though, which is the case here.
> It quickly became clear to me when I started to crunch the numbers that my initial price point was ludicrously low.
You made some iffy decisions for your project IMHO. Why add an LCD or WiFi? Out of curiosity, I specced out a similar project on JLCPCB that has a full-color UV printed PCB, an RP2040, HDMI out, a microSD and 40 tactile switches. A fully-functional speccy. The per-unit cost, including PCB assembly and shipment to CA was $3.6. Using capacitive touching would barely increase that price. Let's budget for some non-working boards and call it $4 per unit. There's a long road from that to $99.
Your initial comment and your responses are things I see all the time. And to be fair, until I started trying to sell things, I would have exactly the same reaction. "It's just a PCB and a few components - why are they charging so much!".
My response is always: Everything I do is open source. I publish the schematics, PCB layout, Gerber files and BOM. You are more than welcome to get it manufactured yourself with whoever you like to use. No one is forcing you to buy from me.
You can probably do it cheaper than what can realistically be charged by someone selling on Tindie or elsewhere.
Actually selling hardware is really difficult, the margins are not great and all it takes are a few items lost in the post or people demanding refunds to make it a non-starter. I know quite a few people who have given up on it as - it simply isn't worth the effort.
To address your points directly:
>> For them to sell in the EU you need CE certification (depending on what you need this can cost thousands of dollars). > To sell on the US you may need FCC certification - again this can cost thousands of dollars.
> These are not really applicable for devices sold as kits or for development though, which is the case here.
This is a very common misconception. There is no official carve out for "kits or development boards". This is why Raspberry Pi boards are all CE certified. A lot of people get away with it, and it can save a lot of money. But if you want to do things properly and be safe then you need to do it.
> You made some iffy decisions for your project IMHO. Why add an LCD or WiFi?
It sounds like what I've made is not something that you are interested in - I did link to a number of alternatives from the crowd funding page. There are plenty of options. One that seems to match what you are talking about is this one: https://www.tindie.com/products/bobricius/picozx-handheld-zx... - $138 for the fully assembled version.
> I specced out a similar project on JLCPCB that has a full-color UV printed PCB, an RP2040, HDMI out, a microSD and 40 tactile switches. A fully-functional speccy. The per-unit cost, including PCB assembly and shipment to CA was $3.6. Using capacitive touching would barely increase that price. Let's budget for some non-working boards and call it $4 per unit. There's a long road from that to $99.
I took a quick look on JLCPCB. A four layer board of 233x144mm (the size of my boards) with black solder mask and LeadFree HASL (to comply with ROHS) shipping to the UK with taxes and duty prepaid (if anyone is getting PCBs shipped to them I would really recommend this - it avoids any nasty surprises) comes out at a total price of $71.27. That's $14 for the bare boards, no full color silk screen, no components and no SMT assembly. So I'm not sure where you get your $3.60 from...
If you are interested in hardware manufacturing then I really would recommend giving it go. It's very educational.
> One that seems to match what you are talking about is this one: [..] - $138 for the fully assembled version.
I think [0] is closer to what I had in mind, though with SMD components to keep assembly cost low.
> So I'm not sure where you get your $3.60 from...
Here are some very rough calculations: PCB + PCB assembly + S&H to CA is $1117 for 1,000 units [1]. Perhaps a bit more for a 233mmx144mm board. This includes UV printing. Component cost for Q1,000 is $2784 [2]. This covers the major components for an RP2040 system.
Can you imagine making something like this and selling it for $25? Every Speccy lover in the UK would get one just for kicks. You'd have your creation in the hands of 1000+ people and you'd probably make more overall that you'll make from the 70 units you're about to sell.
> If you are interested in hardware manufacturing then I really would recommend giving it go. It's very educational.
Oh definitely, I can see why you feel that way. It was quite exciting the first few times that I did it.
The most recent hardware run I was involved in was a group buy for a custom keyboard that a few of us got together and ordered from JLCPCB [1]. This was a lot of fun and trivially easy to do: We didn't have to provide any parts. We just uploaded the design and had JLCPCB ship the partially assembled boards. It cost us next to nothing.
A project that I myself built end-to-end, from designing the schematics and manually laying out the 6-layer PCB on EaglePCB, to manually assembling the first couple prototypes, designing and 3D printing its enclosure, and doing a production run of 100 units was this one [2].
It was a tiny Linux box, only 18mm in width, built around an iMX233 (a 454MHz ARM9 CPU), with 64MiB of DRAM, Bluetooth / WiFi connectivity, a microSD slot, a microUSB port, and integrated battery charging. This was a ton of fun. I could SSH into it over WiFi!
The first pic was after applying paste with a stencil and placing all the components but before "baking" it; the second pic shows a working prototype; the third shows the board and battery in the enclosure; and the fourth shows some Shapeways 3D prints in various materials for it. I even had an aluminum version CNCed at Protolabs!
Again: I am a big fan of your Speccy project and I hope it gets funded. The 48K Speccy was the first "real" computer I was given as a kid and a have fond memories of it. That UV printed board looks awesome and I enjoyed reading your updates while you were working through getting the 40 keys to work independently.
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!
Same goes for the ZX Spectrum Next. The engineering team had to redesign the PCB to switch from a Spartan-6 to an Artix-7 between their two Kickstarters.
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?
I would not expect it to show up as a storage device, no; the point of SDIO is that the SD slot is generic like a USB port. You would need software that can use the device you've plugged in just like if you plugged in a separate FPGA programmer.
My understanding of the docs is that the device does indeed implement the SD storage protocol and not SD I/O subset.
Their docs say it shows up as an unformatted 20MB disk when you plug it in and that you can interact with the device via `dd`: https://c0-microsd-docs.signaloid.io/
I used a Gameboy Flash card that showed up as a blockdevice that was formatted FAT device, writing/overwriting a file upon it will overwrite the flash and inserting it to the Gameboy would then start it.
I suspect that there was some transation firmware that acted as the blockdevice and routed data to the flash as the "file" was written by the computer, it was a pretty clever and frankly painless way of updating since there was nothing beyond connecting, copying and flipping back.
Yes, in the long run you want something directly USB connected (preferably with a debugger) but as for having a no-hassle setup this was quite neat.
And considering that many of the first generation of Gameboy flash-devices had been tied to dodgy paralell-port flash protocols that were hardcoded to even dodgier win95 era flashing programs that required full HW access(and not working well on winNT based systems not to mention osX or Linux) I think a bit of the thinking for this was to future-proof the device by just basing it on some standard block-device technology like SD cards or UMass that was unlikely to become unsupported.
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.
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].
[1] wiki.sipeed.com/hardware/en/tang/tang-nano-20k/nano-20k.html
[2] https://www.amazon.com/youyeetoo-Sipeed-Development-RISC-V-E...
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.
It's really not anymore. It's trivial to make cheap PCBs and PCB assembly is even free in most cases (checkout jlcpcb.com for example).
From the article under "Manufacturing plan"- "We will outsource PCB fabrication and assembly to PCBWay and handle final programming and testing ourselves, here in Cambridge UK. We have developed a programming jig, along with a suite of extensive automated tests to speed things up."
To sell from outside China and make a profit it is still difficult.
I work with a project that had nearly identical production model (not PCBway but another CM) and when the US tariffs came about it was a major hit. A lot of manufacturers skirt these tariffs through various means (none legal) as well as produce without having to produce IP in house or pay staff for further development...both of which create a significant amount of profit which often cannot be accrued by a small project/team on it's own.
Saying "They could do it cheaper..." is often the response from those who are used to alibaba prices. There is a lot more to consider in those cases. When you start to actually get into production you quickly learn that you cannot (and shouldn't bother) competing with offshore production (and cloning). Just set the price and make the product.
The real problems start when your project becomes popular enough to be copied.
This is all much more difficult when the hardware is OSHW (as ours is).
To have any chance of having someone distribute your product you need to give them at least 40% margin.
If you are using a distributor in the US (which crowd supply is), and manufacturing in China, you need to pay a 20% import tariff.
For them to sell in the EU you need CE certification (depending on what you need this can cost thousands of dollars).
To sell on the US you may need FCC certification - again this can cost thousands of dollars.
There’s a reason why there’s a big difference between the cost price and actual selling price of products.
And with small production runs, this difference will always be big.
I currently have a campaign live on crowd supply. It quickly became clear to me when I started to crunch the numbers that my initial price point was ludicrously low.
https://www.crowdsupply.com/cmg-research/esp32-rainbow
Hi Christopher,
I'm a big fan of your speccy project and I hope it gets funded.
To your points:
> To have any chance of having someone distribute your product you need to give them at least 40% margin.
It depends on the distributor. I just checked Amazon's calculator, and they seem to be charging $3.4 fees and $4.2 fulfillment fees for a unit sold at $30.
> For them to sell in the EU you need CE certification (depending on what you need this can cost thousands of dollars). > To sell on the US you may need FCC certification - again this can cost thousands of dollars.
These are not really applicable for devices sold as kits or for development though, which is the case here.
> It quickly became clear to me when I started to crunch the numbers that my initial price point was ludicrously low.
You made some iffy decisions for your project IMHO. Why add an LCD or WiFi? Out of curiosity, I specced out a similar project on JLCPCB that has a full-color UV printed PCB, an RP2040, HDMI out, a microSD and 40 tactile switches. A fully-functional speccy. The per-unit cost, including PCB assembly and shipment to CA was $3.6. Using capacitive touching would barely increase that price. Let's budget for some non-working boards and call it $4 per unit. There's a long road from that to $99.
Your initial comment and your responses are things I see all the time. And to be fair, until I started trying to sell things, I would have exactly the same reaction. "It's just a PCB and a few components - why are they charging so much!".
My response is always: Everything I do is open source. I publish the schematics, PCB layout, Gerber files and BOM. You are more than welcome to get it manufactured yourself with whoever you like to use. No one is forcing you to buy from me.
You can probably do it cheaper than what can realistically be charged by someone selling on Tindie or elsewhere.
Actually selling hardware is really difficult, the margins are not great and all it takes are a few items lost in the post or people demanding refunds to make it a non-starter. I know quite a few people who have given up on it as - it simply isn't worth the effort.
To address your points directly:
>> For them to sell in the EU you need CE certification (depending on what you need this can cost thousands of dollars). > To sell on the US you may need FCC certification - again this can cost thousands of dollars.
> These are not really applicable for devices sold as kits or for development though, which is the case here.
This is a very common misconception. There is no official carve out for "kits or development boards". This is why Raspberry Pi boards are all CE certified. A lot of people get away with it, and it can save a lot of money. But if you want to do things properly and be safe then you need to do it.
> You made some iffy decisions for your project IMHO. Why add an LCD or WiFi?
It sounds like what I've made is not something that you are interested in - I did link to a number of alternatives from the crowd funding page. There are plenty of options. One that seems to match what you are talking about is this one: https://www.tindie.com/products/bobricius/picozx-handheld-zx... - $138 for the fully assembled version.
> I specced out a similar project on JLCPCB that has a full-color UV printed PCB, an RP2040, HDMI out, a microSD and 40 tactile switches. A fully-functional speccy. The per-unit cost, including PCB assembly and shipment to CA was $3.6. Using capacitive touching would barely increase that price. Let's budget for some non-working boards and call it $4 per unit. There's a long road from that to $99.
I took a quick look on JLCPCB. A four layer board of 233x144mm (the size of my boards) with black solder mask and LeadFree HASL (to comply with ROHS) shipping to the UK with taxes and duty prepaid (if anyone is getting PCBs shipped to them I would really recommend this - it avoids any nasty surprises) comes out at a total price of $71.27. That's $14 for the bare boards, no full color silk screen, no components and no SMT assembly. So I'm not sure where you get your $3.60 from...
If you are interested in hardware manufacturing then I really would recommend giving it go. It's very educational.
> One that seems to match what you are talking about is this one: [..] - $138 for the fully assembled version.
I think [0] is closer to what I had in mind, though with SMD components to keep assembly cost low.
> So I'm not sure where you get your $3.60 from...
Here are some very rough calculations: PCB + PCB assembly + S&H to CA is $1117 for 1,000 units [1]. Perhaps a bit more for a 233mmx144mm board. This includes UV printing. Component cost for Q1,000 is $2784 [2]. This covers the major components for an RP2040 system.
Can you imagine making something like this and selling it for $25? Every Speccy lover in the UK would get one just for kicks. You'd have your creation in the hands of 1000+ people and you'd probably make more overall that you'll make from the 70 units you're about to sell.
> If you are interested in hardware manufacturing then I really would recommend giving it go. It's very educational.
Oh definitely, I can see why you feel that way. It was quite exciting the first few times that I did it.
[0] https://www.tindie.com/products/bobricius/picozx-motherboard...
[1] https://www.reddit.com/user/utopcell/comments/1esjxyu/dc32_p...
[2] https://www.reddit.com/user/utopcell/comments/1esjz9n/dc32_c...
> Oh definitely, I can see why you feel that way. It was quite exciting the first few times that I did it.
Would you like to share some of the projects that you have sold?
Certainly.
The most recent hardware run I was involved in was a group buy for a custom keyboard that a few of us got together and ordered from JLCPCB [1]. This was a lot of fun and trivially easy to do: We didn't have to provide any parts. We just uploaded the design and had JLCPCB ship the partially assembled boards. It cost us next to nothing.
A project that I myself built end-to-end, from designing the schematics and manually laying out the 6-layer PCB on EaglePCB, to manually assembling the first couple prototypes, designing and 3D printing its enclosure, and doing a production run of 100 units was this one [2].
It was a tiny Linux box, only 18mm in width, built around an iMX233 (a 454MHz ARM9 CPU), with 64MiB of DRAM, Bluetooth / WiFi connectivity, a microSD slot, a microUSB port, and integrated battery charging. This was a ton of fun. I could SSH into it over WiFi!
The first pic was after applying paste with a stencil and placing all the components but before "baking" it; the second pic shows a working prototype; the third shows the board and battery in the enclosure; and the fourth shows some Shapeways 3D prints in various materials for it. I even had an aluminum version CNCed at Protolabs!
Again: I am a big fan of your Speccy project and I hope it gets funded. The 48K Speccy was the first "real" computer I was given as a kid and a have fond memories of it. That UV printed board looks awesome and I enjoyed reading your updates while you were working through getting the 40 keys to work independently.
[1] https://github.com/yanghu/unicorne
[2] https://www.reddit.com/gallery/1gw1cbw
Great projects - where are you selling them?
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!
The MiSTer FPGA gaming project also uses devboards and have had trouble locating stock at times.
Same goes for the ZX Spectrum Next. The engineering team had to redesign the PCB to switch from a Spartan-6 to an Artix-7 between their two Kickstarters.
People really do not understand how expensive it actually is to do a short production run.
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?
Reminds me of the old Electric Imp, which was like an ESP32 before the ESP32. Also came in a (full size) SD card form factor.
[dead]
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]
[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...
just to clarify, you can still buy fomu: https://www.crowdsupply.com/sutajio-kosagi/fomu
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 have a Eye-Fi card that barely shows up as 8mb, when its 4GB, its useless without the cloud servers
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.
It's got 128KB of on-die SRAM - you could have a Z80 and a 6502, both with a full complement of SRAM!
Lattice's FPGAs are very nice. With an iCE40 you can have a full featured RISC-V soft-core (RV32IMFAC) at some 80 MHz.
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?
I would not expect it to show up as a storage device, no; the point of SDIO is that the SD slot is generic like a USB port. You would need software that can use the device you've plugged in just like if you plugged in a separate FPGA programmer.
My understanding of the docs is that the device does indeed implement the SD storage protocol and not SD I/O subset.
Their docs say it shows up as an unformatted 20MB disk when you plug it in and that you can interact with the device via `dd`: https://c0-microsd-docs.signaloid.io/
I used a Gameboy Flash card that showed up as a blockdevice that was formatted FAT device, writing/overwriting a file upon it will overwrite the flash and inserting it to the Gameboy would then start it.
I suspect that there was some transation firmware that acted as the blockdevice and routed data to the flash as the "file" was written by the computer, it was a pretty clever and frankly painless way of updating since there was nothing beyond connecting, copying and flipping back.
Yes, in the long run you want something directly USB connected (preferably with a debugger) but as for having a no-hassle setup this was quite neat.
And considering that many of the first generation of Gameboy flash-devices had been tied to dodgy paralell-port flash protocols that were hardcoded to even dodgier win95 era flashing programs that required full HW access(and not working well on winNT based systems not to mention osX or Linux) I think a bit of the thinking for this was to future-proof the device by just basing it on some standard block-device technology like SD cards or UMass that was unlikely to become unsupported.
I am a bit concerned here. I wonder how much time will pass before someone decide to use it to hack a computer?
IIRC there have already been proof of concept attacks made using MicroSD cards with the microcontroller modified https://www.welivesecurity.com/2014/01/02/could-new-malware-...
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.
At least until now lol.
What sort of applications is a FPGA in this smaller class useful for?