Category: Uncategorized

  • Multi Processor Automotive Control Network


    Designing a Distributed Embedded Vehicle Architecture Using CAN Bus

    When most people think about modifying a vehicle with electronics, they imagine adding a few sensors, an Arduino, or perhaps a digital dashboard. Modern vehicles, however, are built very differently. Rather than relying on a single computer, today’s automobiles contain dozens of Electronic Control Units (ECUs), each responsible for a dedicated subsystem. These independent processors communicate continuously over high speed Controller Area Networks (CAN), allowing every module to share information while remaining largely autonomous.

    This project explores those same engineering principles by transforming my 1989 Ford Mustang into a distributed embedded system built around multiple ESP32 based controllers connected through a custom CAN bus network.

    Instead of creating one large controller responsible for every sensor, display, light, and actuator, each subsystem is implemented as its own intelligent processing node. Every controller is physically located near the hardware it manages, reducing wiring complexity while improving modularity, reliability, and long term maintainability.

    The project began as a simple led project controller but has steadily evolved into a complete vehicle electronics platform. Today the network manages engine monitoring, interior systems, telemetry, lighting, user interfaces, diagnostics, and data acquisition while remaining expandable for future modules.

    The overall objective is not simply to add new features to an older vehicle. Rather, the goal is to design an architecture that mirrors many of the software and hardware design philosophies found in modern automotive electronics while remaining completely open source, fully customizable, and built entirely from commercially available hardware.


    Design Philosophy

    Large embedded projects naturally become more difficult to maintain as additional hardware and software are introduced. Every new sensor, output, or feature increases software complexity, wiring requirements, debugging time, and the potential for failures.

    Rather than accepting this complexity, the system is intentionally designed around a modular architecture. Each processor performs one primary role exceptionally well.

    Instead of routing dozens of analog sensors across the length of the vehicle into one controller, intelligent nodes are positioned where they are most useful. Sensor processing occurs locally, decisions are made locally whenever possible, and only meaningful information is transmitted across the CAN network.

    This philosophy provides several important advantages.

    First, wiring is dramatically simplified. Instead of running individual signal wires throughout the vehicle, each module requires only power and two CAN wires for communication. This not only reduces wiring weight but also improves reliability and simplifies future expansion.

    Second, software becomes significantly easier to maintain. Each firmware project remains focused on one subsystem, allowing new features to be implemented without risking unrelated portions of the vehicle.

    Finally, every subsystem becomes replaceable. Additional processors can be added to the network with minimal changes to existing hardware, making the vehicle an expandable embedded platform rather than a collection of individual electronics projects.


    System Architecture

    The vehicle currently consists of several intelligent processing nodes connected by a common CAN network.

    At the center of the user experience is an ESP32-S3 dashboard controller responsible for the graphical interface and user interaction. Mounted within the cabin, this processor manages a capacitive touchscreen display, GPS functionality, Bluetooth communication, race telemetry visualization, onboard data logging controls, diagnostics, configuration menus, and interior ambient lighting.

    Unlike a traditional dashboard, the display itself performs very little direct hardware control. Instead, it functions as the primary human machine interface, issuing CAN commands to dedicated controllers located throughout the vehicle. This separation allows user interface development to remain independent from real time control software while significantly improving maintainability.

    Within the engine bay, an Arduino Nano ESP32 acts as the dedicated engine subsystem controller. This processor continuously monitors engine related sensors while managing the custom progressive water methanol injection system. Oil pressure, fuel pressure, intake air temperature, knock sensing, and additional safety inputs are processed locally before being shared across the CAN network.

    By locating this controller close to the engine, analog sensor wiring remains short, electrical noise is reduced, and sensor processing can occur independently of the dashboard. Safety critical logic such as water methanol failsafes can continue operating regardless of what is displayed on the touchscreen.

    At the rear of the vehicle, a dedicated ESP32 controls all rear lighting functions. Brake lights, reverse lights, turn signals, sequential animations, startup sequences, and future lighting effects are handled entirely within this module. The dashboard simply issues high level commands while the lighting controller executes animations and reports status information back across the network.

    The final major participant within the CAN network is the MicroSquirt engine management system. Rather than replacing the ECU, the embedded controllers complement it by consuming engine telemetry, displaying live information, logging data, and integrating additional functionality beyond the scope of traditional engine management.

    Collectively these processors form a distributed computing platform where every module performs a specialized task while contributing to a unified vehicle control system.


    Human Machine Interface

    One of the most visible components of the project is the custom touchscreen dashboard developed using LVGL.

    The interface serves as the primary interaction point between the driver and every embedded subsystem. Rather than functioning as a simple digital gauge cluster, the dashboard behaves more like a modern automotive infotainment system, providing access to configuration, diagnostics, telemetry, sensor visualization, and subsystem control.

    The interface currently includes live engine monitoring, water methanol system controls, GPS navigation information, race telemetry, Bluetooth connectivity, onboard data logging management, interior lighting customization, and comprehensive diagnostic pages displaying live sensor information from throughout the vehicle.

    Because every subsystem communicates through CAN, new pages and features can be developed without modifying existing hardware. Additional sensors immediately become available to the interface simply by publishing new CAN messages.


    Race Telemetry and Data Acquisition

    A major objective of the platform is providing meaningful data rather than simply displaying gauges.

    The vehicle continuously collects operating information from multiple embedded controllers while generating synchronized telemetry that can be reviewed after a drive or performance event. Engine parameters, pressure sensors, knock activity, GPS information, water methanol operation, and additional vehicle data can be recorded simultaneously.

    This architecture transforms the vehicle into a mobile data acquisition platform capable of capturing significantly more information than traditional standalone aftermarket gauges.

    Rather than requiring multiple independent logging devices, every subsystem contributes data to a common telemetry framework that can later be analyzed for performance tuning, diagnostics, or reliability improvements.


    CAN Bus as the System Backbone

    Controller Area Network serves as the communication backbone connecting every processor within the vehicle.

    Instead of transmitting raw electrical signals between modules, each controller publishes structured messages describing sensor values, commands, status information, and fault conditions. Every processor subscribes only to the information it requires, greatly reducing software coupling while maintaining high system flexibility.

    This publish subscribe architecture allows entirely new controllers to be added without redesigning existing firmware. Future expansion may include suspension monitoring, climate control, battery management, tire pressure monitoring, additional driver assistance features, or entirely new embedded subsystems while leaving the existing network unchanged.


    Cost Comparison

    One of the primary goals of this project was to explore whether a modern, distributed vehicle electronics platform could be built using inexpensive, commercially available hardware while maintaining a level of functionality typically found in high end aftermarket motorsport systems.

    Rather than purchasing a collection of standalone products, each responsible for only a single task, this project combines numerous vehicle systems into one integrated platform connected through a common CAN bus network. Every controller shares information, every subsystem works together, and new functionality can be added without redesigning the entire vehicle.

    While this project was never intended to replace professional motorsport hardware, it demonstrates what can be accomplished through thoughtful system architecture, custom software, and modular embedded design.


    Project Bill of Materials

    Water Methanol Pump $12

    ESP32-S3 Dashboard Controller $12

    Arduino Nano ESP32 $18

    ESP32 Tail Light Controller $6

    4” Capacitive Touchscreen Display $18

    3 × MCP2515 CAN Controllers $12

    GPS Receiver $10

    MicroSD Module $18

    Water Methanol Nozzle & Solenoid $20

    Oil Pressure Sensor $12

    Fuel Pressure Sensor $12

    Knock Sensor $8

    Automotive Connectors & Wiring $30

    MOSFETs, Regulators, Passives & Protection Components $20

    Miscellaneous Hardware $20

    Estimated Total Cost

    Approximately $225 to $250

    For roughly the price of a single premium aftermarket gauge, this project provides the foundation for a complete distributed vehicle electronics platform capable of controlling and monitoring numerous systems simultaneously.


    What Would This Cost to Buy?

    If these same capabilities were purchased individually using commercial products, the total cost would increase dramatically.

    Commercial Product

    Typical Price

    Primary Function

    AEM CD-5 / CD-7 Digital Dash

    $1,250 to $2,250

    Digital dashboard, CAN display, configurable gauges

    MoTeC C125 Dash Logger

    $2,300 to $2,800

    Professional motorsport display and data logger

    AEM Water/Methanol Injection Controller

    $600 to $730

    Progressive water methanol injection controller

    Racepak IQ3 / Sportsman Data Logger

    $970 to $1,950

    Data logging and race telemetry

    CAN Display Module

    $300 to $700

    Live CAN sensor monitoring

    Oil Pressure Gauge

    $150 to $250

    Oil pressure monitoring

    & Fuel Pressure Gauge

    $150 to $250

    Fuel pressure monitoring

    Knock Monitor

    $250 to $500

    Engine knock detection

    Programmable Lighting Controller

    $150 to $300

    Interior and exterior lighting control

    Estimated Commercial Cost

    Approximately $6,000 to over $10,000

    Although no single commercial product provides every feature included in this project, achieving a similar overall level of functionality would require purchasing multiple independent systems from several manufacturers.


    A Different Approach

    This project is not intended to compete directly with professional motorsport products from companies such as MoTeC, AEM, Haltech, or Racepak. Those systems are professionally engineered, environmentally tested, and validated for demanding racing environments. This project demonstrates a different philosophy. Rather than purchasing individual products for every vehicle subsystem, everything is designed to operate as one cohesive platform. Every controller communicates across the same CAN network, shares information with the rest of the vehicle, and can be expanded through software without replacing existing hardware.


    More Than a Collection of Modules

    Although this project began as a simple water methanol injection controller, it has evolved into something much larger.

    Today it serves as a distributed embedded computing platform capable of managing vehicle diagnostics, engine monitoring, race telemetry, data logging, lighting control, user interfaces, and numerous sensor networks simultaneously.

    Each controller is responsible for a dedicated subsystem while communicating through a shared CAN bus, closely following the design principles used in modern automotive electronic architectures.

    Rather than thinking of the project as a dashboard, lighting controller, or water methanol controller, it is more accurate to describe it as a modular automotive electronics platform. Every new feature becomes another node within the network, allowing the vehicle to evolve over time without sacrificing maintainability or requiring complete redesigns.

    Ultimately, the value of this project extends well beyond its hardware cost. It represents an ongoing exploration of embedded systems engineering, real time communication, software architecture, and automotive integration, demonstrating how inexpensive hardware can be combined with thoughtful engineering to create a flexible, scalable, and highly capable vehicle control system.

    Hardware Documentation

  • First PCB Update: Firmware

    Bringing the Robotics Controller to Life, Firmware and Software

    In a previous post, I focused on the hardware side of my custom ESP32 S3 robotics controller PCB, including the board layout, grounding strategy, power distribution, and the decisions that went into turning a prototype wiring setup into a real four layer design. That hardware was a huge milestone for me, but a robotics controller is only half finished until the firmware gives it behavior, structure, and a usable interface. The software side is what turns the board from a collection of connected parts into an actual development platform.

    For this stage of the project, I focused on building firmware that was modular, scalable, and practical to work with during development. I did not want a single giant source file with everything packed into one place. Instead, I organized the project into separate modules for motors, servos, ultrasonic sensors, hall sensors, the IMU, buttons, the display, the user interface, robot modes, games, and wireless communication. That structure makes the code easier to understand, easier to test, and much easier to expand later as the board evolves. The firmware is coordinated from a main entry point, while pin assignments and tunable settings are centralized in a config file so the system can be adapted to future hardware revisions without rewriting the whole project.

    One of the biggest goals of this firmware was to make the board useful as both a robotics controller and a self contained demo platform. On the motion control side, the ESP32 S3 uses hardware timed PWM through the LEDC peripheral to drive two DRV8871 motor channels at 20 kHz with 8 bit resolution. That keeps motor control responsive while also pushing the PWM frequency above the normal audible range. The board also supports a standard servo output on GPIO 8, while GPIO 9 is currently repurposed as the potentiometer input for menu navigation and analog controls inside the user interface.

    Sensor support was another major part of the firmware. The board reads four ultrasonic sensors for distance sensing, two hall effect inputs for pulse counting and speed feedback, and an I2C IMU for motion data. In other words, the software is built to support both movement and awareness. That makes the board useful not just for driving motors, but for experimenting with autonomous behavior, closed loop feedback, and navigation concepts.

    I also wanted the board to be easy to interact with without always needing to reflash code or hook up a separate interface. To solve that, I added several layers of user interaction. The first is an onboard TFT display driven over SPI using TFT_eSPI. The current firmware uses a tabbed menu system that runs directly on the display and is controlled with two buttons plus a potentiometer. Through that interface I can view live sensor data, open demos, launch robot modes, scan WiFi networks, look for nearby BLE devices, and navigate through test features without needing an external computer.

    The software also includes a built in wireless dashboard. On boot, the controller creates its own WiFi access point called RoboController and hosts a browser based dashboard at 192.168.4.1. That dashboard includes live sensor data, a WiFi scanner, a BLE radar view, and a control tab for remote operation. Instead of relying on constant polling, the interface pushes live data over WebSocket, which makes it feel much more responsive and interactive. On the control side, the dashboard can send JSON commands for motor drive, servo position, and emergency stop functions. That means the board is not limited to local buttons and a small screen, it can also act like a wireless robotics control node that is easy to test from a phone or laptop.

    BLE support was another area I wanted to build in early. The firmware advertises a custom BLE GATT service that exposes sensor data and accepts motor and servo control writes. That opens the door for mobile apps, sensor streaming, and remote control through BLE tools like nRF Connect. Having both WiFi and BLE built into the same board gives the platform a lot of flexibility, especially for future robotics projects where different communication methods may make sense in different situations.

    One of the most fun parts of this project is that I did not stop at just utility features. I also added a more polished on device experience with multiple demos and even simple games running on the TFT. The firmware includes menu driven screens for live system information, sensor displays, tilt visualization, ultrasonic radar, servo control, and robot mode selection. On top of that, there are games like Snake, Pong, and Asteroids, all rendered through an off screen framebuffer for smooth updates. Those features are obviously not the core purpose of a robotics controller, but they turned out to be a great way to test the display, inputs, UI state machine, timing, and overall firmware structure while making the board much more interesting to interact with.

    From a development standpoint, I built the project around PlatformIO, which makes library management and builds much easier to handle. The firmware pulls in libraries like ESP32Servo, TFT_eSPI, AsyncTCP, ESPAsyncWebServer, and NimBLE Arduino. Using a structured toolchain like this makes the project more portable and easier to maintain than an ad hoc sketch with manual dependency management.

    What I like most about this phase of the project is that it shows the board is more than just a PCB layout exercise. The hardware and software were designed to work together as a reusable robotics platform. The board can drive motors, read sensors, host a display UI, create its own wireless dashboard, expose BLE services, and support future expansion through broken out GPIO. That combination is what really makes it feel like a complete system rather than just another microcontroller board. The hardware post was about building the foundation. This firmware phase is about giving that foundation behavior.

    There is still plenty I want to improve. I want to keep refining the robot modes, continue testing the wireless control features, and push the platform further as both a practical robotics controller and a polished demonstration board. Even so, getting this firmware architecture working has already been a huge step forward. It taught me a lot about structuring embedded software, building usable interfaces on constrained hardware, and designing systems that are easier to grow over time.

    This project started as a custom board to clean up wiring and consolidate hardware. Now it is becoming a full robotics platform, with hardware, firmware, wireless control, and a user interface all designed to work together.

  • First Custom PCB Project

    ESP32-S3 Robotics Controller Hub

    One of the biggest milestones in my recent work has been designing my first fully custom PCB: a 4-layer, ESP32-S3 based robotics controller hub. This board was built to consolidate the many separate modules, wiring harnesses, and prototype systems I had been using into a single, clean, and scalable platform for robotics development.

    Design Overview

    At the core of the system is the ESP32-S3, chosen for its processing capability, flexible GPIO matrix, integrated WiFi and Bluetooth, and strong support for real-time control tasks. Around it, I designed a complete control and sensing ecosystem intended for mobile robotics applications.

    The board integrates:

    • Dual DRV8871 motor drivers for bidirectional DC motor control
    • Support for two servo outputs with PWM control
    • Four ultrasonic sensor interfaces for environmental awareness
    • Two hall effect sensor inputs for feedback such as wheel speed or position tracking
    • A SPI-connected display for onboard telemetry, debugging, and UI
    • Onboard linear regulation and power distribution
    • Expansion headers for unused GPIO to support future features

    The goal was not just to “make it work,” but to build something robust, reusable, and electrically sound.


    Moving from Wiring to PCB Design

    Prior to this board, most of my systems were built using breadboards or modular components. While flexible, those setups quickly became unreliable and difficult to maintain, especially when dealing with motors and multiple sensors. This project was my transition into designing a dedicated hardware platform.

    The schematic design phase was relatively straightforward. The real learning curve came during PCB layout.


    4-Layer Stackup and Grounding Strategy

    This board uses a 4-layer stackup, which allowed for a much more controlled and professional layout compared to a 2-layer design. The layers were organized as:

    • Top Layer: signal routing and high-current paths
    • Inner Layer 1: solid ground plane
    • Inner Layer 2: power distribution (VM and regulated rails)
    • Bottom Layer: additional signal routing and localized pours

    A continuous ground plane was one of the most important design decisions. Instead of routing ground as traces, I used large copper pours and stitching vias to create a low-impedance return path across the entire board. This significantly improves noise performance and reduces the likelihood of instability, especially with switching motor loads.

    PCB Front View

    High-Current Design Considerations

    Driving motors introduces large and rapidly changing currents, which can easily create voltage drops, EMI, and system instability if not handled properly.

    To address this:

    • High-current paths were routed using wide copper traces and local pours
    • Motor driver ground connections were reinforced with multiple stitching vias into the ground plane
    • VM (motor supply voltage) was kept as a controlled, localized copper region rather than a full-plane pour
    • Return paths were kept as short and direct as possible to minimize loop area

    One key concept I learned was that current does not just follow the forward path, it follows a loop. Designing tight, low-impedance loops between VM and GND was critical for stable operation.


    Decoupling and Noise Reduction

    Decoupling capacitors were placed strategically throughout the board, particularly:

    • Close to the ESP32-S3 power pins
    • Adjacent to each motor driver
    • Between VM and ground near high-current switching areas

    Both bulk capacitors and small ceramic capacitors were used to handle different frequency ranges of noise. Placement was just as important as value. Keeping these components physically close to the devices they support dramatically improves effectiveness.


    Signal Integrity and Peripheral Integration

    With a mix of analog-like signals (ultrasonic sensors), digital inputs (hall sensors, buttons), PWM outputs (servos), and high-speed communication (SPI display, I2C IMU), careful routing was required.

    Key considerations included:

    • Keeping noisy motor and power traces away from sensitive sensor lines
    • Using short, direct routes for SPI signals to the display
    • Maintaining clean pull-up configurations for I2C communication
    • Ensuring proper voltage compatibility, particularly for ultrasonic sensor echo lines

    Expandability and Practical Design

    A portion of the design was dedicated to future-proofing. Unused GPIO pins were broken out into a dedicated header along with power and ground, allowing additional modules or features to be added without redesigning the board.

    This was a deliberate choice to make the board not just a one-off project, but a reusable platform.


    What I Learned

    This project reinforced that PCB design is not just about making electrical connections, it is about managing current flow, noise, and physical layout in a way that supports reliable operation.

    Some of the biggest takeaways:

    • Grounding strategy is critical and should be planned early
    • High-current paths must be treated differently than signal traces
    • Component placement often matters more than routing
    • Decoupling and return paths directly affect system stability
    • Planning for expansion saves time in future iterations

    Looking Forward

    This board represents a major step forward in both my electronics design and system integration skills. It replaces a complex, error-prone wiring setup with a compact, reliable controller that can serve as the foundation for future robotics projects.

    The next phase will involve assembling, testing, and iterating on the design. I expect there will be improvements to make, but that is part of the process.

    Designing this board has been one of the most rewarding technical challenges I’ve taken on so far, and it sets the stage for more advanced and refined hardware in the future!

    How to Use the Robotics Controller

    This controller is designed to act as a central hub for motor control, sensing, and user interaction. The system is built around the ESP32-S3 and uses a mix of PWM, digital I/O, I2C, and SPI peripherals.

    GPIO Pin Reference

    GPIO | Function
    1 | Hall Sensor 1
    2 | Hall Sensor 2
    4 | Motor 1 PWM A
    5 | Motor 1 PWM B
    6 | Motor 2 PWM A
    7 | Motor 2 PWM B
    8 | Servo 1
    9 | Servo 2
    10 | Ultrasonic 1 TRIG
    11 | Ultrasonic 1 ECHO
    12 | Ultrasonic 2 TRIG
    13 | Ultrasonic 2 ECHO
    14 | Ultrasonic 3 TRIG
    15 | Ultrasonic 3 ECHO
    16 | Ultrasonic 4 TRIG
    17 | Ultrasonic 4 ECHO
    18 | I2C SDA (IMU)
    21 | I2C SCL (IMU)
    33 | SPI MOSI (Display SDA)
    34 | SPI SCLK (Display SCL)
    35 | SPI CS
    36 | SPI DC
    39 | SPI RES
    41 | Button 1
    42 | Button 2
    47 | Button 3

    Additional GPIO (37, 38, 40, 43, 44, 48) are exposed via header for expansion.

    Motor Control (DRV8871)

    Motor 1: GPIO 4 (PWM A), GPIO 5 (PWM B)
    Motor 2: GPIO 6 (PWM A), GPIO 7 (PWM B)

    Control:

    • PWM A high, PWM B low → forward
    • PWM A low, PWM B high → reverse
    • Both low → coast
    • Both high → brake

    Servo Outputs

    Servo 1 → GPIO 8
    Servo 2 → GPIO 9

    Standard 50 Hz PWM:

    • ~1.0 ms pulse → 0°
    • ~1.5 ms → center
    • ~2.0 ms → 180°

    Ultrasonic Sensors

    TRIG pins: GPIO 10, 12, 14, 16
    ECHO pins: GPIO 11, 13, 15, 17

    Operation:

    1. Send 10 µs pulse on TRIG
    2. Measure pulse width on ECHO
    3. Convert to distance

    Hall Effect Sensors

    Hall 1 → GPIO 1
    Hall 2 → GPIO 2

    Used for:

    • Speed measurement
    • Rotation counting
    • Position feedback

    IMU (I2C)

    SDA → GPIO 18
    SCL → GPIO 21

    SPI Display

    MOSI (SDA) → GPIO 33
    SCLK (SCL) → GPIO 34
    CS → GPIO 35
    DC → GPIO 36
    RES → GPIO 39

    Push Buttons

    Button 1 → GPIO 41
    Button 2 → GPIO 42
    Button 3 → GPIO 47

    Use:
    pinMode(pin, INPUT_PULLUP);

    Expansion Header

    Available GPIO:
    37, 38, 40, 43, 44, 48

    Firmware Template

    https://github.com/averyizatt/ESP32BasedRobiticsPCB

  • Project Update: Building, Leading, and Getting Things Running

    The past few months have been a mix of technical work, leadership, and finally getting some long-term projects across the finish line. A lot of what I’ve been doing has shifted from just building individual components to managing systems, teams, and real-world constraints.

    IEEE Club & COSGC Rover

    Alongside technical work, I’ve been managing the IEEE club, organizing meetings, planning workshops, and coordinating trips and outreach events. Balancing that with engineering work has been a challenge, but it’s also been a great way to build experience beyond just the technical side.

    At the same time, I’ve continued working on the COSGC rover project. After simplifying the drivetrain to a skid-steer design, I’ve been focusing on making the system more reliable and practical. A big part of that has been designing a self-righting mechanism, which turned into a deeper dive into torque, leverage, and mechanical advantage than I initially expected.

    What started as a simple idea quickly became an exercise in real engineering tradeoffs. Longer arms gave more reach but not enough force, while shorter arms had the opposite problem. That pushed me toward rethinking the geometry and exploring better ways to apply force rather than just increasing power.

    Electronics, Power, and Control

    On the electronics side, I’ve been refining control systems using Arduino-based setups and working through proper power distribution. Running a 24V system with buck converters for logic and peripherals has been a big part of this, along with learning how important things like decoupling and bulk capacitance are when motors and servos are involved.

    I’ve also been experimenting with using current sensing to estimate load on actuators. It’s a simple concept, but it adds a layer of awareness to the system that opens up better control and protection strategies.

    Sensors & Real-World Testing

    Another focus has been testing sensors in less-than-ideal environments. Comparing ultrasonic and optical distance sensing highlighted how much conditions like sunlight and uneven terrain can affect performance.

    It’s been a good reminder that designs need to work outside of controlled environments, especially for a rover that’s expected to operate on varied surfaces.

    Mustang Project

    Outside of robotics, I’ve been putting in a lot of work on my 1989 Mustang. After a long process of rebuilding and tuning, the car is now fully running and driving under a self-tuned ECU setup.

    Getting it to this point involved dialing in fuel, ignition, and overall system behavior, and it’s been one of the most rewarding parts of the past few months to see it finally come together and operate the way it should.

    What I’ve Been Learning

    Across all of these projects, the biggest takeaway has been that good engineering isn’t about forcing things to work, it’s about designing them so they work naturally.

    Whether it’s managing torque through better geometry stabilizing electronics with proper power design or balancing technical work with leadership responsibilities, the focus has been on building systems that are reliable, not just functional.