Fruity Market is an Open Fruit Market Proof of Concept designed to give insights on how would be the new way for purchasing groceries.

In this new market, a user will be able to purchase food with its phone without a cashier (middle-man). This is already existing (Vending Machines) but Fruity Market wants to demonstrate how easy it is to do it with Blockchain and Modern Hardware Technology.

What it does

It allows people to buy fruits openly on a market with an Ethereum Wallet.

How I built it

I built it using both software and hardware components.


  • Infura - used to connect to the Ethereum network.
  • Web3JS - used to interact with the Ethereum network.
  • Chainlink Oracle - used to get the Ethereum price feed as all fruit purchases will be made in ETH.
  • WebUSB - used to talk to the hardware device through the web.
  • Arduino IDE - used to flash the device's firmware.


  • MacBook Pro - used as the host.
  • Arduino Nano 33 IoT - used as the hardware device.

Arduino's firmware, application's smart contract and more in the GitHub repository:

Challenges I ran into

The hardest part was to get the Arduino working with the Dapp through the web.

Accomplishments that I'm proud of

I'm proud that the Fruity Market application can easily communicate with hardware devices through the web navigator.

What I learned

  • How to integrate an Ethereum price feed using Chainlink Oracle.
  • How to connect a hardware device to the web.

What's next for Fruity Market

I would like to improve the smart contract's logic as it is pretty minimalist at this time and build a realistic vending machine using a Raspberry Pi 4 with a touchscreen. Moreover, I would like to expand the idea to build IoT Gateways for home automation.

Built With

Share this project: