[HN Gopher] A programmable FPGA SoM in the tiny microSD form factor
___________________________________________________________________
A programmable FPGA SoM in the tiny microSD form factor
Author : LorenDB
Score : 88 points
Date : 2024-11-15 13:48 UTC (4 days ago)
(HTM) web link (www.crowdsupply.com)
(TXT) w3m dump (www.crowdsupply.com)
| mattofak wrote:
| 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.
| mechagodzilla wrote:
| It's got 128KB of on-die SRAM - you could have a Z80 _and_ a
| 6502, both with a full complement of SRAM!
| ruslan wrote:
| Lattice's FPGAs are very nice. With an iCE40 you can have a
| full featured RISC-V soft-core (RV32IMFAC) at some 80 MHz.
| wyager wrote:
| 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
| Neywiny wrote:
| 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.
| rasz wrote:
| 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).
| rgovostes wrote:
| 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.
| downrightmike wrote:
| I have a Eye-Fi card that barely shows up as 8mb, when its
| 4GB, its useless without the cloud servers
| papichulo2023 wrote:
| 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.
| 0xmarcin wrote:
| I am a bit concerned here. I wonder how much time will pass
| before someone decide to use it to hack a computer?
| K0balt wrote:
| 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.
| K0balt wrote:
| 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.
| robotnikman wrote:
| 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-...
| alnwlsn wrote:
| 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.
| lfmunoz4 wrote:
| 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.
| yjftsjthsd-h wrote:
| 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.
| lfmunoz4 wrote:
| 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?
| yjftsjthsd-h wrote:
| 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.
| whizzter wrote:
| 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.
| amsaltman wrote:
| 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/
| utopcell wrote:
| 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...
| fhfjfk wrote:
| 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.
| utopcell wrote:
| 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?
| Lerc wrote:
| 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.
| utopcell wrote:
| 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).
| iamflimflam1 wrote:
| 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
| Ccecil wrote:
| 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).
| stephen_g wrote:
| 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!
| ranger_danger wrote:
| The MiSTer FPGA gaming project also uses devboards and have
| had trouble locating stock at times.
| iamflimflam1 wrote:
| People really do not understand how expensive it actually is to
| do a short production run.
| jamesy0ung wrote:
| What sort of applications is a FPGA in this smaller class useful
| for?
| cjaackie wrote:
| 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...
| 5- wrote:
| just to clarify, you can still buy fomu:
| https://www.crowdsupply.com/sutajio-kosagi/fomu
___________________________________________________________________
(page generated 2024-11-19 23:02 UTC)