Energy Consumption of LoRa

This project was done as part of the Master’s curriculum at Technische Universität Chemnitz, and the goal of this project was to analyze the energy efficiency of LoRa (Long Range) communication by characterizing power consumption across varying Spreading Factors (SF) and packet sizes.

Technical Implementation

  • Hardware Interfacing: Developed an Arduino-based firmware to transmit variable-sized data packets via a LoRa transceiver.
  • Precision Measurement: Utilized an Agilent E5270B Precision Measurement Mainframe and a high-resolution Oscilloscope to capture the transient current profiles during transmission, reception, and sleep modes.
  • Data Characterization: Analyzed the correlation between Spreading Factor (SF) and “Time-on-Air,” identifying how higher SF values increase range but significantly impact the energy budget.

Analysis & Visualization

  • MATLAB Processing: Developed custom MATLAB scripts to process raw measurement data and plot current-over-time curves.
  • Comparative Study: Created a comparative matrix to visualize energy consumption per byte for different LoRa configurations, enabling the selection of optimal parameters for battery-operated IoT nodes.

CPU Architecture & Instruction Level Optimization

The objective of this project was to investigate processor efficiency by optimizing the instruction pipeline and resolving hardware bottlenecksThe project was part of a course structure at Technische Universität Chemnitz

During the study, these are the tasks:

  • Pipeline Analysis: Identified and resolved structural, data, and control hazards within pipelined architectures.
  • Dynamic Scheduling: Implemented advanced hardware algorithms, including Scoreboarding and Tomasulo’s Algorithm, to manage out-of-order execution and eliminate data dependencies (Read After Write (RAW), Write After Read (WAR), and Write After Write (WAW)
  • Performance Tuning: Significantly improved code execution time by applying Loop Unrolling and branch prediction strategies.
  • Efficiency Analysis: Evaluated the trade-offs between high-performance execution and power consumption in modern processor designs

Stable Balancing of Inverted Pendulum

The goal was to design and implement a control system capable of stabilizing an inverted pendulum in an upright position with one degree of freedom (1-DOF). The project involved comparing different control strategies to achieve maximum stability against external disturbances.

Technical Implementation

  • Control System: Designed and implemented a PID Controller to manage non-linear system dynamics.
  • Hardware Integration: Programmed and calibrated an Arduino Due (ARM Cortex-M3) to handle high-frequency sensor inputs and motor outputs.
  • Validation: Evaluated system robustness by comparing hardware experimental results with MATLAB/Simulink simulations.
  • Mechanical Design: Engineered the physical arrangement to restrict motion and ensure precise feedback loop integrity

Key Engineering Skills Demonstrated

  • System Modeling: Translating physical mechanical constraints into software logic
  • Real-Time Control: Developing high-frequency feedback loops on embedded hardware.
  • Sensor Fusion: Interfacing encoders and accelerometers to determine precise angular position.