Muhammad Bilal K.
Systems Engineer: Desktop(C++,ROS), Firmware, Hardware(ASIC/FPGA) &Web
An ๐๐น๐ฒ๐ฐ๐๐ฟ๐ผ๐ป๐ถ๐ฐ๐ ๐๐ป๐ด๐ถ๐ป๐ฒ๐ฒ๐ฟ (๐ฎ๐ฌ๐ญ๐ญ), I develop ๐ต๐ถ๐ด๐ต-๐ฝ๐ฒ๐ฟ๐ณ๐ผ๐ฟ๐บ๐ฎ๐ป๐ฐ๐ฒ ๐บ๐๐น๐๐ถ-๐๐ต๐ฟ๐ฒ๐ฎ๐ฑ๐ฒ๐ฑ ๐ต๐ฎ๐ฟ๐ฑ๐๐ฎ๐ฟ๐ฒ-๐ถ๐ป๐๐ฒ๐ด๐ฟ๐ฎ๐๐ฒ๐ฑ ๐๐ผ๐ณ๐๐๐ฎ๐ฟ๐ฒ ๐๐ผ๐น๐๐๐ถ๐ผ๐ป๐ (๐, ๐++, ๐ฉ๐ฒ๐ฟ๐ถ๐น๐ผ๐ด) for ๐ช๐ถ๐ป๐ฑ๐ผ๐๐ and ๐๐ถ๐ป๐๐ across the ๐๐ฒ๐๐ธ๐๐ผ๐ฝ, ๐๐ถ๐ฟ๐บ๐๐ฎ๐ฟ๐ฒ, ๐๐ฎ๐ฟ๐ฑ๐๐ฎ๐ฟ๐ฒ and ๐ช๐ฒ๐ฏ domains. I also design 0.6u to 0.18u CMOS Integrated Circuits. I contributed to ๐๐ ๐ช ๐๐๐๐๐ , ๐ ๐ฎ๐ด๐ป๐ฎ ๐ ๐๐๐ฑ and vehicle bus encoding/ decoding pipeline projects for ๐๐จ๐๐ and ๐๐๐ฅ๐๐๐. I have worked with multiple ๐๐ฒ๐ป๐๐ผ๐ฟ ๐๐๐๐๐ฒ๐บ๐ (vision), ๐ฑ๐ฎ๐๐ฎ ๐ฏ๐๐๐ฒ๐ (UART, SPI/DSPI/QSPI, I2C, USB, Ethernet, TFT-LCD, LPDDR-2), ๐บ๐ถ๐ฐ๐ฟ๐ผ๐ฐ๐ผ๐ป๐๐ฟ๐ผ๐น๐น๐ฒ๐ฟ๐ (8051-based, RISC-V) and ๐ฝ๐ฟ๐ผ๐ด๐ฟ๐ฎ๐บ๐บ๐ถ๐ป๐ด ๐ฒ๐ป๐๐ถ๐ฟ๐ผ๐ป๐บ๐ฒ๐ป๐๐ (FreeRTOS, QEMU). I've also programmed ๐ฆ๐ฝ๐ฎ๐ฟ๐๐ฎ๐ป-๐ฒ ๐๐ฃ๐๐๐ in ๐ฉ๐ฒ๐ฟ๐ถ๐น๐ผ๐ด and designed ๐ฎ๐ป๐ฎ๐น๐ผ๐ด, ๐บ๐ถ๐ ๐ฒ๐ฑ-๐๐ถ๐ด๐ป๐ฎ๐น, ๐ฑ๐ถ๐ด๐ถ๐๐ฎ๐น and ๐ป๐ฒ๐ฎ๐ฟ-๐ฅ๐ ๐ฐ๐ถ๐ฟ๐ฐ๐๐ถ๐๐ (800 MHz) in ๐ฌ.๐ฒ๐-๐ฌ.๐ฎ๐ฑ๐ ๐๐ ๐ข๐ฆ technologies. ๐๐ฎ๐ฟ๐ฒ๐ฒ๐ฟ ๐๐๐บ๐บ๐ฎ๐ฟ๐ - ๐ฎ๐ฌ๐ฌ๐ฑ-๐ฎ๐ฌ๐ฌ๐ด: Web development (classic ASP, PHP, JS, Flash, SQL, HTML5, CSS3) - ๐ฎ๐ฌ๐ญ๐ญ-๐ฎ๐ฌ๐ญ๐ต: Mixed-signal Semiconductor IC design (0.6u - 0.25u CMOS) - ๐ฎ๐ฌ๐ฎ๐ฌ-๐ฝ๐ฟ๐ฒ๐๐ฒ๐ป๐: Multi-platform Desktop applications: C, C++ (multi-threaded), wxWidgets, Qt, ROS For desktop applications, I use the tech stack: C, C++, Qt5-6, wxWidgets, GTest/ GMock and CMake. On a previous full-time job, extended C++, ROS and ADTF based AUTOSAR (ARXML) software components for ADAS analysis in the automotive industry. (SOME/IP, TAPI DBC, CAN(FD)). Have hands-on experience with LiDAR point cloud data. Currently working on a Semiconductor EDA tool in C++ and wxWidgets as a personal project. My recent professional work includes open source browser customization in C++ (Firefox, Palemoon, CEF) and the development of custom windows credential providers. ๐๐ฒ๐๐ธ๐๐ผ๐ฝ: - C - C++ - C# - Python - wxWidgets - Qt(5, 6) - Win32 - ROS (1, 2) - Identity (and Access) Management (IAM/ IdM) - Single Sign On (SSO) - OAuth - OpenID Connect - JWT/ JWKS - Chromium Embedded Framework (CEF) - Firefox browser customization - Palemoon browser customization - Custom Windows Credential Provider development - Multi-threading - WinUSB-based USB driver - Raw data packets manipulation - Hardware communication -- Serial -- USB -- GSM Modem -- PLC via ABNet API -- Basler GigE LineScan camera using Pylon 5 SDK ๐ช๐ฒ๐ฏ: - ASP 3.0/ classic - PHP core/ pure (4, 5, 7, 8) - Javascript core/ pure/ vanilla - (X)HTML 4/5 (W3C Validated, Section 508/ VPAT) - CSS 2/3 - Macromedia Flash (4, 5, 8) Actionscript (1.0, 1.1, 2.0) - MS Access, My SQL, MS SQL Server (custom queries and stored procedures) - cURL - SMS gateways - cHTTP (PHP-based auto login/ navigator to a website) - mPDF, tcPDF ๐๐ฎ๐ฟ๐ฑ๐๐ฎ๐ฟ๐ฒ: - 0.25u CMOS (Analog design): -- Logic gates -- JK-type Phase Detector -- Charge Pump -- Delay Locked Loop (DLL) - Verilog: -- DDR-2 SDRAM controller -- SPI controller -- I2C controller -- Ethernet MAC -- USB 2.0 Full speed device controller -- Custom ISA 8-bit microprocessor core - QEMU (custom device emulation) ๐๐ถ๐ฟ๐บ๐๐ฎ๐ฟ๐ฒ: - FreeRTOS ๐๐ผ๐บ๐ฝ๐น๐ฒ๐๐ฒ๐ฑ ๐ฝ๐ฟ๐ผ๐ท๐ฒ๐ฐ๐๐ (๐บ๐ฎ๐ท๐ผ๐ฟ): - Authentik Windows Credential Provider (CEF) - High-frequency (~2400 fps) quad sensor data plotter (Win32 API, C) - Barton Chart scan processor and barcode reader for data extraction (C#, image processing) - Document upload and processing platform (medical) using PHP, javascript and LibreOffice - SMS-based Poll/ Quiz website (PHP, two-way SMS gateway) - Job portal (ASP classic/ 3.0)