Precursor - Mobile, Open Hardware, RISC-V System-on-Chip (SoC) Development Kit

coderman coderman at
Wed Dec 2 14:11:58 PST 2020

Made For a Lab. Fits in a Pocket. Verifiable by Design.

Precursor is an open hardware development platform for secure, mobile computation and communication. This pocket-sized device accommodates a built-in display, a physical keyboard, and an internal battery while remaining smaller and lighter than the average smartphone. Precursor was built for use on the road, but it compromises nothing as a development platform. Powered by an FPGA-hosted, soft-core System-on-Chip (SoC), it gives developers the freedom to inspect, verify, and customize nearly every aspect of its operation. Help us take those critical first steps toward a world in which silicon-level trustworthiness is attainable.

[Precursor teardown parts view]

Trust It. Because You Can, Not Because You Have to.

We are accustomed to accepting the word of large corporations, like Apple and Google, that our gadgets are trustworthy. Without any hard evidence, we’ve long had to take in on faith that our privacy is being respected and that our personal data is not just one backdoor away from being stolen, exploited, or exposed. (We’ll go ahead and leave "monetized" off that list, since we all know that’s happening.) We’ve had to accept this reality in large part because we’ve had no other choice. Precursor changes the status quo by making evidence-based trust a core principle of its design. We have subjected every aspect of this platform to a level of scrutiny that will allow users to trust their devices. You, the user, will be able to trust Precursor based on scientific evidence that is observable without access to a million-dollar microscope.

The principle of evidence-based trust was at work in our decision to implement Precursor’s brain as an SoC on an FPGA, which means you can compile your CPU from design source and verify for yourself that Precursor contains [no hidden instructions]( or [other backdoors]( Accomplishing the equivalent level of inspection on a piece of hardwired silicon would be…a rather expensive proposition. Precursor’s mainboard was [designed for easy inspection]( as well, and even its LCD and keyboard were chosen specifically because they facilitate verification of proper construction with minimal equipment.

Thanks to this pivotal design principle, Precursor is well-suited as a hardware development framework for security-critical applications such as password managers, authenticators, crypto wallets, and secure messaging platforms.

[Precursor keyboard PCB translucency]

Carry It. With You When You Need It

Precursor is also distinctive among open hardware gadgets in that it was designed from the ground up for portability. While most open hardware FPGA development boards share Precursor’s evidence-based, compile-your-own-CPU trust properties, none of them are packaged into a slim, 7.2 mm, machined-aluminum case, complete with a charger, a battery, a display, and a keyboard. And speaking of batteries, Precursor draws less power than most other FPGAs thanks to the "-1L" variant Xilinx Spartan 7-Series at its heart. (The "L" stands for "low leakage.") That efficiency — combined with a super-low-power Lattice iCE40 UP5K FPGA for deep-sleep system management and a Silicon Labs WF200 with integrated network co-processor for Wi-Fi connectivity — allows Precursor to achieve a standby time measured in days and an active screen time of about five to six hours.

Precursor gets your bright idea out of the lab and into your pocket. And if that idea happens to involve software for a password manager, a crypto-wallet, a secure messaging platform, or something similar, then Precursor also gets it well on its way toward its destination as a packaged product.

[Precursor mobile device on the bar]

Jailbreak It? Precursor Was Born Free!

The most important difference between a jail and a home is who controls the lock on the door. Most smartphone companies want you to believe that the gilded jail they’ve designed for you is the safest place to spend your time. Precursor takes a different approach. By giving you the keys to the lock, it gives you a home. And, like your actual home, you’re free to make it your own because we’ve published 100% of Precursor’s design source, from the outer case to the inner CPU core. And once you’re done configuring and inspecting your system, you can activate Precursor’s security features to protect your newly redecorated home from unwelcome intruders.


What’s in the Box?

The Precursor tier includes the following items in the box:

- One fully assembled and tested Precursor device in an aluminium case, complete with display, bezel, QWERTY keyboard, and battery, and pre-loaded with low-level factory test firmware.
- One "debug board," which is a Raspberry Pi 3B+ or 4 HAT. This used for low-level debugging and reflashing of the Precursor in case you brick it. Raspberry Pi not included.
- Three alternate keyboard overlays: QWERTZ, AZERTY, and Dvorak.
- Press-fit metal shield for trusted domain of the Precursor PCB (to be installed after verification).
- Four grams of EPO-TEK 301 in a bi-pak, for sealing the metal shield Note: the seal is permanent and we can't do any warranty returns/exchanges on sealed devices. Do not apply glue to active connectors.

The Limited Edition Precursor tier includes all of the above, with a special limited edition case. You will also receive the regular production aluminium case body as well, as a bonus spare part.

What exactly is the Limited Edition case? In a fashion similar to ordering [omakase]( at a sushi bar, we’re going to prepare a premium experience for your enjoyment. In the end, however, what you get will be a bit of a surprise!

Features & Specifications

- Made for developers

- Easy-access developer's cable (included)
- Low-level debugging (GDB + Chipscope) and firmware flashing via developer's cable plugged into a custom Raspberry Pi HAT (included)
- Middleware debugging via USB cable via wishbone tunnel
- Open source to the core

- Inspect, modify and compile your SoC and embedded controller from source
- All source files [hosted on GitHub]( for convenient fork, pull request, and issue tracking
- Open source PCB and case design

- Extendable and modifiable

- No adhesives holding the bezels in place – just one screw driver is all it takes
- Want to add hardware? Maybe a cellular modem? No problem!

- Battery compartment is a blank check for your peripherals
- Install a smaller battery for more space
- Flex PCB breakout for 8x FPGA GPIO into the battery compartment
- Bezel is made out of FR-4, and can be user-customized to hold additional components

- Slim and light mobile form factor

- 69 mm x 138 mm x 7.2 mm
- 96 grams reference weight
- Compare to iPhone X at 70.9 mm x 143.6 mm x 7.7 mm and 174 grams
- Accessible mechanical design

- 6063 alloy aluminum case -– 3D files provided, so you can mill your own case!
- FR-4 front bezel -– PCB source provided
- ABS + PC polymer antenna radome -– 3D printable

- User-customizable CPUs

- Xilinx XC7S50 primary System on Chip (SoC) FPGA

- -L1 speed grade for longer battery life
- Tested with 100 MHz VexRISC-V, RV32IMAC + MMU, 4k L1 I/D cache

- iCE40UP5K secondary Embedded Controller (EC) FPGA

- Manages power, standby, and charging functions
- Tested with 18 MHz VexRISC-V, RV32I, no cache

- 16 MB external SRAM

- 128 MB Flash

- 100 MHz DDR 8-bit wide bus for fast XIP code performance

- Dual hardware TRNG

- External discrete noise generator
- In-SoC ring oscillator based TRNG

- Inspectable I/O

- Physical keyboard with changeable layout overlays
- 200 ppi black and white LCD (336 x 536 resolution), 100% inspectable with standard optical microscope
- Both keyboard and LCD are backlit for night-time use
- Modular keyboard PCB -- customize layouts, add sensors, or swap in a touch surface

- Audio with safe defaults

- Integrated 0.7 W speaker for notifications
- Vibration motor
- 3.5 mm headset jack
- No integrated microphone -- audio surveillance is not possible when headset is unplugged

- Integrated Wi-Fi

- Sandboxed in a hardware-delineated untrusted domain
- Silicon Labs WF200C chipset

- USB Type-C port

- Supports charging at 5 V; over-voltage protection tolerant to 20 V
- Power negotiation to 5 V @ 1.5 A (source and sink)
- Supports legacy USB 2.0 full-speed PHY
- Basic DRP negotiation hardware support

- 1100 mAh Li-Ion battery

- Integrated gas gauge for more accurate battery life estimate
- Full charge in about three hours
- Runtime depends on user application

- Approx. 100 hours standby with Wi-Fi + embedded controller + static display enabled
- Approx. 700 mW "on-state" (most features enabled and active, backlight off) power draw, or 5.5 hours continuous use

- Anti-tamper features

- User-sealable metal can for trusted components
- Dedicated real-time clock (RTC) with basic clock integrity monitoring
- Power monitors trip reset in case of power glitches
- Always-on accelerometer/gyro to detect movement in standby
- Support for instant secure erase via battery-backed AES key and self-destruct circuit

[Precursor enclosure backside]

"Betrusted-SoC" Reference Design

Part of the purpose of Precursor is to validate the system-on-chip (SoC) design we hope eventually to produce as a custom ASIC for use in future such products. This SoC, which we call "Betrusted-SoC," is meant to be the central pillar of security for devices like Precursor. The version of Betrusted-SoC used in Precursor is based on a Xilinx FPGA and has the following features:

- XC7S50-1L CSG324I, 80% utilized as of October 2020
- 100 MHz customized VexRISC-V RV32IMAC + MMU core with 4k caches
- Crypto primitives

- Ring oscillator TRNG (compliments off-chip TRNG)
- JTAG-based self-fusing for on-chip generation and sealing of secret keys
- AES-128, -192, -256 with ECB, CBC and CTR modes
- SHA-2 and SHA-512 digests
- Microcoded Curve25519 field arithmetic engine


- High speed, 100 MHz DDR OPI SPI interface for code ROM
- Low speed, 20 MHz SDR 1-bit SPI interface to insecure domain

- I²C (100 kHz) for system integration
- Keyboard switch matrix controller with low power standby
- Bidirectional I²S interface for audio
- Custom frame buffer-based LCD interface
- 32-bit async SRAM interface with standby support
- Standard UART
- Full speed USB device
- Hardware Ticktimer
- 12-bit ADC (system voltage monitor)
- GPIO for power management and extension

"Betrusted-EC" Reference Design

In addition to using Precursor to validate the SoC, we are also validating the embedded controller (EC) that’s in charge of standby power functions, as well as firewalling the untrusted hardware domain in devices like Precursor. The version of "Betrusted-EC" used in Precursor is based on a Lattice FPGA and has the following properties:

- iCE40UP5K SG48, 98% utilized
- 18 MHz LiteX VexRISC-V RV32I core (minimal + debug config)
- I²C (100 kHz) via softcore for system integration
- 2x SPI interfaces

- FIFO buffered peripheral interface to SoC
- Controller interface to Wi-Fi chipset

- Hardware tick timer
- Standard UART
- GPIO for power control

Support & Documentation

- [SoC FPGA source](

- [SoC FPGA register set](

- [EC FPGA source](

- [Mainboard & case designs](

- [Project wiki](

- [Low-level reference firmware](

- [WIP microkernel](

- [Guided tour of the mainboard](

- IRC channel:

- More to come soon as the campaign progresses!

Manufacturing Plan

Precursor consists of the following major elements:

- The Mainboard will be manufactured by AQS, an EMS provider, at their South Korea facility. The bare PCB will be produced by King Credie in Guangdong, China. All of the parts on the BOM were selected explicitly for ready availability in distribution channels such as Mouser and Digi-Key. We do anticipate a 12-week lead time on the Xilinx FPGAs, and acquiring them in a timely fashion represents a risk given the current pandemic and the status of the global supply chain.
- The rear case and radome will be manufactured by Jiada, a contract mechanical engineering supplier located in Guangdong, China. Production rear cases will be manufactured on-demand using a CNC milling process and finished with anodization. The radome will be produced using an injection molding tool that will be opened upon successful conclusion of the funding campaign.
- The battery is sourced from a supplier in Guangdong, China. Because of its short shelf life and high MOQ, this does represent a high risk item. We will finalize the battery supplier and UN38.3 certifications that allow for air shipping after the conclusion of the campaign.
- The front bezel is a step-milled, edge-beveled PCB made using a special FR-4 composition impregnated with black dye by King Credie in Guangdong, China. The front bezel also incorporates the Wi-Fi antenna.
- The LCD is sourced from Sharp Microelectronics. Due to its highly critical nature and long lead time, we have gone ahead with a risk buy to ensure its availability for the campaign. If the campaign greatly exceeds volume expectations, we may have to take a staged approach to delivery as LCD shipments become available.
- The backlight assembly was pre-manufactured to match the LCD.
- The keyboard overlay is a full-custom, UV-cured, polycarbonate assembly with silkscreen printing, all done via AQS in Dongguan, China.
- The keyboard PCB is a semi-custom "transparent" substrate, manufactured by King Credie in Dongguan, China.
- The button array is sourced from AQS in Dongguan, China.
- Final assembly will be done at AQS in South Korea.

Once the campaign has concluded and we know our final volume, we will begin manufacturing according to the following time line:

- January 2021 – Place orders
- February 2021 – It will be Chinese New Year, and factories will be shut down. We will use this time to develop the factory test for Precursor
- March 2021* – FCC and CE testing of final production prototypes. The question of if and when we can carry out such testing will be heavily impacted by pandemic travel restrictions which represent a significant risk to the project.
- March-June 2021 – Roughly 16 weeks lead time for all components to arrive at the South Korea facility.
- July-August 2021 – Pilot production of initial units in the South Korea facility. Timing and pace of production will depend heavily on our ability to travel to the facility to oversee production bring-up. If travel is not possible due to pandemic restrictions, we may suffer a 1-2 month delay as we mail samples back and forth from the factory to our engineering HQ in Singapore.
- September-October 2021 – Shipment of units to the USA.
- November-December 2021 – First shipments of units to backers. We anticipate that Limited Edition units will take up to 2-3 additional months to arrive, depending upon the nature of the manufacturing processes required to produce them.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/html
Size: 19221 bytes
Desc: not available
URL: <>

More information about the cypherpunks mailing list