Bhavesh Kakwani, Developer in Toronto, ON, Canada
Bhavesh is available for hire
Hire Bhavesh

Bhavesh Kakwani

Verified Expert  in Engineering

Embedded Software Developer

Location
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

Fractalytic
Python, Python 3, Flask, Django, Streamlit, Pandas, Jupyter, C++, MicroPython...
CleanConnectAI
Python, Optimization, NVIDIA CUDA, Memory Leaks, OpenCV, Profiling, Performance...
Schneider Electric
C, Embedded C, CAN Bus, IEEE, Gherkin, Behavior-driven Development (BDD)...

Experience

Availability

Part-time

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

2022 - 2023
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.
Technologies: Python, Python 3, Flask, Django, Streamlit, Pandas, Jupyter, C++, MicroPython, Particle, Internet of Things (IoT), Long-term Evolution (LTE), Client Interviews, User Interviews, Arduino, PlatformIO, 3D Printing, Autodesk Fusion 360, Smart Meters, ESP32, CAD, Grafana, Django ORM, Embedded Systems, Embedded Software, Firmware, Firebase, Plotly, Figma, MCU, Embedded Development, Microcontrollers, Network Protocols

Edge AI Pipeline Optimization Consultant

2022 - 2022
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).
Technologies: Python, Optimization, NVIDIA CUDA, Memory Leaks, OpenCV, Profiling, Performance, Internet of Things (IoT), Embedded Development

Embedded Software Developer

2021 - 2022
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.
Technologies: C, Embedded C, CAN Bus, IEEE, Gherkin, Behavior-driven Development (BDD), Internet of Things (IoT), Embedded Development, Network Protocols

Avionics Specialist

2020 - 2021
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.
Technologies: C, C++, Docker, Electrical Engineering, Embedded C, Embedded Software, Embedded Systems, Firmware, Python, Python 3, Robot Operating System (ROS), ROS2, Jetson TX2, Raspberry Pi, PCB Design, PCB Layout, Wiring, PostgreSQL, Grafana, Battery Management Systems, Motor Control, Dash, Plotly, Jupyter Notebook, Embedded C++, CAN Bus, MCU, Embedded Development, Microcontrollers

Embedded Software Consultant

2019 - 2020
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.
Technologies: Near-field Communication (NFC), Bluetooth, C, Embedded Systems, Embedded Software, Embedded C, Firmware, Nordic nRF52, MCU, Internet of Things (IoT), Embedded Development, Microcontrollers, Network Protocols

Embedded Developer

2018 - 2020
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.
Technologies: Python, Real-time Operating System (RTOS), C, Embedded Systems, Embedded Software, Embedded C, Firmware, Micrium RTOS, Bluetooth, Radio Frequency (RF) Protocol, I2C, Simulink, MCU, Internet of Things (IoT), Embedded Development, Microcontrollers, Network Protocols

PCB Design Consultant

2018 - 2018
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.
Technologies: PCB, Altium Designer (PCAD), Electrical Engineering, PCB Layout, PCB Design

Computer Engineer

2016 - 2017
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++.
Technologies: Modbus Protocol, MQTT, C, C++, Embedded Systems, Embedded Software, Embedded C, Firmware, Qt, Embedded Development, Network Protocols

Near-space Balloon Launch Mission - "Apollo 19"

https://youtu.be/ObKkIOpdQ7Q
I led a team of five to design, test, handle operations, launch, and recover a stratospheric balloon with an Ecobee thermostat as the payload. My role was central to fulfilling this amazing shared mission and included these activities:

• 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=11
I designed the hardware, wrote the firmware, and designed the GUI, 3D animation (OpenGL), and machine learning (SVM) software for a sign language translation glove for my final-year capstone project at McMaster University. We received the 1st place award for best project in the electrical and biomedical engineering department for our accomplishment.

PCB Design for a Bluetooth Gesture Glove

https://circuitmaker.com/Projects/Details/Bhavesh-Kakwani-3/GLOVER-Rev-0
I designed the PCB for a prototype glove that can capture the wearer's movements and gestures and transmit the data over Bluetooth. The project was built upon the proof of concept foundation of my university capstone project (Sign Language Translation Glove) in order to miniaturize the design and make it ready for mass manufacturing.

Languages

C, Python, Embedded C, Python 3, C++, Embedded C++, Verilog, Simulink, Gherkin, MicroPython

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

Paradigms

Object-oriented Programming (OOP), Radio Frequency (RF) Protocol, Behavior-driven Development (BDD)

Frameworks

Qt, Flask, Django, Streamlit

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

Platforms

Windows, Linux, Docker, Raspberry Pi, Jupyter Notebook, NVIDIA CUDA, Particle, Arduino, Firebase

Storage

PostgreSQL

Industry Expertise

Project Management

2011 - 2016

Bachelor's Degree in Electrical and Biomedical Engineering

McMaster University - Ontario, Canada

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring