Welcome to my GitHub repository! Here you'll find a collection of my projects, showcasing my skills and expertise in software development, embedded systems, and robotics.
Please note that due to privacy and confidentiality reasons, many of my projects are kept private. Below is a high-level summary of the types of projects I have worked on to give you an idea of my experience and expertise.
I am an ambitious software engineer with over 5 years of experience in software development and research, including 3+ years in the industry. My expertise includes C++ programming, embedded system development, machine control, and event-driven state machine architectures. I have a strong research background in computer vision and 3D reconstruction for medical applications.
- Role: Software Developer
- Contributions: Conducted research on structured light 3D reconstruction for polyp size measurement.
- Technologies: C++, QT, OpenCV, PCL, 3D structured light, 3D point cloud registration, smoothing
- Role: Embedded Software Engineer
- Contributions: Developed embedded software to control an electric motor inspector robot, incorporating a feedback system using TOF sensors and IMU. Designed firmware with API.
- Technologies: Embedded C++, IMU, ATmega MCU, UART
- Role: Embedded Software Developer
- Contributions: Developed authentication electronics and firmware for anti-counterfeiting in medical robots.
- Technologies: Embedded C, STM32 MCU, PCB design, STM32CubeMX
- Role: Embedded Hardware and Software Developer
- Contributions: Developed the firmware and hardware design of a joystick controller board for an endoscopic robot. Designed API for QT framework integration.
- Technologies: Embedded C, ADC, QT, STM32 MCU, PCB design, UART, STM32CubeMX
- Role: Embedded Software Developer
- Contributions: Developed the firmware for a quadruped robot, incorporating RTOS, servo control, and Bluetooth control.
- Technologies: Embedded C, RTOS, MbedOS, IMU, I2C, STM32 MCU, UART
- Role: Embedded Software Developer
- Contributions: Developed an odometry system for the robot chassis to enhance navigation and localization. Incorporated sensor data from rotary encoders to determine the position of the robot.
- Technologies: Embedded C++, Mbed OS, Quadrature Encoder Mode, STM32 MCU
- Programming Languages: C++, Python, Embedded C, JavaScript, Java, C#, PHP
- Technologies: OpenCV, QT, MCU Programming, PCL, AI/ML, MySQL, MongoDB, PCB Design, Solidworks
- Languages: Cantonese (Native), English (Fluent, IELTS certified with 7), Chinese (Fluent)
-
Master of Philosophy in Mechanical and Automation Engineering
- The Chinese University of Hong Kong, Hong Kong
- Thesis: Dual-channel Bi-directional Structured Light 3D Imaging System
- Focus on point cloud processing software for polyp's size measurement using endoscopic optical systems.
-
Bachelor of Engineering (Hons) in Electronic and Information Engineering
- The Hong Kong Polytechnic University, Hong Kong
- Coursework in embedded systems design, circuits systems design, power electronics, data, and computer communication.
Feel free to reach out to me if you have any questions or if you're interested in collaborating on a project.
- Email: [email protected]
- LinkedIn: linkedin.com/in/donald-ip-b39271187