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.
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.
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 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
"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.
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.
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.
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...
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.
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.
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!
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.
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/
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...
[2] https://hackaday.com/2020/01/24/new-part-day-led-driver-is-f...
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).
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.
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.
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...
Would you like to share some of the projects that you have sold?
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.