ChaosKey: This is a hardware True Random Number Generator that attaches via USB.

Share this…

This is a hardware True Random Number Generator that attaches via USB.

Version 0.3

This one uses the better noise source coupled with an op amp that provides 2MHz of bandwidth at a gain of 100, offering linear frequency response at a million samples per second.

A photo of prototype version 0.3:

Here’s a circuit diagram of the noise source:

Version 0.3 Hardware

  • STM32F042 System-on-Chip
    • ARM Cortex-M0 MCU
    • 32k Flash
    • 6k RAM
    • USB 2.0 Full Speed
    • Crystal-less operation
  • 20V noise source
    • AP3015A boost regulator
    • back-to-back 3904 transistor noise
  • OPA356 op amp
    • 200MHz GBP

Version 0.2

This version uses a better noise source, but the single transistor amp designed to get from the 20mV noise source to a digital value doesn’t provide enough bandwidth, so the resulting signal seen by the CPU has poor frequency response.

Here’s a photo of prototype version 0.2:

Version 0.2 Hardware

  • STM32F042 System-on-Chip
    • ARM Cortex-M0 MCU
    • 32k Flash
    • 6k RAM
    • USB 2.0
    • Crystal-less operation
  • 20V noise source
    • AP3015A boost regulator
    • back-to-back 3904 transistor noise

Version 0.1

These are photos of prototype version 0.1:

Version 0.1 Hardware

  • NXP LPC11U14 System-on-Chip
    • ARM Cortex-M0 MCU
    • 32k Flash
    • 6k RAM
    • USB 2.0
    • 8 12-bit analog inputs
    • I2C, SPI, async serial
    • digital I/O
  • ZXRE1004 zener diode noise source
  • MCP6L92 dual op-amp

Software

  • Firmware Features
    • AltOS is written mostly in C with some ARM assembler
  • Tools Used
    • gEDA for schematic capture and PCB layout
    • GCC compiler and source debugger
  • Licenses
    • The hardware is licensed under the TAPR Open Hardware License
    • The software is licensed GPL version 2

Source:https://altusmetrum.org/