Flying Stone Bare Bone 48

Here is the idea of another small computer. Like FST-01, its intended usages are Gnuk, and/or NeuG.

Some Update Required

In 2016, it found that the regulator chip in FST-01 became discontinued.

There are some stocks in the market, so, FST-01 is still reproducible. Yet, this is a good opportunity to consider new design.

Lesser and smaller MCU

The MCU is QFN32 version of MKL27Z256 (Freescale Kinetis L 27Z, with 256KB flash memory).

The major reason of this MCU change is a change of technology. STM32F103 (in FST-01) uses 130nm technology. MKL27Z256 uses 90nm technology. When we consider physical attacks to a chip, smaller die and lines makes some of attacks difficult. Smaller is better.

For Ed25519 and Curve25519 computation, Cortex-M0+ at 48MHz is considered enough, if we compare RSA-2048 on Cortex-M3 at 72MHz.

While the performance of Cortex-M0+ is lesser than Cortex-M3 and 48MHz is 2/3 of 72MHz, it is enough for Ed25519 and Curve25519 computation. Besides, slower computation can lower an impact of intensive malicious attacks (when a part of control to the computation were taken by some attacks). Best approach would be making it fast enough so that it can not force a user to wait, but slower as possible to lower a possibility of security impact in some cases.

Good thing of Cortex-M0+ is that its MUL operation is constant-time (in MKL27Z256, it's in one clock), while Cortex-M3's is variable. We can take advantage of this feature to make some timing attacks difficult.

When we select the clock of 48MHz, it is possible to use crystal less MCU. Further, MKL27Z256 includes a regulator in a chip, so, we will no longer need to care about discontinuation of a regulator chip.

Board with USB connection footprint on PCB

No USB A plug, but we make the board directly inserted to PC. That is, a bare bone design.

This makes assembly process of the board simpler.

Some board in market uses 2.0mm thick PCB for this. IIUC, the thickness of USB plug is 1.95mm. So, I'm considering use of 1.6mm thick PCB and put 0.35mm PS (Polystyrene) Sheet on the bottom side.

The name

Flying Stone Bare Born 48, FS-BB48 in short.

Minimalist design, but a button

FST-01 didn't include any user input (as default), and it was up to user's extension to provide such an interface. For Gnuk, according to our experience, having a simple button makes sense.

FST-01 had a SPI flash memory but it was not used. For FS-BB48, it will be user's option to connect such a memory (by extension).

FS-BB48 has a LED, SWD port and an extension I/O pins, just like FST-01.

LED

It seems white LED is cheaper these days.

PCB design

This is the front side. We have a character named "Bare Born Bear".

FS-BB48 PCB front side

This is the back side. It includes my logo and CE marking.

FS-BB48 PCB front side

This is the connection.

FS-BB48 PCB connection