Precursor – build your own open-source mobile device with cryptographic protection

Precursor – build your own open-source mobile device with cryptographic protection

The other day the open software platform project for creating mobile devices is presented. It is called Precursor. According to the author, it is Arduino or Raspberry Pi for the mobile industry. It is possible to assemble any mobile device on the basis of the platform.

Unlike the same one-platform devices, Precursor comes in a case with a ready keyboard and a display. More details about the project – under the cat.

Device Features

The case is made of aluminum, its dimensions are 69 x 138 x 7.2 mm. There is an LCD screen (336*536), 110 mA*h battery, keyboard, speaker, vibrator motor and accelerometer.

Bases of the device – software-defined SoC, FPGA Xilinx XC7S50, on its basis is organized emulation of 32-bit CPU RISC-V, working at 100MHz. The developer claims that it is possible to emulate a wide range of processors – from 6502 and Z-80 to AVR and ARM, as well as sound chips and various controllers.

In addition, the board includes 16 MB SRAM, 128 MB Flash, Wi-Fi Silicon Labs WF200C, USB type C, SPI, I²C, GPIO.

The platform features two hardware pseudo-random number generators. This is done to increase security. The interesting thing is that the device has no microphone. To read the sound you need to connect a headset. This is done in order to protect against eavesdropping. If the headset is disconnected, the sound will not be recorded, so you cannot overhear anything remotely.

The Wi-Fi module is hardware isolated from all other components and works in its own environment. To improve security, the developers have provided a lockable housing, RTC for integrity tracking, motion monitoring in standby mode (always on accelerometer and gyro).

If necessary, you can add a chain of self-destruction and clean up all the data. This option is activated with the AES key.

The FHDL language Migen (Fragmented Hardware Description Language) based on Python is used to work with hardware modules. It is part of the LiteX framework, which provides the infrastructure for creating electronic circuits. In addition, the developer has prepared a reference SoC Betrusted, which includes 100 MHz CPU VexRISC-V RV32IMAC, as well as an embedded controller Betrusted-EC with 18 MHz LiteX core VexRISC-V RV32I.

There is also a set of cryptographic primitives including AES-128, -192, -256 with ECB, CBC and CTR modes, SHA-2 and SHA-512, crypto engine based on Curve25519 elliptic curves. The engine is based on Google OpenTitan crypto core.

The author of the project calls Precursor a platform for creating and verifying prototypes. But Betrusted is a ready-made device based on the platform. The author used user interaction elements to eliminate the possibility of saving, demonstrating or transferring protected data outside the device.

Betrusted is not a cell phone, but rather a digital assistant that allows to increase the security of data reception and transmission.

The author of the project is Andrew Huang, who previously won the EFF Pioneer Award 2012. As a fan of open source, he opened both Precursor and Betrusted software and hardware. The license used is Open Hardware License 1.2. Andrew Huang discovered circuitry, design board documentation, SoC Betrusted and the controller. 3D models were also prepared for those wishing to print the case. Firmware and OS Xous are ready.

For a complete project description, please find out here.



WARNING! All links in the articles may lead to malicious sites or contain viruses. Follow them at your own risk. Those who purposely visit the article know what they are doing. Do not click on everything thoughtlessly.


0 0 vote
Article Rating
Notify of
Inline Feedbacks
View all comments

Do NOT follow this link or you will be banned from the site!
Would love your thoughts, please comment.x

Spelling error report

The following text will be sent to our editors: