Select Page

I recently tried out GitHub Copilot to create an Arduino app without writing any code myself. Starting with a basic prompt, “Create Arduino application structure,” I built the entire app through ‘conversational development,’ copying and pasting generated code. This was my first AI-assisted development experience, and it was awesome!

My goal was to develop a smart coffee quality analytics app, focusing on espresso-making insights like water temperature, coffee weight, grind size, and extraction time. The app captures sensor data, sends it to an Azure OpenAI model, matches it with a user-provided rating to find what leads to a better cap of coffee. I used Azure’s no-code tech, including IoT Hub, Logic App, Azure Tables, OpenAI, and Azure Search coupled with GitHub Copilot, for a completely no-code development. As a result, I was able to create a fully functional PoC in just one weekend!

Here is a good example of the power of GitHub Copilot. While developing, I needed to create a function that would capture the weight of coffee after the portafilter was placed on the scale to ensure the weight was captured automatically after the scale started getting consistent results. I thought of using std::all_of myself, but Copilot found an alternative solution. Even though std::all_of is a better option, the fact that I could save a few minutes by using one of the blow solutions was an acceptable compromise.

Continuously read data from the sensor until it gets three continuous readings in a row

Continuously read data from the sensor until it gets configurable number of continuous readings in a row

GitHub Copilot is undoubtedly worth using for several reasons: First, it can significantly accelerate the development process by generating code snippets. Second, it enhances productivity by providing options and alternative solutions and suggesting efficient coding patterns(sometimes!). Finally, Copilot aids in learning and exploration, offering insights into different coding styles and approaches. Its ability to understand context and generate contextually relevant code makes it an excellent option for any experience levels.