Last week, we participated in Microsoft's annual developer conference //build 2017. We were super excited to present our first preview version of the MXChip IoT Developer Kit, an Arduino compatible board with rich peripherals that uses Visual Studio Code for development. Our goal was to demonstrate the ease of developing IoT apps by leveraging the power of the cloud.
Our team compiled getting started tutorials and sample applications to help developers create IoT solutions on Azure. We provided detailed and structured content, but after analyzing web stats and talking to developers, we discovered severe pain points:
- Hardware setup and preparation. Developers want to start building IoT applications right at the onset. However, the first steps involve acquiring a board and sensors. Then you have to step through the first a couple of minutes on wiring or soldering the sensors to the board.
- Toolchain acquisition. For a developer working on a standalone Arduino application, the IDE might be enough. Contrast that with building a more feature-rich application that's connected to a cloud platform, now the developer must install an entire toolchain.
- Cloud service provisioning and configuration. Not only does it take multiple steps for different services, it also requires extra knowledge of cloud services to connect them together. This is often an obstacle for developers coming from the device side.
How we solve
We hypothesized that IoT developers needed a better hardware and software experience. After validating this strategy with developers, we first approached the hardware side. One of the benefits of working in China is proximity to leading hardware manufacturers. We partnered with MXChip, an established player for IoT hardware, and rapidly iterated on the design and engineering of an Arduino compatible board with rich preinstalled sensors.
Second, we used Visual Studio Code to create a tailored getting started experience. Leveraging our team's work on an Arduino extension for Visual Studio Code, we were able to do intellisense, project scaffolding and debugging(coming soon).
After sharing prototypes with developers along with our tools, we verified the hardware setup, toolchain acquisition, and cloud provisioning pain points were relieved. With a seamless "getting started" experience, developers can be more productive towards their goal of building innovative IoT applications.
Here is a detailed list of all the goodies we baked in to this small credit card sized board:
- STM32F412, ARM Cortex M4F processor
- Cypress BCM43362 WiFi module
- 256K SRAM，1M+2M Byte SPI Flash
- DAP Link emulator
- Security encryption chip
- 3.3V DC-DC, maximum current 1.5A
- Codec, with microphone and earphone socket
- OLED, 128x64
- 2 user buttons
- 1 RGB light
- 3 working status indicators
- Infrared emitter
- Connecting finger extension interface
- Motion sensor
- Magnetometer sensor
- Atmospheric pressure sensor
- Temperature and humidity sensor
You can find more technical details about the hardware at DevKit product page.
What can I do with it?
Basically, all the cool stuff you can do with an Arduino can be done with the DevKit. And since it has many popular sensors and actuators on it, you no longer need to spend time wiring and soldering them together. And if you really want to use extra sensors such as camera, GPS or etc., there is an edge connector on the board that is compatible with BBC Micro:bit accessories. Extensibility is no problem.
To start developing, follow our getting started guide to connect the DevKit to your computer, configure WiFi and prepare the development environment.
We are fully aware of the role samples play in helping developers quickly build working demos and learn key concepts. That's why we are establishing the Projects Catalog. Every project is a small IoT application that uses multiple sensors and cloud services. With a step-by-step walkthrough, a developer can easily pick up and finish a project in minutes. Our first project "Shake, shake" uses Azure IoT Hub and Azure Functions to retrieve a random tweet and display it on the DevKit screen.
How do I get one?
Currently, we are in preview stage and really want to get feedback from developers. We plan to distribute a limited quantity for free based on select criteria. The online distribution channel is being established and will be available to general public in August. Please check our DevKit product page for status update.
We'll also be handing out kits at this year's Maker Faire at San Mateo from May 19-21. You can find us at the Microsoft booth.
Happy IoT hacking!