About
Hey there, I’m Philip!
I’m a Canadian Electrical Engineer-in-Training. I’ve worked on analog and high-speed digital electronics for consumer and avionics use. On the side, I study software design and languages as a hobby and write apps to fill niches that I see exist.
I’m an avid free and open-source (FOSS) supporter and have recently started to maintain some packages to improve the desktop user experience on Arch Linux. I try to use FOSS solutions wherever possible, so my main systems runs Arch or Ubuntu Linux. However, I am a strong advocate for cross-platform development so I try to support Linux, Mac, and Windows whenever possible with my software.
I enjoy discovering new music, gaming, homelab, hiking, and traveling. The purpose of this blog is to be an intersection between electronics, software, and those hobbies.
Details on my domain experience down below for those interested.
- Hardware & Electronics
- EDA Tools: OrCAD, KiCAD
- CAD Tools: FreeCAD
- Simulation Tools: LTSpice, PSpice, TI TINA
- Implementation Experience:
- Analog: Acquisition (<1kSPS), Audio DAC, Audio Routing, Audio Amplification (0.5-120W)
- High-speed Digital: DDR3/4, PCIe, XFI, USB 2.0/3.0, SATAIII, RGMII, SGMII, Ethernet
- Low-speed Digital: SPDIF, SPI, I2S, I2C, MDIO, SDIO
- Microprocessors: Xilinx Zynq, NXP QorIQ Layerscape
- Microcontrollers: Microchip PIC18/24, ST Electronics STM32 series
- Lab Experience:
- Equipment: Lab Power Supply, Oscilloscope, Function Generator, Electronic Load, Thermal Imaging
- SMD Rework
- High-speed Probing
- Power Supply Testing
- Design Analysis: Safe Operating Area, Monte Carlo, Worst Case, Extreme Value Analysis
- Qualification: EMC and Environmental as per DO-160G
- Documentation: HRD, HDD, IICD, EICD, DVTP
- Software
- Languages (Experienced): C, C++, C#, Python, MATLAB, JavaScript, HTML, CSS
- Languages (Learning): Rust
- Environments: Visual Studio, Visual Studio Code, MPLabX, XCode, Eclipse, NetBeans, KDevelop, XCode, Sublime Text, Atom
- Version Control: Git, SVN, Serena Dimensions
- Implementation Experience:
- Embedded firmware
- Linux and Windows kernel drivers
- Cross-platform (Linux, Mac, Windows) graphical and command line applications
- Electron-based applications
- HTML5 web applications
- Node.js backend applications
- General
- Operating Systems: Linux (Arch, Debian, Gentoo, Ubuntu), Windows, macOS
- System Architecture Design