Hello there! 👋 I'm Andreas Menzel, a freshly minted Software Developer from the Technical University of Munich.
From my early days of coding, my passion for problem-solving led me towards a journey of mastering Python. Captivated by its graceful simplicity and extraordinary power, Python, for me, is akin to a compass in a labyrinth - consistently guiding me through the complex twists and turns of coding challenges with an assured ease.
Beyond crafting code, I take pride in maintaining a structured approach to my work. I diligently write comprehensive code comments and extensive README files. This isn't just a professional courtesy for me, it's a commitment to fostering a more collaborative and understanding coding community. After all, good code isn't just about what it does, but also how it communicates its function to other developers.
Outside of the coding world, I've become quite the enthusiast for FPV drone flying. There's something about the heady mix of high-speed aerial acrobatics and that heart-stopping moment when gravity reasserts itself - humorously often in my case - that I find truly exhilarating. It's quite the contrast to the structured order of coding, but perhaps that's why I find it so appealing!
My Top Skills
My ❤️ Projects
Autonomous Drone Delivery System
During my studies at the Technical University of Munich, I conceptualized, designed, and implemented a Proof-of-Concept for an Autonomous Drone Delivery System (ADDS). This project served as the cornerstone of my bachelor's thesis and is intended to inspire future research and development in the field. Despite a tight timeframe of just four months, I successfully delivered the fully functional prototype.
Goal: Automatically coordinate and control multiple drones simultaneously to safely and autonomously transport (small) cargo containers.
The core of the ADDS consists of four key components, three of which are public and open source:
- ADDS-FlightControl: Central server and brain of the ADDS. Plans the flight routes for each drone while making sure that drones cannot collide. Interfaces with the blockchain and manages the blackbox.
- ADDS-DJI-AndroidApp: Bridge between Flight Control and the DJI-drone. Sends commands to and requests flight data (location, altitude, etc.) from the drone.
- ADDS-ControlPanel: Web-Application to monitor the entire drone fleet. Has multiple "applets", e.g. an interactive Open Street Maps-map, bar charts to monitor the state of charge of every drone, and more.
The code for the fourth component, ADDS-CChainLink, is private due to the usage of a blockchain technology developed by my professor, that is not (yet) open to the public. This component stores all relevant flight data in a blockchain, so that it cannot be manipulated or deleted.
Technologies UsedFlight Control was developed using Python 3, with a custom API deployed via Flask and NetworkX for flight path calculations. I chose SQLite as a simple and easily copyable database system. The accompanying DJI-Android App was coded in Java. The Control Panel, a standalone Web-Application, was built with pure HTML, CSS, and Javascript. Lastly, C-Chain Link was implemented using Go with another custom API.
Working on this project was incredibly rewarding. It provided me with the opportunity to explore a wide array of programming languages and technologies. Seeing the drones operate in the real world, directly as a result of my code, brought a tangible, satisfying aspect to the work that was uniquely enjoyable.
Internet Speed Logger && Internet Speed Visualizer
This project consits of two separate scrips: The Logger and the Visualizer.
While the Logger tests the download and upload speed of your internet connection in fixed intervals and saves the results in a .csv-file, the Visualizer generates a simple and clear line chart from that log-file to better visualize the internet speed over time and check whether your ISP provides what was promised.
Technologies UsedBoth scripts are written in Python 3. The Logger takes advantage of the speedtest-cli-module to measure the internet speed, while the Visualizer relies on matplotlib to generate the image. They both use argparse to handle inputs, and for a straightforward installation process, they are readily available on PyPI.org.
Centimenti
Centimenti is a fun, but rather dumb Mentimeter quiz-bot. It uses brute-force to fight its way to the top of the leaderboard. It was mainly created to learn how to use Selenium, and, of course, have fun!
Technologies UsedCoded in Python 3, centimenti takes arguments via argparse and uses the Selenium-module to manually log into the Mentimeter quiz and answer the questions.