Wiznet makers

jaden

Published April 04, 2026 ©

109 UCC

18 WCC

57 VAR

0 Contests

0 Followers

0 Following

Original Link

Powered by a Gamma-Event True Random Number Generator

Powered by a Gamma-Event True Random Number Generator

COMPONENTS
PROJECT DESCRIPTION

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)

  • Geiger 계수기로 감마선 이벤트 감지
  • ADC를 통해 이벤트 펄스 샘플링
  • 랜덤 타이밍을 기반으로 난수 생성
  • 생성된 데이터를 버퍼링 후 서버로 전송

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

Link

  • 실시간 데이터 시각화 (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


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)

  • 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

Link

  • 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


Tags

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

Documents
Comments Write