This project is coming soon. Sign up to receive updates and be notified when this project launches.
Precursor is an open hardware development platform for secure, mobile computation and communication. Though it accommodates a built-in display, a physical keyboard, and an internal battery, this pocket-sized device remains smaller and lighter than the average smartphone. Precursor was built for everyday use but compromises nothing as a development platform. Powered by an FPGA-hosted, soft-core System-on-Chip (SoC), it gives developers the freedom to customize nearly every aspect of the platform.
Precursor was designed from the ground up to provide security by justifying trust in an increasingly hostile world. Its transparent, minimalistic design invites inspection and mitigates supply chain attacks; its embedded cryptographic primitives simplify the implementation of computationally-intensive protocols, such as the Double Ratchet that has brought end-to-end encrypted communication into the mainstream; and its sealing primitives facilitate the creation and storage of cryptographic keys.
Despite a tightly integrated mobile form factor, Precursor also provides hooks for hardware mods. Its keyboard is a separate, I²C-provisioned PCB that opens the door to novel layouts and innovative sensors; and its battery cavity exposes GPIOs that allow developers to trade battery life for additional hardware functionality.
Precursor is a solid starting point for your project, whether that project involves a highly secure messaging platform, an isolated crypto wallet, a hardened authenticator, or something way more fun like a handheld retro-gaming console. Precursor ships with a reference firmware that demonstrates how to integrate the diverse components that we’ve built into the platform. Below are a few examples of things you might want to do with those components:
Secure Communication: Precursor’s easier-to-verify hardware design, self-provisioning, and support for modern crypto primitives make it a great match for secure communication applications. It obtains network connectivity by way of a hardware-sandboxed Silicon Labs WF200 chip, and its built-in headphone jack opens the door to end-to-end encrypted voice chat.
Key Protection: The security and verification features that make Precursor ideal for secure chat are also critical when developing two-factor authentication (2FA) solutions, crypto wallets, and password databases. And because supply-chain attacks are particularly devastating against these kinds of bang-for-your-buck targets, you might decide to limit that attack surface by building your own SoC and firmware from scratch, which is something Precursor was designed to facilitate. Finally, Precursor’s comprehensive user-experience (UX) primitives and network connectivity allow it to do more than just authorize signing operations. In addition to checking the full details of a transaction, it has the potential to accommodate the entire UX for your crypto wallet or authenticator so that you don’t have to interact with external software running on a potentially compromised host system. Precursor puts the "2F" back in 2FA.
CPU Emulation: While the reference FPGA ships with a 32-bit RISC-V CPU running at 100MHz, it can be reconfigured to emulate a wide range of retro-CPUs, from the 6502 to the Z-80 to something we’ve never even heard of. Furthermore, Precursor’s FPGA-based design can accurately emulate old sound chips in hardware, and its modular keyboard can be swapped out for an alternative that more closely resembles your favorite old controller. Be warned, however: it will no longer fit in your pocket if you mount a joystick on it.
Every bit of Precursor is inspectable and hackable. That includes the mainboard, daughtercards, and case, the SoC implementation, the EC implementation, the MVP firmware, and the work-in-progress operating system.
This post provides a guided tour of the components and features of the Precursor motherboard. Read the full update for all the details. Read the full update.
Precursor is a mobile, open source electronics platform. Similar to how a Raspberry Pi or an Arduino can be transformed into an IoT gadget with the addition of a couple breakout boards, some solder, and a bit of code, Precursor is a framework upon which you can assemble a wide variety of DIY mobile applications. This update talks a bit about what makes Precursor unique, and then moves on to the ins and outs of our design philosophy. Read the full update.
Why do we trust our computers? I’ve done a lot of thinking on this question. The answer, it turns out, is that we trust our computers mostly because we have no other choice. Most of us wouldn’t know how to check if a computer is constructed correctly; and those of us who do are overwhelmed by the millions of lines of source code and billions of transistors packed into a typical computer. If you’re like me, this answer is dissatisfying. Precursor is our attempt to help the community develop a better one. Read the full update.