Example Projects

Some examples of previous technical design projects:

MADI Interface IP
Complete hardware / firmware design implementing the Multi channel Audio Digital Interface (MADI) in VHDL for both Xilinx and Altera FPGA’s, utilising a minimal external interface.
An oversampling receiver FPGA design eliminated the need for legacy external tranceivers.

Embedded Graphical User Interface
Implemented a bitmap based user interface for use on small LCD displays in embedded products. Providing photo realistic graphics and anti-aliased fonts. (originally implemented for Microblaze, but completely portable to other devices).
Established an easy to follow, scripted design flow (from graphic design to code) to ease future product development and style changes.

Custom Networked I/O processor
A compact, cost-sensitive design, combining custom hardware with embedded Linux CPU module, to transfer customer’s proprietary data protocol over a standard TCP/IP network. Specifically responsible for the design of custom hardware around a proven CPU module, and writing the custom Linux drivers.

Multiple Environmental Sensor Unit (MESU)
Robust measurement of environmental and system parameters in industrial equipment (temperature, pressure, humidity, power supply voltages and current etc) from on-board and external sensors. Including fault tolerant protocol and interface with external processor.

Electronic Production Test Device
Responsible for the complete design of a unit for final functional and compliance test on electronic sub-assemblies.
Hardware design of analogue interface and measurement circuits, and hardware and software design using an embedded Linux PC on custom baseboard. Included the user interface hardware (display, switches and controls) and associated software.
Implemented a simple, expandable scripting method for defining tests. Also incorporated a method to store all test results locally and for each test unit to transfer results to a central server for production trend analysis

Port of LwIP TCP/IP stack and FreeRTOS to custom hardware
The specific design used an external LAN chip with a Microblaze processor running in XIlinx FPGA.
This project required expanding an existing design into a dual core Microblaze architecture, running from shared DDR memory.

Design tools, methods and component choices to fit with customer requirements and build on existing practices.

  • Schematic/PCB: Altium, PADS (Mentor) (& Designspark evaluation for 1 Client)
  • Processors: ARM, PowerPC, Microblaze/Xilinx, PIC, PIC32
  • FPGA: XIlinx (Spartan-3, Spartan-6), Altera (Cyclone 2, 4, 4GX, 5GX, Cyclone10GX)
  • Compilers: Most recent projects have used GCC (for various target devices)