Skip to the content
2 layers120 × 70 mmBRNG, the printed circuit board in 3D

Random number generator based on radioactivity from bananas

Size
120 × 70 mm
Copper layers
2
Thickness
1.6 mm
Parts
93
Nets
57
Pads
285
Tracks, vias
442, 59
Pours
3
Routed
Yes
KiCad
KiCad 5 (file 20170123)
Created
14 Mar 2018
Updated
12 Jun 2022

Overview

BRNG is an open-source printed circuit board by valerionew, from the valerionew/Banana-Random-Number-Generator repository on GitHub. It is a 2-layer board of 120 × 70 mm with 93 parts on 57 nets, routed with 442 tracks and 59 vias.

It is built around the ATMEGA328P-AU, CH340G and LM555N, with the BC847, MMBTA42 and USL1M among its other parts. Its parts include 31 capacitors, 20 resistors, 11 diodes, 5 transistors and 4 ICs. It belongs with the AVR (ATmega, ATtiny) boards of this library.

Main components

6

README

README.md

Banana Random Number Generator

License: CC BY-SA 4.0
License: GPL v3

brng

Project description

An Arduino based true random number generator. Takes it's peculiar name from the potassium-40 present in bananas, used as radiation source for the random number generatation.

Disclaimer: the radioactivity from the bananas doesn't quite make the difference, the background radiation is more than enough to make the generator work. Potassium is definitely detected, some tests conducted with pure KCl and KOH showed a huge increase in the detector activity.

layout 1

  1. Project status
  2. Hardware
  3. Software
  4. Enclosure

Project status

The current release is fully working.

Hardware

The hardware is based around the popular ATMega328P and the STS-5 (a.k.a. CTC-5) Geiger-Müller tube.

Software

As of this moment there are available two versions of the firmware:

  • minimal_test.c: this version is fully compatible with the unmodified hardware. It uses the hardware interrupt INT0 and has proven to be unreliable when brought into an arduino environment due to interferences with the millis() function from the Wiring core. On it's own works with no problems. Read more on this, in italian
  • minimal_test_with capture.c: this version and has proven to be much more reliable than the previous, since it captures the timer stamp via dedicated hardware and it's not subject to software delays. It's based on the timer capture function on PB0/ICP1 pin of the ATMega. This version needs a bodge wire between pin PD2 and pin PB0, as shown below:

mod

I'm currently working on an arduino version on the software, that will be published in this repo as soon as it gives consistent results. In the future another version of the firmware which makes use of the hardware as a plain Geiger counter might be developed. Any help is welcome!

Enclosure

The board is designed to fit in a laser cut acrylic enclosure to protect the user from the high voltage present onboard. The enclosure design files are included and licensed under CC-BY-SA 4.0 license

Parts

