Bhavesh Kakwani
Verified Expert in Engineering
Embedded Software Developer
Toronto, ON, Canada
Toptal member since May 5, 2020
Bhavesh is an award-winning developer with a strong foundation in math and electronics. His professional experience includes end-to-end embedded software development and hardware design. His code runs on SpaceRyde's gondola and rocket, McMaster University's launched satellite, Quanta Vici's Bluetooth gloves, and Ecobee's IoT lightswitch. These projects are on embedded Linux and microcontrollers (both bare metal and RTOS) and are written in C, C++, and Python.
Portfolio
Experience
Availability
Preferred Environment
C, C++, Embedded C, Embedded Software, Firmware, Bluetooth, Python, Docker, Pandas
The most amazing...
...thing I've done is crowdfund and lead a team of five to design, test, launch, and recover a stratospheric balloon with a camera and thermostat onboard!
Work Experience
CTO
Fractalytic
- Built, tested, and deployed the MVP hardware, firmware, and enclosure for a camera-based, battery-powered, LTE-connected smart meter reader in just one month. Used ESP32, MicroPython, and Fusion 360.
- Built and deployed V2 magnetoresistive smart meter readers to our existing customers to give them a 15x improvement in time granularity and a 500x improvement in measurement precision compared to the V1 camera-based hardware.
- Developed a Python and Flask MVP back end for ingesting the smart meter's images.
- Acquired two paying customers for our smart meter reader and built two ruggedized and weather-proof versions of our device to deploy on-site at their buildings.
- Developed a V2 back end in Python and Django to increase development speed and leverage the Django ecosystem (e.g., ORM, user authentication, cron jobs, and Django-ninja API).
- Visualized our deployed IoT devices' metrics on our internal dashboard using Grafana.
- Built the MVP of our building energy data analytics solution using Python, Pandas, Streamlit, Plotly, and Firebase.
- Launched the MVP of our building energy data analytics SaaS to 40 beta users. Conducted user interviews with them to gain feedback and improved the software with major feature launches every week.
- Built a landing page and email intake form to launch our smart meter reader and analytics software to the broader market.
- Interviewed, hired, and managed a design consultant to develop our outreach materials, including a one-page explainer, investor pitch deck, and brand color scheme.
Edge AI Pipeline Optimization Consultant
CleanConnectAI
- Moved CPU-intensive image transformation functions to run on the GPU instead and further optimized the video pipeline using multi-threading, thus improving the runtime speed of the video inference engine by 2x.
- Identified the cause of a critical memory leak that caused the video inference engine to crash every two hours on a target with 64GB RAM. With my fix, the inference engine only needed 12GB RAM in total during the app's lifetime—a 5x reduction.
- Profiled the AI video pipeline using the Python profiling tools Memray (for RAM optimization) and Pyinstrument (for CPU optimization).
Embedded Software Developer
Schneider Electric
- Developed the communications logic between Schneider Electric's solar inverters and the smart grid protocol IEEE 2030.5, using embedded C.
- Wrote and tested the end-to-end system for correctness using Gherkin and the BDD methodology.
- Ran IEEE 2030.5 compliance tests (60 of them) on the whole system, in order to submit the test results for official certification.
- Recorded training videos to document the IEEE 2030.5 code modules and processes for my team members.
- Created a Jira page with architecture diagrams and documentation of the IEEE 2030.5 code modules.
Avionics Specialist
SpaceRyde
- Architected the distributed embedded systems for flight hardware and software and ground station hardware and software.
- Embedded development on Linux using C, C++, Python, ROS, and ROS2 on the Nvidia Jetson platform.
- Created reproducible execution environments using Docker.
- Architected and developed ground station GUI using C++, Qt, PostgreSQL, Grafana, and ROS2.
- Developed mission control interface using Python, Flask, Dash, and ROS2.
- Handled PCB schematic and layout design for in-house developed flight electronic modules.
- Developed remote camera visualization software using GStreamer, Icecast, and HTML5 video in-browser.
Embedded Software Consultant
Quanta Vici
- Refactored the (pre-existing) messy implementation of Bluetooth (BLE) logic for an IoT heated glove product resulting in greatly improved code reliability.
- Architected a state-based design to ensure the smooth integration of NFC, Bluetooth (BLE), and sleep and wake features.
- Wrote Python scripts to automate the firmware build process and device flashing process for manufacturing.
Embedded Developer
Ecobee
- Developed the architecture and code in C for a novel, power-constrained, smart light-dimmer product from scratch.
- Wrote controllers for ADC, DMA, Bluetooth, sub-GHz radio, flash memory, and I2C on Micrium RTOS.
- Designed the packet protocol to communicate with Ecobee's ecosystem of products over sub-GHz radio.
- Developed system tests and integration tests using Python.
- Designed, simulated, and implemented a PID controller for reliable dimming of any type of lighting load (inductive, resistive, or capacitive).
- Designed, implemented, and tested a "bulb intelligence" algorithm to identify lighting loads and apply a customized dimming strategy to each one at runtime.
PCB Design Consultant
Sinclair Interplanetary (acquired by Rocketlab)
- Designed four PCBs for electrical test automation of star trackers and reaction wheels using Altium Designer.
- Ordered PCBs and components hand-assembled for bring-up and tested their functionality.
- Worked on automation enabled by PCBs that resulted in a 4x speed improvement compared to their previous process of testing the satellite components manually.
Computer Engineer
Agfa Graphics
- Developed user space drivers in C to integrate external stacker and unstacker hardware with the printer platform.
- Collaborated with an external hardware vendor in the manufacturing facility to test and debug integration issues.
- Worked remotely with Agfa Graphics headquarters in Belgium to finalize requirements and implement the design, then traveled on-site every month to test and debug the designs on the hardware.
- Developed features and modules for the printer GUI application using the Qt framework and C++.
Experience
Near-space Balloon Launch Mission - "Apollo 19"
https://youtu.be/ObKkIOpdQ7Q• Marketed the project to the company.
• Got buy-in from senior management.
• Crowdfunded its development.
• Managed the team of three Ecobee volunteer engineers.
• Liaised with an ex-NASA space scientist for mission support.
• Procured all the materials.
• Simulated the flight path based on wind conditions and chose an ideal launch site and date.
• Led the launch and recovery team on the day of the mission.
Sign Language Translation Glove
https://youtu.be/7kXrZtdo39k?t=11PCB Design for a Bluetooth Gesture Glove
https://circuitmaker.com/Projects/Details/Bhavesh-Kakwani-3/GLOVER-Rev-0Education
Bachelor's Degree in Electrical and Biomedical Engineering
McMaster University - Ontario, Canada
Skills
Libraries/APIs
OpenCV, Pandas, Django ORM
Tools
Slack, Jira, Confluence, Notion, Trello, MQTT, MATLAB, Altium Designer (PCAD), Jetson TX2, PCB Layout, Grafana, Plotly, Jupyter, Autodesk Fusion 360, CAD, Figma
Languages
C, Python, Embedded C, Python 3, C++, Embedded C++, Verilog, Simulink, Gherkin, MicroPython
Paradigms
Object-oriented Programming (OOP), Radio Frequency (RF) Protocol, Behavior-driven Development (BDD)
Frameworks
Qt, Flask, Django, Streamlit
Platforms
Windows, Linux, Docker, Raspberry Pi, Jupyter Notebook, NVIDIA CUDA, Particle, Arduino, Firebase
Storage
PostgreSQL
Industry Expertise
Project Management
Other
Micrium RTOS, Embedded Systems, Embedded Software, Firmware, Internet of Things (IoT), MCU, Embedded Development, Microcontrollers, Bluetooth, Modbus Protocol, Multithreading, Real-time Operating System (RTOS), Robot Operating System (ROS), ROS2, CAN Bus, Network Protocols, PIC32, Teams, Near-field Communication (NFC), PCB, PCB Design, PID Controllers, FPGA, Electrical Engineering, Wiring, Battery Management Systems, Motor Control, Dash, Crowdfunding, Aerospace & Defense, Budgeting, Electronics, Machine Learning, Support Vector Machines (SVM), Circuit Design, Nordic nRF52, I2C, IEEE, Optimization, Memory Leaks, Profiling, Performance, Long-term Evolution (LTE), Client Interviews, User Interviews, PlatformIO, 3D Printing, Smart Meters, ESP32, LTE (Telecommunication)
How to Work with Toptal
Toptal matches you directly with global industry experts from our network in hours—not weeks or months.
Share your needs
Choose your talent
Start your risk-free talent trial
Top talent is in high demand.
Start hiring