FST-01SZ is a tiny USB 32-bit computer based on a free (as in freedom) hardware design. NeuG is an implementation of a true random number generator (TRNG) for GD32F103 MCU. A very small amount of assembly is required to use this product - here is an instructional video: https://media.libreplanet.org/u/libreplanet/m/random-number-generator-as...

In this product, a standalone USB version of NeuG is installed, together with a USB Mass Storage Class device implementation named Fraucheky. It uses the thread library Chopstx. NeuG, Fraucheky, and Chopstx are licensed under the GNU GPLv3. Source code and hardware design are on the accompanying microSD.

Please note: the FST-01SZ has different MCU from the prior model. Firmware should be build with

'--target=FST-01SZ' option - see the Note from Niibe below.

Links to more information:

* https://www.gniibe.org/memo/development/fst-01/distributing-fst-01sz.html

* https://www.gniibe.org/memo/development/fst-01/fst-01-revision-sz.html

* https://www.fsf.org/blogs/gnu-press/neug-trng.

NeuG version 1.0.7:

* https://www.fsij.org/gnuk/neug_version1_0_7.html

Note from NeuG Inventor Niibe:

This model uses _different_ MCU than FST-01 and FST-01G. Thus, we need a

warning (or a prominent message) for possible users who want to use it

by updating firmware (or installing their own firmware).

The hardware design itself is mostly same (from hardware design point of

view), but, when you build its firmware (NeuG or Gnuk) by yourself, for

FST-01SZ, the configure script requires an option:

--target=FST_01SZ

instead of

--target=FST_01

or

--target=FST_01G

Target of FST_01 is the default, meaning, when there is no --target

option, configure script selects FST_01 as target.

FST_01 (underscore instead of hyphen) means, it's for FST-01 device.

It's underscore, instead of hyphen, because of internal programming

thing. (I admit, it's confusing. sorry about that)

Technically speaking, firmware built with an option --target=FST_01 (or

default) can be installed and run on FST-01G. Or vice a versa.

IMPORTANT: However, for FST-01SZ, firmware built with an option

--target=FST_01 (FST_01G, or default) _cannot_ run on FST-01SZ. It

should be specifically selected as FST-01SZ. When a user will install

firmware build for FST-01 or FST-01G on to FST-01SZ, the device will be

bricked.

"Bricked" means that it will be not functional at all. Hardware-wise,

it won't break the device ifself. It is possible to repair the device,

but it requires another equipment (JTAG programmer, specifically).