I'm Andrew.

I am Andrew Pagán, an experienced embedded-software developer with a passion for writing highly optimized code for memory-constrained systems. I am deeply fascinated by the challenges of developing software for resource-limited devices, and I find great satisfaction in crafting efficient, elegant solutions that make the most of the available hardware. My background in software engineering is extensive, with years of experience designing and implementing complex embedded systems across a variety of industries. From the ESP32 to the RFSoC, I have worked with a wide range of hardware platforms, programming languages, and development tools. Above all, I am committed to the craft of software engineering and take great pride in delivering robust, reliable code that meets the highest standards of quality and performance. Whether it's debugging a complex system, optimizing code for maximum efficiency, or designing new features from scratch, I approach every project with enthusiasm, rigor, and a deep sense of satisfaction in creating elegant, functional solutions. I am currently employed at BlueHalo where I develop software for embedded systems. Below are listed some of my skills. If you would like my full resume please visit the contact page and send me a message!


  • Proficiency in programming languages such as C/C++, Python, and x86_64 assembly
  • Experience with hardware platforms such as STM32, ESP32, JetsonTX2, RFSoC, and Ettus software-defined radios
  • Expertise in developing firmware for wireless-communication protocols such as Wi-Fi, Bluetooth, Zigbee
  • Ability to develop low-level device drivers and interface with peripheral devices such as sensors, ADCs, and DACs
  • Familiarity with embedded-development tools such as JTAG debuggers, oscilloscopes, and logic analyzers
  • Strong problem-solving skills and ability to debug complex issues in software and hardware
  • Knowledge of version control systems such as Git and SVN
  • Ability to write clean, efficient, and optimized code for embedded systems