Innovation often starts with solving everyday problems. Our CoffeeCam was more about our own needs in the office, but with the PlantsWerk – a humidity monitoring system for our office plants – we also had our environment in mind. We present the two recent IoT projects here.
The CoffeeCam: How we taught our coffee machine to talk
Fortunately, we are blessed with a reliable fully automatic coffee machine in the office, which runs through a 30-minute cleaning process just as reliably. “Wouldn't it be great if we could see on the computer whether the machine is currently cleaning?” That was the question during a wait at the coffee machine. This quickly turned into a tangible challenge: could we find a smarter way to check the status of the coffee machine without leaving the desk? Our coffee machine didn't have a digital interface or API, but we did have a Raspberry Pi and an old webcam to hand. That was the starting signal for a little hackathon – fueled by caffeine and curiosity.
Setting up the CoffeeCam
We mounted the webcam so that it pointed at the coffee machine's display and connected it to the Raspberry Pi. Using the open-source tool Motion, we created a simple web interface that transmitted live images of the machine's status. This allowed anyone to check in their browser whether the machine was free. But we wanted more – because checking manually also meant interruptions.
Intelligence through Machine Learning
To automate the status detection, we relied on TensorFlow. Using a lightweight neural network that we trained with screenshots of the machine display (some with a “cleaning” indicator, some without), our system was able to reliably distinguish between cleaning cycles and “ready to brew”. With only a few dozen images per category, our model quickly became an expert in real-time classification.
Real-time notifications with personality
The last piece of the puzzle was the notifications. The CoffeeCam should not only inform, but also entertain. That's why we developed a Slack bot that sends updates to our office channel - including funny, AI-generated messages that reflect the “mood” of the coffee machine. Here are some of our favorites:
🛁 Wellness day for me. You can take a break.
☕Ready for the next round of coffee. Have a strong day!
🧼 Cleaning is in progress. Please don't disturb me, I'm sensitive.
The technology behind it
The solution is based on a few simple Python scripts:
Model training: We use TensorFlow to classify images as “cleaning” or “ready”.
Detection and notification: The system regularly checks the camera feed, evaluates the images and sends Slack updates as soon as the status changes.
We are very satisfied with the result! The modular, streamlined setup allows us to adapt the CoffeeCam for other office devices in the future. What started as a spontaneous idea with the CoffeeCam has turned into a practical IoT project that has really improved our day-to-day work. No more unnecessary trips to the coffee machine – and a bit of machine learning magic makes for a good mood.
PlantsWerk: How IoT is revolutionizing our plant care
Our colleague Brandon has taken on another challenge to ensure that our green colleagues don't miss out during stressful periods. He developed a smart sensor monitoring system that uses smart notifications to show when the office plants need water, making their care effortless.
The idea: smart plant care for the office
Brandon wanted to combine his electrical engineering skills with the technologies we use every day at denkwerk. His goal was to create a system that is easy to control, automatically sounds an alarm and makes plant care as simple as possible. The entire project went through seven phases, from B for assessing office conditions to E for using and setting up hardware to W for website concept. Here are the facts and insights from the tricky IoT project.
The challenges: From room to room, without cable clutter
The complexity of this project was already evident in the planning phase. This resulted in three central challenges:
Plants in several rooms, with different room sizes, but only one router
No external servers for data control (as is usually the case with IoT projects)
Visual harmony - no disruptive cables in the office
The solution? A central gateway collects the sensor data and integrates it into its own denkwerk environment. The first prototype for the hardware was particularly impressive visually (even cables were elegantly concealed).
Hardware and protocol: The right basis for smart plants
During the set-up phase, the focus was again on three factors: sensors, routers and system connectivity. After weighing up resistance and capacitance sensors, the capacitive models, which work like a battery, were the clear choice. They are precise, low-maintenance and less susceptible to faults. The combination of water and capacitor is ideal for the project.
“The trick is that water affects the capacitance of the capacitor without direct contact.“
Brandon Ceron Perez, Junior Web Developer at denkwerk
In order for the sensors to work optimally with the router and also be connected to the gateway and server, a suitable communication protocol was needed. Brandon opted for the LoRa protocol - long range, low energy consumption. He configured the sensors with Arduino and calibrated them before the LoRaWAN implementation. He specifically chose the SensCAP system as the sensors, as it supports MQTT, is inexpensive and uses the permitted European frequencies. This allowed the sensors to communicate with a router via LoRa.
Backend architecture: Symfony, database & smart notifications
The next step was to connect the router to a web server, which was new territory for Brandon. Fortunately, he was able to rely on the expertise of the tech teams. For the backend, the team chose the Symfony framework, which enables efficient communication between the web server and router via HTTP. The connection to the front end is made via JSON, which guarantees seamless data transfer. The backend comprises three central components:
Web server: Controls the entire system logic and interfaces.
Database: Organizes the sensor information, measurement data and maps for precise positioning of the plants.
Email notifications: Implemented specifically for administrators to automatically send warning messages when the sensors are low on battery.
For continuous monitoring, the team has set up several cron jobs that record and evaluate measurement data at set intervals. Depending on the user role, notifications are sent by email (admins) or Slack (team). So no plant is left high and dry!
User-friendly frontend & API
The frontend provides an intuitive user interface that allows you to place plants on a 2D map and monitor their moisture status in real time. Maps and sensors can be managed and measurement data can be viewed via our REST API. Special attention was paid to the visualization of the humidity level. The optimized web portal shines with its modern design and high user-friendliness.
Speaking of design: the sensors themselves have also become real eye-catchers thanks to the 3D-printed cases:

The PlantsWerk and CoffeeCam projects show that innovation doesn't always have to be big and expensive. Sometimes a few simple tools and a willingness to experiment are enough.
Share this Spark