I'm a .Net developer recently started working on WindowsAzure IoT, but my role is just creating web API's to provide data to client (Mobile App) sent by IoT devices.

I want to send commands to devices, instead of just receiving data sent by devices. You can say that I just want to work on a simple demo project as startup, so I will get to know how IoT works real time and what is the exact flow of communication between IoT Hub and Devices.

My questions are :

  1. Which is the best Open Source/Free Trial IoT Hub/Platform to use (Already used WindowsAzure trial and it's expired, so it's not in option).

  2. Which is the best Programming Language to use for this demo, I think language will depend on which IoT Hub we choose, if I'm not wrong (Already have knowledge of C#, JavaScript and SQL Server in database, but I'm ready to learn new language if required)

  3. Which Device is cheap and best for this demo

  4. The most important, where to check Step by Step Tutorial for development.

Any help is appreciated ...

Feel free to ask if you have any doubt related to my query.

  • 3
    Welcome to the site! Please have a look at the tour and How to Ask; at the minute, you have at least 4 broad questions in your post, and it'd be better if you separate this into 4 different posts, so that answers can address each point separately. For the device recommendation aspect of your question, please read the tag wiki for [hardware] where there is extra guidance for asking about the best device for a purpose.
    – Aurora0001
    Commented Feb 22, 2017 at 14:45
  • "I want to send commands to devices, instead of just receiving data sent by devices" implies push technology, from the server, as opposed to pull technology, where clients ask the server if it has any data for them. The latter is by far the most common implementation in industry. Of instance, there is no totally cross browser solution for push. You should probably reconsider.
    – Mawg
    Commented Mar 6, 2017 at 8:19
  • Atmel has been around for decades, and is indeed a good solution; I have used them myself An extremely popular rival is the more recent Raspberry Pi family (and its clones, Orange Pi, Banana Pi, etc).all have good support; there is even an S.O site for raspberry Pi, but, dolly, none for Atmel. You could do worse than look at the newly introduced US $10 Raspberry Pi Zero W, with WiFi & Bluetooth.
    – Mawg
    Commented Mar 6, 2017 at 8:28
  • Thanks @Mawg, As I can understand you, web service can't interact with device directly, until device itself calls web service. And in the same way, to send command to device, we have to schedule web service call from device by specific time interval and then only web service can send command to device if the form of output of web service call. I'm right ?
    – Shri
    Commented Mar 7, 2017 at 15:51
  • The scheduling part is your requirement. In general, it is better for a device to ask for something than for the server to try to give it do devices. Better architecture & easier to implement
    – Mawg
    Commented Mar 7, 2017 at 19:24

1 Answer 1


Arduino is an open source platform for IoT test projects, and you'd buy either a Arduino device or a cheap derivation, that may have cheaper price or better characteristics.

Same Arduino IDE can be used for all variations, you'll use IDE to install the software and test your programs. Program has one time and loop parts where you can build your stuff by C++ like language.

C++ basics on memory usage may be useful for programming language side.

With more electronics skills you may also develop your own circuits for device, it is possible by the licence.

[1] https://www.arduino.cc/en/Guide/Introduction

[2] https://www.arduino.cc/en/Guide/windows

[3] https://en.wikipedia.org/wiki/List_of_Arduino_boards_and_compatible_systems

  • Thanks @mico I just gone through given links and it looks like it's very useful for me.
    – Shri
    Commented Mar 3, 2017 at 13:48

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.