QFSAE Vehicle Control Unit
Introduction As the Queen’s Formula SAE team continues to transition from internal combustion to electric, one of the most important components to consider is the Vehicle Control Unit, or VCU. The ...
Introduction As the Queen’s Formula SAE team continues to transition from internal combustion to electric, one of the most important components to consider is the Vehicle Control Unit, or VCU. The ...
Introduction In my previous bare metal projects, I wrote driver implementations for the UART and CAN bus peripherals present on the STM32F4. One of the last drivers to write before the VCU is ready...
Introduction Continuing from where I left off with the UART drivers, the next logical step was to apply what I had learned to a more complicated interface. Controller Area Network, or CAN bus, is a...
Introduction In my previous bare metal project, I set up a CMake build environment and got FreeRTOS running on my STM32F446 development board. When I did this, I used my previous hardware abstracti...
A short overview and some documentation of my CMake build script for working with STM32. Preface As I move more into the embedded side of programming, I thought it prevalent that I start to move a...
Today we will talk about a process called debouncing, what it is used for, and how to implement it on an FPGA using VHDL What is Debouncing? In order to know what debouncing is and its use cases,...
Inspiration Fascinated with how the Arduino HAL (Hardware Abstraction Layer) works, I decided to learn a little more about bare metal programming. This project is rather simple, but provided me wi...
In order to further my knowledge of FPGA logic and VHDL I created a simple Pong game. While simple in theory, this project required three clocked processes, a VGA signal generator and some interes...
A few weeks before I started this project, my friend sent me a video of a lab that he had completed for school. The lab consisted of wiring and programming an Arduino and some seven segment display...
Queen’s Formula SAE: CAL CAL (CAN Abstraction Layer), designed for use with MoTeC M150 ECU and PDM 15. Introduction CAL, or CAN bus Abstraction Layer, was originally proposed by our Electrical Te...