summaryrefslogtreecommitdiff
path: root/USBtrng/index.mdwn
blob: f5df6f88497e63db12257b1ba50da79250459e08 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
# USBtrng

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

## Version 2.0 ##

Here's a photo of prototype version 2.0:

<a href="v2.0/usbtrng-v2.0.jpg"> <img src="v2.0/usbtrng-v2.0-thumb.jpg"></a>

### Version 2.0 Hardware ###

 * [STM32F042](http://www.st.com/web/catalog/mmc/FM141/SC1169/SS1574/LN1823?icmp=stm32f0x2-line_pron_pr_jan2014&sc=stm32f0x2-pr) System-on-Chip
    * ARM Cortex-M0 MCU
    * 32k Flash
    * 6k RAM
    * USB 2.0
    * Crystal-less operation
 * ZXRE1004 zener-diode noise source
 * 20V noise source
    * AP3015A boost regulator
    * back-to-back 3904 transistor noise

## Version 0.1 ##

These are photos of prototype version 0.1:

<a href="v0.1/usbtrng-v0.1-top.jpg"> <img src="v0.1/usbtrng-v0.1-top-thumb.jpg"></a>
<a href="v0.1/usbtrng-v0.1-bottom.jpg"> <img src="v0.1/usbtrng-v0.1-bottom-thumb.jpg"></a>

### Version 0.1 Hardware ###

 * [NXP LPC11U14](http://www.nxp.com/products/microcontrollers/cortex_m0_m0/LPC11U14FHI33.html) 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](../AltOS/) is written mostly in C with some ARM assembler
* Tools Used
	* [gEDA](http://www.gpleda.org/) for schematic capture and PCB layout
	* [GCC](http://gcc.gnu.org/) compiler and source debugger
* Licenses
	* The hardware is licensed under the [TAPR](http://www.tapr.org) [Open Hardware License](http://www.tapr.org/ohl.html)
	* The software is licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

## Artifacts ##

The hardware design files can be found on [git.gag.com](http://git.gag.com) 
in the project [hw/usbtrng](http://git.gag.com/?p=hw/usbtrng;a=summary).