Skip to the content
2 layers44 × 20.5 mmQrng, the printed circuit board in 3D

Quantum Random Number Generator

Size
44 × 20.5 mm
Copper layers
2
Thickness
1.6 mm
Parts
29
Nets
22
Pads
119
Tracks, vias
650, 29
Pours
2
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
11 Oct 2019
Updated
28 Apr 2022

Overview

Qrng is an open-source printed circuit board by Spooky-Manufacturing, from the Spooky-Manufacturing/QRNG repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 44 × 20.5 mm with 29 parts on 22 nets, routed with 650 tracks and 29 vias.

It is built around the AMS1117 and B5819W. Its parts include 13 capacitors, 4 resistors, 3 ICs, 2 diodes and 1 connector. It belongs with the STM32 boards of this library.

Main components

2

README

README.md

QRNG

Quantum Random Number Generator

exploded v1

Motivation

The QRNGv1 (Now QRNG_BASIC) was originally a proof of concept for quantum technology applications, specifically in this case for the generation of entropy which has a broad range of uses from generating graphics to encryption keys.

How It Works

The device uses a polarizing beam splitter to split a laser pulse into two beams with a 50/50 probability of a photon in the beam traveling either path. The photons actually travel as a wave, meaning they both pass through and are reflected by the beam splitter. This creates what's known as the superposition of light where the light remains in both paths able to interfere with itself until it is measured and collapses out of superposition.

qrng schematic

The equivalent quantum logic gate would be the Hadamard gate, in QASM code:

qasm
creg c0[1];
h q[1];
measure q[1] -> c0;

Hardware Requirements

  • Arduino Uno (or similar)
  • Breadboard
  • 2x Photoresistors
  • 1x 50/50 Polarizing beam splitter
  • 1x Laser Diode

Software Requirements

  • Arduino IDE (for programming the Arduino)

Firmare

Firmware can be found in the respective design folders labelled according to version. The schematics as well are labelled with the version of firmware which supports them.

How To Use

Currently the QRNG arduino operates via the Arduino Serial Monitor, you can issue single letter commands to it. We plan to add support for the device with our Qubit Controller in the near future.

Available Commands

  • v : Version, returns the current firmware verison
  • t : Test command, should return 'Success!' on the monitor
  • e : Enables extraneous information
  • r : Returns a random bit generated by the RNG
  • h : Produces a hadamard operation on the qubit, returning the measured angle of the qubit

Parts

29
QtyValueFootprintReferences
7100nFCapacitor_SMD:C_0402_1005MetricC2, C3, C4, C5, C6, C7, C10
2100ohm @ 100mHzInductor_SMD:L_0805_2012MetricFB1, FB2
210uFCapacitor_SMD:C_0402_1005MetricC8, C9
230pFCapacitor_SMD:C_0603_1608MetricC12, C13
2MountingHoleMountingHole:MountingHole_2.2mm_M2H1, H2
2R_PHOTOOptoDevice:R_LDR_4.9x4.2mm_P2.54mm_VerticalR2, R3
1100Resistor_SMD:R_0603_1608MetricR5
110nFCapacitor_SMD:C_0402_1005MetricC11
1270Resistor_SMD:R_0603_1608MetricR4
14.7uFCapacitor_SMD:C_0402_1005MetricC1
18 MHzCrystal:Crystal_SMD_5032-2Pin_5.0x3.2mm_HandSolderingY1
1AMS1117Package_TO_SOT_SMD:SOT-223-3_TabPin2U1
1B5819WDiode_SMD:D_SOD-123D1
1LEDLED_SMD:LED_0805_2012MetricD2
1Macro-Beam-SplitterQuantum:Macro-Beam-SplitterBS1
1STM32F103C8TxPackage_QFP:LQFP-48_7x7mm_P0.5mmU2
1USB_AConnector_USB:USB_A_CNCTech_1001-011-01101_HorizontalJ1
1W25N01GVPackage_SON:WSON-8-1EP_6x5mm_P1.27mm_EP3.4x4mmU3

More from Spooky-Manufacturing/QRNG

1
  • 2 layers24 × 27.3 mmFrameworkExpansion, the printed circuit board in 3D

    FrameworkExpansion

    Spooky-Manufacturing/QRNG

    Quantum Random Number Generator

    26 parts86GPL-3.0

Similar boards

  • 2 layers150 × 97 mmInversorPMSM, the printed circuit board in 3D

    InversorPMSM

    VectorLabsTechnology/Pegasus-Motor-Controller

    Projeto de um inversor para um motor PMSM com FOC

    229 parts2MIT
  • 4 layersTubesPCB Wijdan, the printed circuit board in 3D

    TubesPCB Wijdan

    wijdanmkh-insk/Tasks

    This is my backups from my exercises and for fun coding. I don't like my files that messing around my main drive so instead save them in my computer, I save them here. It's just for fun.

    26 parts
  • 4 layers100.8 × 65 mmESP32 SLAM PCB DESIGN, the printed circuit board in 3D

    ESP32 SLAM PCB DESIGN

    zaidh-mech/PROJECTS

    Engineering, robotics, embedded systems, CAD, and PCB projects

    60 parts
  • 2 layers74.4 × 51.2 mmEsp32-wroom timer, the printed circuit board in 3D

    Esp32-wroom timer

    AlessandroAU/Chorus32-ESP32LapTimer

    This is an ESP32 port of the popular Chorus RF Laptimer

    66 parts102GPL-3.0
  • 4 layers125 × 90 mmAnalog board, the printed circuit board in 3D

    Analog board

    EERNINUO/ArbWave30

    ArbWave30 – 30MHz 任意波形发生器 | FPGA + 高速DAC | SCPI 可控

    295 parts53GPL-3.0
  • 2 layers100 × 45 mmTranspOtterNG, the printed circuit board in 3D

    TranspOtterNG

    Jana-Marie/transpOtterNG

    Next Generation of TranspOtter.

    63 parts51
  • 2 layers85 × 56 mmBasicengine, the printed circuit board in 3D

    Basicengine

    uli/basicengine-pcb

    Schematics and PCB layout for the BASIC Engine home computer

    115 parts48

Questions

How big is the Qrng PCB?

It measures 44 × 20.5 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Qrng use?

29 parts, built around the AMS1117 and B5819W. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Qrng KiCad files?

From the Spooky-Manufacturing/QRNG repository on GitHub, at the commit this page was made from: the board is v1/qrng.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Qrng design in my own project?

Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).