EdgeMind FPGA neural network inference project

EdgeMind

I was really interested in hearing about ML accelerators being built on different kinds on hardware called FPGAs. So, I decided self-teach myself about digital design by building a small NN inference accelerator in VHDL. I was fortunate to be selected in Blackbird's Protostars program to help fund a PYNQ-Z2 board.

  • VHDL
  • FPGA
  • Python
  • PYNQ-Z2
VIEW ON GITHUB ↗

Skyguard

Skyguard was a really interesting project designed as a local airspace awareness system designed for drone flyers operating in outdoor areas. It detects aircraft's ADS-B signals using an RTL-SDR reciever connected to a Raspberry Pi. The Raspberry Pi then talks using MQTT to an embedded network that computes appraching aircraft's risk to the airspace and publishes its findings to wireless actuator nodes and a dashboard.

  • C
  • Embedded Systems
  • ADS-B
VIEW ON GITHUB ↗

Localisation with Data Fusion

A challenging project that was very satisfying to demo! Implemented BLE-based indoor localisation using iBeacon data fusion. Essentially, there was a lab with many different airtags (iBeacons) that were transmitting packets. The Mobile Node (placed on a person) would report RSSI measurements whilst walking around the lab to the Base Node. The Base Node uses a Kalman Filter to estimate the localisation of the Mobile Node to a wireless display and a dashboard.

  • Zephyr RTOS
  • BLE
  • nRF52840
  • ESP32
VIEW ON GITHUB ↗
PoseArray in RViz of welding path

Welding Robot Path Planner

Built as part of my internship at Hand Plus Robotics in Malaysia. Learnt how challenging it can be to integrate hardware (cameras) systems together, ROS2, and the cool cameras RealSense makes. Built a vision system for an autonomous welding robot.

  • ROS2
  • OpenCV
  • RealSense2 Camera
  • Python
VIEW ON GITHUB ↗
Remote Controlled Microscope

Remote Controlled Microscope

Developed an embedded FreeRTOS-based control system for a remote-controlled microscope on the STM32F429ZI platform. Produced modular driver libraries to manage physical and digital command inputs, radio transmission to the microscope using the NRF24L01+ module, and display outputs to RGB LEDs and a seven-segment display.

  • STM32
  • FreeRTOS
  • C
  • ARM Cortex-M4