93
QtyValueFootprintReferences
19100n 50VCapacitors_SMD:C_0805_HandSolderingC1, C11, C13, C14, C15, C17, C19, C20, C21, C22, C23, C24, C25, C26, C27, C28 +3
8100kResistors_SMD:R_0805_HandSolderingR3, R4, R5, R7, R8, R11, R12, R20
61kResistors_SMD:R_0805_HandSolderingR10, R13, R14, R15, R16, R19
622pCapacitors_SMD:C_0805_HandSolderingC3, C8, C10, C12, C16, C18
6LOGOLOGOG***, G***, G***, G***, G***, G***
5220Resistors_SMD:R_0805_HandSolderingR2, R6, R9, R17, R18
4100nCapacitors_SMD:C_0805_HandSolderingC2, C7, C9, C31
4BC847TO_SOT_Packages_SMD:SOT-23_HandsolderingQ1, Q2, Q4, Q5
4OSR50802C1Ecustomfootprints:0802_side_ledD7, D8, D9, D10
2100uCapacitors_SMD:CP_Elec_6.3x5.3C29, C30
21N4148Diodes_SMD:D_SOD-123D1, D3
2LL-S192UAC-1ALEDs:LED_0603_HandSolderingD5, D6
2LL-S194PBC-B4-1BLEDs:LED_0603_HandSolderingD2, D11
2LM555NHousings_SOIC:SOIC-8_3.9x4.9mm_Pitch1.27mmU1, U3
1100Potentiometers:Potentiometer_Trimmer_Vishay_T73XW_VerticalRV1
110MResistors_SMD:R_1206_HandSolderingR1
112MHz LF XTAL003210Crystals:Crystal_SMD_HC49-SD_HandSolderingY2
115mHInductors_THT:L_Radial_D7.2mm_P3.00mm_MuRATA_1700L1
116MHz LF XTAL003237Crystals:Crystal_SMD_HC49-SD_HandSolderingY1
1ATMEGA328P-AUHousings_QFP:TQFP-32_7x7mm_Pitch0.8mmU2
1BuzzerBuzzers_Beepers:Buzzer_12x9.5RM7.6BZ1
1CH340GHousings_SSOP:SOP-16_4.4x10.4mm_Pitch1.27mmU4
1CONNETTORE 6 PIN 90°Pin_Headers:Pin_Header_Angled_1x06_Pitch2.54mmJ3
1DIPTRONICS NDI-02H-VButtons_Switches_THT:SW_DIP_x2_W7.62mm_SlideSW1
1GEIGER_TUBEcustomfootprints:GeigerG1
1ISPPin_Headers:Pin_Header_Straight_2x03_Pitch2.54mmICSP
1MMBTA42TO_SOT_Packages_SMD:SOT-23_HandsolderingQ3
1MOLEX 105017 0001Connectors_USB:USB_Micro-B_Molex-105017-0001J2
1Polyfuse 500mAResistors_SMD:R_1210_HandSolderingF1
1USL1MDiodes_SMD:D_SOD-123D4

The 88 most common of 93 parts.

Similar boards

  • 2 layers75.4 × 75.4 mm53xLIDAR, the printed circuit board in 3D

    53xLIDAR

    valerionew/53xLIDAR

    53xLIDAR is a solid state, 16 points lidar, based on ST's VL53L1x sensors

    61 parts11
  • 2 layers49.5 × 49.5 mmSMT4dummies, the printed circuit board in 3D

    SMT4dummies

    dsquaredrobotics/SMT4dummies

    An SMT soldering practice PCB

    63 parts2GPL-3.0
  • 2 layersSmd pen, the printed circuit board in 3D

    Smd pen

    tdarlic/smd_pen

    Pick and Place Pen

    65 parts2
  • 2 layers50 × 50 mmInductor tester, the printed circuit board in 3D

    Inductor tester

    ianrrees/KiCad_talk

    KiCad Presentation + Inductor Tester example project for Dunedin Makerspace April 2016

    46 parts
  • 2 layers154.5 × 73 mmPromprog2, the printed circuit board in 3D

    Promprog2

    Lazarus-L-o-n-g/PromProg

    PromProg is a versatile PROM Programmer for three basic PROM chips - 74188, 74S287 and 74S571. Device is based on ATmega16 microcontroller, data for programming can be downloaded from master computer from your preferred…

    95 parts8
  • 2 layers31.2 × 53.3 mmNanit, the printed circuit board in 3D

    Nanit

    andykarpov/nanit

    Alternate PCB for NANIT project https://radiokot.ru/circuit/digital/measure/117/

    73 parts7
  • 2 layers55 × 55 mmControlBoard, the printed circuit board in 3D

    ControlBoard

    Deni90/singleDigitNixieClock

    A small project that combines ESP32 with a vintage Soviet Nixie tube from the 70’ to create an artistic clock. Originally developed on ESP8266/Arduino, now evolved to ESP32 with ESP-IDF for greater performance and…

    39 parts5MIT
  • 2 layers70 × 100 mmIot badge-433, the printed circuit board in 3D

    Iot badge-433

    galopago/iot-badge-legacy

    Electronic conference badge for programming conventions, hacking events, etc.

    77 parts4

Questions

How big is the BRNG PCB?

It measures 120 × 70 mm and has 2 copper layers, 1.6 mm thick.

What parts does the BRNG use?

93 parts, built around the ATMEGA328P-AU, CH340G, LM555N and BC847. 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 BRNG KiCad files?

From the valerionew/Banana-Random-Number-Generator repository on GitHub, at the commit this page was made from: the board is Hardware/BRNG.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the BRNG design in my own project?

Its repository states no licence, so its author keeps all rights: ask valerionew before reusing the design.