Ben Lancaster

RISC, SoCs, Embedded Systems

England, United Kingdom

[email protected]


Download CV



Graduate Hardware Engineer

ARM — United Kingdom — September 2019-present

Firmware Engineer Placement

Spirent Communications PLC — United Kingdom — 2016-2017 (16 Months)

  • Linux USB and PCIe kernel driver development.
  • Embedded programming on Xilinx MicroBlaze FPGAs and PIC16/24 microcontrollers.
  • Implemented on-chip power levelling and calibration for GNSS RF signal generators.
  • Controlling on-board fans, LEDs, EEPROM, and other peripherals with I2C and SMBus.
  • Configuring, building, and maintaining Embedded Linux distributions using Yocto.


MSc(Eng) Embedded Systems Engineering

University of Leeds — United Kingdom — 2018-2019 (Current)

  • Final Project: Multi-core SoC Design and Implementation for FPGAs
  • Digital Signal Processing for Communications
  • FPGA Design for System-on-Chip
  • Embedded Microprocessor System Design
  • Medical Electronics and E-Health
  • Secure Hardware Design

BSc (Hons) Computer Science

University of Plymouth — United Kingdom — 2014-2018

  • First Class Honours with Certificate of Professional Industrial Experience
  • Awards: Top Final Student in Computing & Best Final Project
  • Revell Research Systems Prize Winner
  • Final Project: FPGA-based 16-bit RISC Processor Design
  • Courses include: Digital Electronics, Embedded Systems and Compilers, Machine Vision, Computation Theory

Open Source Projects

Multi-core RISC SoC for FPGAs


Multi-core RISC SoC with various peripherals including: watchdogs, timer interrupts, GPIO, UART, and more.

FPGA 16-bit Embedded Processor


16-bit RISC processor design and implementation for Xilinx Spartan-6 FPGAs featuring pipelining, on-chip memory, GPIO, and UART modules.

Arm Cortex M0 Processor Board


A 2-layer board for the Minispartan6+ FPGA development kit. Features an STM32F0 TSSOP processor, mutliple power supplies, I2C, ICSP, and LEDs.

FPGA and JTAG Development Board


PCB board for the FT2232H Mini Module and TinyFPGA AX2 for testing JTAG and I2C implementations.

CFG Compiler and Assembler


Compiler and assembler for the PRCO embedded processor. Features simple optimisations including constant folding and unreachable code elimination.

Parallel GPU/CUDA DFT Implementation


Designed, implemented, and evaluated a parallel implementation of the Discrete Fourier Transform.

Read the methodology and results here.

And more on Github...


Gravity Programming Language

marcobambini/gravity — 2.3k stars

A dynamic object-oriented programming language, compiler, and virtual machine, implemented in C.


Verilog, SystemVerilog, Formal verification, UVM, AMBA, FPGA