The 'Robonomics Coffee' is a smart coffee machine integrated into the Robonomics Network. This project serves as a practical demonstration of Robonomics' capabilities within the IoT realm. It seeks to address questions such as whether we can foster democracy through smart contracts, how to resolve the 'tragedy of the commons' dilemma in the office using innovative decentralized technologies, and how to employ Web3 and blockchain for automating smart spaces. Find out more about this concept here
Here you can find a detailed tutorial and technical specifications for DIY your own blockchain automated coffee machine. Keep in mind that you can use any coffee machine you prefer and almost any token of your choice to bring this project to life in your own space.
Here, you will see how we accomplished this. This example can also be applied to the coffee machine of your choice.
- The coffee machine. When selecting a coffee machine, consider how you'll interact with it. We decided to simulate button presses using GPIO, so we looked for a model where we could solder wires to the control panel. We settled on the De’Longhi Magnifica ECAM 22.110 because it's budget-friendly and has an easily removable front panel. It's a no-frills machine with basic buttons, perfect for making espresso.
- A single-board computer. Specifically the Raspberry Pi 4 (2GB), and installed the Ubuntu server using the RPi Imager application.
- A 5V adapter and a USB-A to USB Type-C cable The adapter can be similar to this, and the cable should look like this.
- F-M (female-male), M-M (male-male), and F-F (female-female) jumper wires, as well as a breadboard. This should look like this
- A transistor and a resistor (optionally).
Additionally, make sure to have a set of screwdrivers, a soldering iron with solder and flux, and a multimeter on hand.
Our objective is to detach the front panel (which won't be used anymore) and separate the control PCB. You can find a helpful tutorial on YouTube as a reference.
Solder them to the isolated contacts, which, in our case, are the two bottom contacts. You can use any wires, but remember that one of them should be an M-wire for connecting it to the breadboard later.
Now, reassemble the coffee machine by reinstalling the PCB control board. Keep the front panel removed.
The complete circuit is shown here. It's a straightforward transistor switch configuration. We employed R1=1kΩ, an NPN transistor Q1 (with specifications hfe=40, Uce>5V, Ic>0.015A; we have a sample here, but almost any general-purpose transistor will suffice since it's acting as a switch), and a small 3.3V diode D in the base circuit, which we found in our lab's storage. Alternatively, you can use a MOSFET transistor.
Connect the wires labeled as RPI GND and RPI GPIO Pin to pins GND and 21, respectively, according to the RPI GPIO scheme shown below. The wires marked as Button+ and Button- should be connected to the left button contact and right button contact, respectively.
Let's transform this hardware into a blockchain-powered automated coffee machine!
We worked on this project in two different networks, Robonomics Kusama Parachain and Everscale. As a result, we have two subprojects with slight variations in income tracking. You can find them in separate folders within this repository.
Also, for each subproject there is a generated systemd service
file to be put in /etc/systemd/system
.
Edit script paths in them first and then move these files.
sudo mv robonomics_coffee_maker_everscale.service /etc/systemd/system
sudo mv robonomics_coffee_maker_robonomics_kusama.service /etc/systemd/system
In conclusion, this Proof of Concept (POC) project has potential for further improvement. Notably, there's room for enhancing aesthetics by concealing wires, and the opportunity to introduce additional functionalities.
Powered by Robonomics, created by Multi-Agent.io