---
title: "Powered by a Gamma-Event True Random Number Generator"
url: "https://maker.wiznet.io/jaden/projects/powered-by-a-gamma-event-true-random-number-generator/"
markdown_url: "https://maker.wiznet.io/jaden/projects/powered-by-a-gamma-event-true-random-number-generator/md"
type: "UCC: User Created Content"
author: "J.D."
author_url: "https://atlane.de/request-a-decision-from-the-universe/"
editor: "WIZnet"
editor_url: "https://maker.wiznet.io/"
original_author: "J.D."
original_url: "https://atlane.de/request-a-decision-from-the-universe/"
published: "2026-04-04"
language: "en"
likes: 0
views: 254
comments: 0
source: "WIZnet Makers (https://maker.wiznet.io/)"
---

# Powered by a Gamma-Event True Random Number Generator

> Powered by a Gamma-Event True Random Number Generator

Original author: J.D. (source: https://atlane.de/request-a-decision-from-the-universe/)

## Article

## How to Build a Networked TRNG with W5500-EVB-Pico Using Gamma Radiation?

## Summary

이 프로젝트는 Raspberry Pi Pico(RP2040)와 WIZnet W5500-EVB-Pico를 기반으로 감마선 이벤트를 이용한 True Random Number Generator(TRNG)를 구현하고, 이를 네트워크로 확장한 시스템입니다. W5500은 생성된 난수를 Ethernet으로 전송하는 역할을 하며, 웹 애플리케이션과 연동되어 실시간 시각화와 검증까지 가능한 엔트로피 서비스로 동작합니다.

---

## What the Project Does

핵심 구조는 두 부분으로 나뉩니다:

### 1) 펌웨어 (RP2040 + W5500)

![](https://atlane.de/wp-content/uploads/2024/05/2923C9C1-EE5E-4DD7-A779-9CCFC44D4D09_1_201_a-1024x997.jpeg)

- Geiger 계수기로 감마선 이벤트 감지

- ADC를 통해 이벤트 펄스 샘플링

- 랜덤 타이밍을 기반으로 난수 생성

- 생성된 데이터를 버퍼링 후 서버로 전송

### 2) 웹 애플리케이션 (Flask 기반)

![](https://maker.wiznet.io/upload/ckeditor5/2753863%5F1775325753%2Epng)

[Link](https://decision.atlane.de/)

- 실시간 데이터 시각화 (WebSocket)

- 난수 품질 검증 (NIST 테스트)

- 사용자 인터페이스 제공

특히 이 프로젝트의 특징은:

👉 단순 난수 생성이 아니라
👉 **“사용자가 질문을 입력하면 랜덤으로 Yes/No를 반환하는 인터랙션 시스템”**

즉:

- 사용자 질문 입력

- TRNG 기반 랜덤 생성

- 결과를 웹에서 표시

이 구조는 “Request a decision from the universe”라는 컨셉으로 구현되어 있습니다.

---

## Where WIZnet Fits

이 프로젝트는 **WIZnet W5500 (W5500-EVB-Pico)**를 핵심 구성으로 사용합니다.

### 역할

- TRNG 데이터를 외부 서버로 전송하는 **네트워크 인터페이스**

- RP2040의 한 코어와 함께 **데이터 업로드 전용 경로 구성**

- 장치를 **실시간 데이터 스트리밍 노드**로 변환

### 구조적으로 중요한 포인트

이 프로젝트는 RP2040의 **듀얼 코어 구조**를 적극 활용합니다:

- Core 0 → 네트워크 처리 (W5500)

- Core 1 → 고속 ADC 기반 이벤트 수집

이 구조는 매우 의미가 큽니다:

- TRNG 품질 유지 (타이밍 왜곡 없음)

- 네트워크 처리와 완전 분리

### 왜 W5500이 적합한가

- 하드웨어 TCP/IP 오프로드 → CPU 간섭 최소화

- 안정적인 유선 통신 → 이벤트 기반 데이터 손실 방지

- 최대 8소켓 → 다중 클라이언트 확장 가능

결과적으로 W5500은 단순 통신칩이 아니라:

👉 **“TRNG를 서비스화하는 핵심 인프라 요소”**

---

## Implementation Notes

리포지토리 구조 기준으로 확인되는 핵심 구현 특징:

- MicroPython 기반 펌웨어 (RP2040)

- ADC 이벤트 감지 → 임계값 기반 감마 이벤트 추출

- 이벤트 데이터 버퍼링 후 자동 업로드

- DHCP / Static IP 지원

- Watchdog 기반 안정성 확보

- 내장 상태 페이지 제공

웹 쪽에서는:

- WebSocket 기반 실시간 스트리밍

- SQLite 기반 데이터 저장

- 사용자 입력 기반 Q&A 시스템

- Rate limiting 및 필터링 포함

중요한 설계 포인트:

👉 **엔트로피 생성과 네트워크 전송을 완전히 분리**

이 구조 덕분에:

- 난수 품질 유지

- 네트워크 지연 영향 최소화

---

## Practical Tips / Pitfalls

- Geiger 신호는 반드시 **노이즈 필터링** 필요

- ADC 임계값 설정이 잘못되면 엔트로피 품질 저하

- 이벤트 기반이라 **버퍼 관리 중요**

- W5500 사용 시:
  - SPI 안정성 확보 필수
  - PHY 링크 먼저 확인

- 네트워크 전송 시:
  - burst 데이터 대비 처리 필요

- 보안적으로:
  - 외부 입력 제한 (entropy source 보호)

- Wi-Fi 대신 Ethernet 사용이:
  - 지연 안정성 측면에서 훨씬 유리

---

## FAQ

**Q: 왜 이 프로젝트에서 W5500을 사용하나요?**
A: 네트워크 처리를 하드웨어로 오프로드하여 RP2040이 엔트로피 생성에 집중할 수 있고, 안정적인 유선 통신으로 데이터 손실 없이 전송할 수 있기 때문입니다.

**Q: W5500은 시스템에서 어떤 역할을 하나요?**
A: 생성된 난수를 서버로 전송하고, 장치를 네트워크 기반 엔트로피 노드로 동작하게 하는 핵심 인터페이스입니다.

**Q: RP2040의 듀얼 코어는 어떻게 활용되나요?**
A: 한 코어는 감마 이벤트 수집, 다른 코어는 W5500을 통한 네트워크 전송을 담당하여 서로 간섭을 최소화합니다.

**Q: 이 프로젝트는 초보자도 가능한가요?**
A: 하드웨어(방사선 검출), 펌웨어, 네트워크, 웹까지 포함된 구조라 중급 이상 수준이 필요합니다.

**Q: 일반 PRNG나 Wi-Fi 기반 시스템과 비교하면 어떤가요?**
A: TRNG는 물리 기반 랜덤성을 제공하고, W5500 Ethernet은 Wi-Fi 대비 지연과 패킷 손실이 적어 전체 시스템 신뢰성이 높습니다.

---

## Source

- Original Project: <https://github.com/deckerjulian/gamma-ray-trng>

- Related Web Application: <https://atlane.de/request-a-decision-from-the-universe/>

- Hardware Platform: W5500-EVB-Pico (WIZnet)

- License: Repository 참고

---

## Tags

#W5500 #W5500EVBPico #RP2040 #TRNG #GammaRay #Ethernet #WIZnet #Security #EmbeddedSystems #Entropy #WebApp #IoT

---

## How to Build a Networked TRNG with W5500-EVB-Pico Using Gamma Radiation?

## Summary

This project implements a gamma radiation-based True Random Number Generator (TRNG) on a Raspberry Pi Pico (RP2040) using the WIZnet W5500-EVB-Pico platform. It captures entropy from radioactive decay and delivers it over Ethernet, enabling a network-accessible entropy service with real-time visualization and validation through a connected web application.

---

## What the Project Does

### 1) Embedded System (RP2040 + W5500)

![](https://atlane.de/wp-content/uploads/2024/05/2923C9C1-EE5E-4DD7-A779-9CCFC44D4D09_1_201_a-1024x997.jpeg)

- A **Geiger counter** detects gamma radiation events

- Pulses are sampled via ADC and processed into random bits

- Data is buffered and transmitted over Ethernet

### 2) Web Application Layer

![](https://maker.wiznet.io/upload/ckeditor5/2753863%5F1775325753%2Epng)

[Link](https://decision.atlane.de/)

- A server (Flask-based) receives entropy data

- WebSocket enables **real-time visualization**

- Statistical validation (e.g., NIST-style checks) is applied

- Users interact via a web UI

A unique feature of this project is its interactive concept:

- Users submit a question

- The system returns a **random Yes/No decision**

- The randomness is derived from real physical events

This transforms the system into an **interactive randomness service**, not just a generator.

---

## Where WIZnet Fits

This project explicitly uses the **WIZnet W5500** via the **W5500-EVB-Pico** platform.

### Role in the system:

- Provides the **Ethernet interface for entropy transmission**

- Offloads TCP/IP processing from the RP2040

- Enables continuous streaming of random data to external systems

### Architectural significance:

The system leverages the RP2040’s dual-core design:

- One core handles **gamma event acquisition and entropy extraction**

- The other handles **network transmission via W5500**

This separation is critical:

- Prevents timing distortion in entropy generation

- Ensures stable and uninterrupted data delivery

### Why W5500 is a strong fit:

- Hardware TCP/IP offload reduces CPU interference

- Wired Ethernet ensures **deterministic latency**

- Supports multiple sockets for scalable data distribution

In this project, W5500 is not optional—it enables the transition from a local TRNG to a **networked entropy infrastructure component**.

---

## Implementation Notes

Based on the repository and associated web implementation:

- Firmware runs on RP2040 (likely MicroPython or C-based)

- ADC is used for pulse detection and threshold-based event extraction

- Data is buffered before transmission to handle bursty radiation events

- Network communication uses the W5500 via SPI

On the server side:

- Flask-based backend

- WebSocket for real-time updates

- Database (e.g., SQLite) for logging entropy data

- User interface for querying randomness (Yes/No system)

A key design principle:

- **Strict separation between entropy generation and network transmission**

This ensures:

- High-quality randomness (no timing interference)

- Reliable and scalable data delivery

---

## Practical Tips / Pitfalls

- Proper **signal conditioning** is critical for Geiger tube output

- Incorrect ADC thresholds can introduce bias

- Use buffering to handle **non-uniform event bursts**

- Ensure stable **SPI communication** with W5500

- Always verify **PHY link status** before debugging software

- Prefer Ethernet over Wi-Fi for **low jitter and packet reliability**

- Secure the entropy source—avoid exposing control interfaces publicly

---

## FAQ

**Q: Why use W5500 in a TRNG system?**
A: It enables hardware TCP/IP offload, allowing the RP2040 to focus on entropy generation while ensuring stable and reliable network transmission.

**Q: How is W5500 connected to the RP2040?**
A: Through SPI on the W5500-EVB-Pico platform, which integrates both components into a compact, ready-to-use board.

**Q: What role does W5500 play in this project?**
A: It transmits generated random data to external systems, enabling the device to function as a network-accessible entropy source.

**Q: Is this suitable for beginners?**
A: This is an advanced project involving hardware sensing, embedded processing, networking, and web integration. Intermediate to advanced experience is recommended.

**Q: How does this compare to PRNG or Wi-Fi-based systems?**
A: TRNG provides true physical randomness, while W5500 Ethernet ensures stable, low-latency delivery compared to software PRNG and Wi-Fi-based communication.

---

## Source

- Original Project: <https://github.com/deckerjulian/gamma-ray-trng>

- Related Web Application: <https://atlane.de/request-a-decision-from-the-universe/>

- Hardware Platform: W5500-EVB-Pico (WIZnet)

- License: Refer to repository

---

## Tags

#W5500 #W5500EVBPico #RP2040 #TRNG #GammaRay #Ethernet #WIZnet #Security #EmbeddedSystems #Entropy #WebApp #IoT

---

Source: https://maker.wiznet.io/jaden/projects/powered-by-a-gamma-event-true-random-number-generator/
