CVCreativeContact

Embedded Systems EngineerProject Portfolio

AlejandroAstudillo

01Research · Harvard

Robotic Exoskeletons @ Harvard

  • Experimentally validated and replaced exoskeleton IMUs, saving the project 1000s of dollars.
  • Developed and implemented alignment algorithms for robust sensing in real-world conditions.
  • Integrated new sensors into the exoskeleton platform at hardware + firmware level.
  • Researched novel sensor fusion and gait segmentation algorithms to remove complexity and physical sensors.

Biggest challenges

Real-world sensor data is noisy and difficult to predict, so I had to design sensing algorithms that could cope with that.

I had to redesign and integrate legacy firmware nobody understood, doing hardware debugging along the way.

  • Embedded C
  • Matlab and Simulink
  • Fusion360
  • Embedded Linux
  • ROS2
  • CAN
  • SPI
  • UART
  • I2C
  • Python
The exoskeleton
Anatomical axes estimation and alignment
Testbench setup for IMU evaluation
Sensor hardware integration
The exoskeleton
imu_pitch.scope

IMU1IMU2sagittal pitch · illustrative simulation

02Industry · Firmware

Embedded Systems for Solar Power

  • Led development of a line of communication gateways for industrial settings (Modbus). Designed and implemented firmware and drivers. The company is still selling these products.
  • Developed and maintained embedded firmware for advanced inverter and relay controllers.
  • Designed a custom interpreted programming language for PLC orchestration.

Biggest challenge

Bare-metal programming for devices with severely limited memory meant I had to use techniques like C++ template and macro metaprogramming to offload as much processing to flash memory at compile time.

  • Modern C++
  • Make
  • CMake
  • FreeRTOS
  • ATMega
  • STM32
  • ESP32
  • Modbus
  • CAN
  • TCP/IP
  • Python
PRISMA solar inverter controller
PRISMA solar inverter controller

03Product · 0 → 1

Automatic Beer Machine

  • Developed all electronics and software for a self-serve beer kiosk.
  • Integrated all systems including: payment terminal, custom beer tap controller, cup dispenser, LED strips, touchscreen, interface.
  • Built the machine in my garage. Sold the prototype to an events company and the V2.0s are currently being developed and will be installed in concert venues in Spain this year.

Biggest challenge

Making a working prototype is easy, but getting from there to a viable product is 100x harder. I had to cover dozens of edge cases and build in extensive fault-tolerance.

  • Modern C++ (Controller)
  • Svelte (Interface)
  • .NET C# (Payment integration)
  • RP2040
2x speed
The self-serve beer kiosk
Real demo: order, pay, pour

04Bachelor's thesis

Wireless Gamified Rehabilitation Device

  • My bachelor's thesis project.
  • Heavily modified a cheap handheld dynamometer to add bluetooth capabilities.
  • Developed an Android app with games and patient monitoring.
  • The project was evaluated and validated by medical and rehabilitation professionals.

Biggest challenge

In order to control a game using real-time bluetooth input, I had to develop my own rudimentary game engine in Kotlin, with sprite painting, frame control, game events…

  • Modern C++
  • BLE
  • Kotlin (Android)
Handheld rehabilitation device
Handheld rehabilitation device
gato_en_globo · JS port of the thesis gamebest 0

Press and hold the dynamometer (or the game) to squeeze. The harder the squeeze, the higher the cat. Dodge the paws.

05European Rocketry Challenge

RF video streaming for URSA rocket

  • Developed the video streaming system for the URSA rocket for the European Rocketry Challenge.
  • Tested with long range and a variety of RF modules.
  • Developed custom video encoding and transmission pipelines between Raspberry Pis.

Biggest challenge

Transmitting real-time video over 3km+ from a rapidly moving target proved to be quite difficult. While streaming worked during ground tests, we lost the feed during the competition due to a power failure.

  • Embedded C
  • Embedded Linux
  • ffmpeg
URSA rocket
Transmission modules
URSA rocket

06TinyML · On-device

Acoustic Event Detection with Embedded ML

  • Bedside digital clock using on-device convolutional networks to detect real cat meows.
  • Integrated microphone, screen, and interface in a small package.
  • Trained a TensorFlow Lite model and applied TinyML concepts for efficient inference.

Biggest challenge

Neural net performance can vary when quantizing and embedding on small microprocessors, so I had to finetune it with specific data acquired with the device microphone.

  • C++
  • RP2040
  • CNNs
  • TensorFlow Lite
  • I2C
The “Meowcrophone” digital clock
The “Meowcrophone” digital clock
=^..^= listening…meow 10
Plays a synthesised meow. The real one runs a quantized CNN on-device.

07Side quests

And many more…

08Datasheet · rev A

Who am I?

Age
25 years old
BSc
Computer Science
MSc
Embedded and Distributed Systems
Experience
Research and industry
Passion
Software that interacts with the real world
Teams
Worked successfully with international teams (Japan, US, Spain)
Traits
Great communication skills. Adaptable, autonomous.

My hobbies outside building things:

  • 📚reading
  • 📷photography
  • 🎤singing
  • 🐈‍⬛cats!

See my creative work →

Alejandro Astudillo soldering at an electronics workbench
fig. 1 · at the bench

End of transmission

Let's build something real.

al@astudillo.com

© Alejandro Astudillo

2x speed · original on YouTube ↗