Skip to content
View peterwht's full-sized avatar

Block or report peterwht

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
peterwht/README.md

Peter White

Rust systems engineer with a focus on embedded and low-level software.

Currently co-founding R0GUE — building smart contract runtime infrastructure and confidential compute protocols in Rust.

Previously at Parity Technologies, writing production Rust on a large open-source distributed systems codebase.

Embedded work: bare-metal Rust on STM32 (ARM Cortex-M3) — interrupt-driven UART with multithreaded ring buffers, I2C, GPIO, ADC, PWM, no_std throughout. Prev: SpaceVPX/I2C firmware in C on a radiation-hardened Vorago MCU for a LANL CubeSat mission.

Languages: Rust · C · Go · Python
Embedded: ARM Cortex-M · STM32 · I2C · SPI · UART · no_std · SpaceVPX
Systems: bare-metal firmware · interrupt-driven design · memory-mapped I/O · cross-compilation

LinkedIn

Pinned Loading

  1. stm32-esp12s stm32-esp12s Public

    Rust-based interrupt-driven HTTP server on STM32F103 using an ESP8266 (ESP-12S) WiFi module — AT command interface over UART with a lock-free ring buffer for ISR-safe receive

    Rust

  2. ring-buffer ring-buffer Public

    no_std lock-free SPSC ring buffer — atomic Release/Acquire indices, no heap

    Rust

  3. embedded-rust-examples embedded-rust-examples Public

    Bare-metal Rust examples for STM32F103 — raw register access, GPIO interrupts, ADC, PWM, and I2C

    Rust

  4. cobs-encoding-rust cobs-encoding-rust Public

    COBS (Consistent Overhead Byte Stuffing) encoder and decoder in Rust, with a full test suite covering all Wikipedia example rows including 254-byte block boundary edge cases.

    Rust

  5. w25qxx w25qxx Public

    W25Q family SPI flash simulator for embedded Rust, with hardware-accurate write and erase constraints.

    Rust

  6. use-ink/ink use-ink/ink Public

    Polkadot's ink! to write smart contracts.

    Rust 1.5k 477