Assume we have a micro-controller and it collects a meta-data (ex. a payload as a string). How this micro-controller can interact "directly" with smart contract to write this data to the blockchain?

Must we use something like Oraclize? Since a smart contract cannot interact directly with an external source.

And also, do we need to install, "necessarily", a Geth or Parity client on this micro-controller?

Is there a practical / existing example for such a scenario?

From my point of view, this micro-controller can collect data and then by calling a function in smart contract (ex. writePayload()) writes data in the blockchain "without" using an oracle such as Oraclize.

Note: According to the comments on this question: Is it possible to call a function of smart contract "without" installing "Geth" or "Parity"? , isn't it easier to use infura as an existing node, instead of installing Geth or Parity ?

1 Answer 1


As you said, you can't access smart contracts "directly". Something like Oraclize wouldn't help you much with that either.

You will always need an intermediary node which is connected to the Ethereum blockchain and it will provide you with access to the blockchain.

You don't "necessarily" need Geth or Parity, they are used for creating and maintaining the node. At least you don't need them on the controllers. As your micro-controllers are probably lacking in capabilities, I suggest you use a centralized node (or multiple) with which all your controllers communicate.

  • Thank you, However, in this example (link), the device is based on an ESP8266 which connects to a router running an instance of a Geth Ethereum node. It uses the Ethereum blockchain to control an LED connected to the ESP8266 using a smart contract. Meaning that apparently, it could be possible to use a micro-controller as an Ethereum node by installing Geth or Parity on micro-controller, then we have a node that is capable to interact directly with Ethereum blockchain. What do you think?
    – Questioner
    Commented Aug 31, 2018 at 12:01
  • Or this example (Elkrem) where they use a Nano Pi as a linux board to run the Ethereum light node, it's connected to a 32-bit microcontroller which is user programmable.
    – Questioner
    Commented Aug 31, 2018 at 12:06
  • Sure, you can install Geth or Parity there to connect directly, if the controller has the required resources. But to me, "micro-controller" just sounds like something that doesn't have the required resources. Commented Aug 31, 2018 at 12:06
  • So, the condition is the capability of micro-controller for installing Geth or Parity.
    – Questioner
    Commented Aug 31, 2018 at 12:08
  • 1
    Sure it is easier to use Infura - that's one option for a bit more centrailized version. Commented Aug 31, 2018 at 12:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.