Michael Nitschinger, a software engineer at Couchbase with a passion for coffee and PID control, dives into the world of brewing and technology. He shares insights on creating home automation for plant care and the importance of controlled water supply in coffee machines. Michael discusses his DIY journey to improve espresso quality through programming and troubleshooting. He also explores innovative data management using Rust with Couchbase, revealing how Bluetooth Low Energy can transform device communication. It's a delightful blend of tech and coffee passion!
Mikhail Nitschinger shares his journey from PHP to Rust programming, emphasizing enjoyment and freedom in coding beyond his professional duties.
He discusses his passion for coffee brewing, highlighting his project to create a PID controller for precise temperature regulation during espresso extraction.
Mikhail connects his embedded systems knowledge with Couchbase's technology, exploring the integration of database synchronization mechanisms into his coffee machine projects.
Deep dives
Introduction to Mikhail Nitschinger
Mikhail Nitschinger, a software engineer based in Vienna, discusses his background and current work at Couchbase, where he specializes in writing database drivers. Having been with Couchbase for eight years, he has extensive experience across various technical areas. Mikhail shares how he got interested in Rust programming, which provided him with a sense of enjoyment and freedom in coding beyond his day job. This transition illustrates his evolving interest in programming languages as he moved from PHP to Java and eventually to Rust.
Coffee Machine Modifications
Mikhail details his journey into coffee brewing after receiving an espresso machine for his birthday, highlighting his desire to modify it for enhanced control. His project centers around creating a PID controller to regulate temperature precisely during espresso extraction, making the brewing process more consistent. He explains the technical aspects of removing the analog temperature sensor from his machine and replacing it with a digital one for better readings. This modification allows for more accurate control over the heating elements, which is crucial for achieving the perfect espresso.
Exploring Embedded Rust
Diving into embedded programming, Mikhail reveals his interest in running Rust on microcontrollers for his coffee machine project. He shares his challenges when trying to get Rust to work with an ESP controller, as it opened his exploration into embedded systems and the compatibility with existing libraries. Mikhail ported C libraries from Arduino to Rust, which allowed him to apply Rust’s type system and clarity in managing the coffee machine's PID controller. This process enhanced his coding skills and encouraged him to write engaging blog posts about his findings.
Challenges and Future Plans
During the conversation, Mikhail recounts the difficulties he faced, such as debugging and improving sensor readings while pulling shots of espresso. He aims to address issues related to temperature readings and how different configurations affect the brewing process. Additionally, he shares his ambitions to incorporate Bluetooth support for remote control via a mobile device and automate the brewing process. His plans extend to integrating a scale for measuring brew ratios, further enhancing his coffee machine's capabilities.
Broader Implications of Technology
Mikhail connects his embedded systems knowledge with his work at Couchbase, discussing the intersection of coffee machine modifications and database technology. He explores the idea of applying synchronization mechanisms from Couchbase's mobile technology to his embedded projects, which could enable offline capabilities for devices. This innovative approach could bridge the gap between embedded systems and cloud databases, offering significant applications in data management for smart devices. Mikhail's exploration illustrates how personal hobbies can lead to professional development and new technological insights.