Introducing USB Armory, A Flash Drive Sized Computer

[Andrea] tipped us about USB armory, a tiny embedded platform meant for security projects. It is based on the 800MHz ARM Cortex-A8 Freescale i.MX53 together with 512MB of DDR3 SDRAM, includes a microSD card slot, a 5-pin breakout header with GPIOs/UART, a customizable LED and is powered through USB.

This particular processor supports a few advanced security features such as secure boot and ARM TrustZone. The secure boot feature allow users to fuse verification keys that ensure only trusted firmware can be executed on the board, while the ARM TrustZone enforces domain separation between a “secure” and a “normal” world down to a memory and peripheral level. This enables many projects such as electronic wallets, authentication tokens and password managers.

The complete design is open hardware and all its files may be downloaded from the official GitHub repository. The target price for the final design of the first revision is around €100.

22 thoughts on “Introducing USB Armory, A Flash Drive Sized Computer

      1. Seems like a bit overkill for a rubber ducky, having a full processor, ram, ect.

        And yeah, badUSB has a huge amount of potential for non-malicious applications, I’m not sure, but you could probably develop things like automatic hardware encryption or compression. Or mass deployments.

        1. Machine infected with a virus, plugging in a USB stick to run any diagnostics without being able to protect itself from infection from BadUSB is a bad idea these days. Plugging in a device with inbuilt protected and trusted keyboard and USB storage with the ability to be used on the next infected machine worry free is a whole market by itself.

    1. Depends on your definition of open, Freescale is pretty good about disclosing their internals, vastly better than Broadcom and the chip in the raspi. But support from Freescale is pretty much non existant unless you are in the 6 figure units per year territory and the programming support was rather lacking when I looked into the chip a year ago. I was never able to get a working compiler for the chip because their antiquated setup failed when trytrying to compile the compiler on the recommended old version of Ubuntu. They were saying they were working on a yocto setup, but it was nowhere near ready at the time. If you’re willing to plunk down many K for a professional compiler then you’ll likely have more luck.

  1. Use a proper USB connector instead of the PCB. They cost $0.1 a piece literally at QTY 10.

    From a mechanical point of view, the metal case latches the connector, and the key won’t wiggle in the connector. Also the metal case protects the USB signals from ESD/finger grease contaminations as you fingers can’t touch the contacts.

      1. Thanks, my last job had me testing currency acceptors and dispensers, we used the same set of Euro currency day after day. If a new 2 Euro coin had slipped into circulation, we wouldn’t have known… It was near catastrophe when one of our 10 Euro notes became unreadable.

  2. I am a bit concerned about the placement of the uSD card right next to the holes for the headers. Most SD card holder I have seen are PCB hugging with almost zero clearance between the card and the PCB. I wonder if the back end of the headers protruding through to the other side will interfere with insertion of the SD card.

    Otherwise, looks like a nice board.

Leave a Reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.