I can see a lot of use for these guys, but it's hard to justify when as Pi Zero outspecs it for 5% of the cost. I'd pick it up just to hack around if it was closer to the $50 range.
The BOM cost is probably pretty high because of the BGA package, the original was like a 8 layer board or something absurd.
Those processors, as you pointed out, are comically slow even compared with the raspberry pi.
Please see https://github.com/f-secure-foundry/advisories
Of course all P/Ns used for the Mk II have a patched boot ROM, please see https://github.com/f-secure-foundry/usbarmory/wiki/Secure-bo....
The original Mk I was 6 layers in the end, the Mk II is also 6 layers.
And yes the BOM cost is considerable due to its specifications.
The i.MX SoC core we use is comparable to a 1st gen Raspberry PI in speed, but of course slower than newer multi-core ones.
However security and form factor, rather than pure speed, is our goal. For the intent and purposes of the board performance is more than adequate.
Some benchmarks here: https://github.com/f-secure-foundry/usbarmory/wiki/Benchmark...
I ended up simply buying a Pi 3, a Mikroe Click shield, and Mikroe ATECC608A board (for the shield), though by that time I had already run out of steam so I never had a chance to bring it up.
So, the ATECC608A is very nice and I'd like to see it more widely included in hardware.[1] And the armory is much smaller than my literal Pi 3 hardware stack. Bonus points if documentation for i.MX6ULZ and related bits are publicly available, but I'm not keen on risking another goose chase so I probably wouldn't even factor that in one way or another.
[1] I believe an ATECC chip is what AWS originally used for end-to-end hardware attestation of EC2 servers. And maybe still do. Though, this is speculation on my part based on some AWS developer blog posts discussing the chip.
Also the ATECC608A library from Microchip is open source and you can gather all necessary info from there.
Then we also have the NXP AT71CH with all info available publicly.
Does Pi do USB device "emulation" (has it "gadget" drivers)?
They support a bunch of modes, like Mass Storage, Ethernet, Serial, HID, etc.
Example: https://gist.github.com/gbaman/50b6cca61dd1c3f88f41
We can take costs down a little more with larger numbers but not by a great margin.
The assembly process of Type-C plugs is also time consuming and therefore costly.
Hardware specs:
SoC: NXP i.MX6ULZ ARM® Cortex™-A7 900 MHz
RAM: 512 MB DDR3
Storage: internal 16 GB eMMC + external microSD
Bluetooth module: u-blox ANNA-B112 BLE
USB-C ports: DRP (Dual Role Power) receptacle + UFP (Upstream Facing Port) plug, USB 2.0 only (no video support)
LEDs: two
Slide switch: for boot mode selection between eMMC and microSD
External security elements: Microchip ATECC608A + NXP A71CH
Physical size: 66 mm x 19 mm x 8 mm (without enclosure, including USB-C connector)