Single-Rail to Split-Rail DC Power Supply Design (KiCad)
Latest video giving a brief overview of a simple but very useful single-rail to split-rail DC power supply design.
Small form-factor. Generates +5V, +12V, and -12V rails from something like a standard 9V battery.
NE-XT Headphone Amplifier
I designed a low-noise, low-distortion headphone amplifier using only NE5532 op-amps… 44 of them in total!
Take a look at how I did it here: http://philsal.co.uk/projects/misc-electronics/ne-xt-headphone-amplifier
FIR Filter Designer
I wrote an open-source tool in C# that aids in designing digital FIR filters using the window-sync method. The tool can be used to design various types of filter, such as: low-pass, high-pass, band-pass, and band-stop.
Derivation: https://github.com/pms67/HadesFCS/blob/master/Filtering/FIR%20Filter%20Design%20Derivation.pdf
Source code and executable available here: https://github.com/pms67/HadesFCS/tree/master/Filtering
PiCNN
PiCNN is a lightweight, open-source, single-header C++ library for Convolutional Neural Networks that is capable of running on single-board computers such as the RaspberryPi. It enables practical machine learning for Raspberry Pi programmers without the hassle, size, and computational requirements of installing and running larger machine learning frameworks. I developed this library during a past internship at the University of Cambridge’s Computer Laboratory.
Check out a brief presentation of PiCNN: PiCNN Presentation
Or take a look at the complete derivation of PiCNN: PiCNN
The source code is available here on GitHub.
Fixed-Wing UAV Flight Control System
I’m designing a complete flight control system from scratch. This includes the hardware, low- and high-level software, control and guidance algorithms, telemetry protocols, ground control station, etc.
Check out the source files on GitHub: https://github.com/pms67/HadesFCS
A video giving a broad overview of the hardware design:
Here’s a sneak peek of the hardware!
Low-Noise Headphone Amplifier
Low-noise, stereo-to-mono headphone amplifier. Pictures of the completed system can be seen below.
The amp consists of a set of input buffers, a summing amplifier, Baxandall volume stage, and finally a class AB output stage.
The PCB was designed in KiCAD.
It is rated for 9V but can be used with a supply voltage of up to 18V. Bandwidth (-3dB points) was designed to be from 20Hz to 20kHz when driving an 8 Ohm load. The amp can however drive larger loads easily, such as Beyerdynamic DT 880 Pro headphones at 250 Ohms.
The amplifier consists of four main sections:
- Power supply section: Reverse polarity protection, power supply filtering, bias voltage generation.
- Input buffers and summing: Simple NPN emitter followers (using standard BC547s) as high impedance buffers followed by a an approximately unity gain, op-amp summing amplifier (low-noise NE5532).
- Active volume control: This is a low-noise, Baxandall volume control (seen in Douglas Self’s book ‘Small Signal’) giving up to 17dB of gain.
- Output power amplifier: Finally, the output stage consisting of a unity gain op-amp buffer and a class AB power amplifier, capable of driving loads as small as 8 Ohms.
Self-Balancing Bicycle
As part of my final year at university, I built a full-scale rider-less, self-balancing bike. This involved the modelling, simulation, control system design, and mechanical/electrical/software implementation.
Read the final report by clicking here!
PID and H-Infinity controllers:
Full-scale bicycle test run:
Some pictures of the full-scale bicycle: