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