I have some exciting news to share with the Gadgeteer community.
GHI, Microsoft, and others have been talking about the future of Gadgeteer. We all love the abstraction it provides. From talking to folks here on the forums, we know you do as well. We want to make Gadgeteer better, and also make if faster to innovate on this platform.
Fully Open Source
The first step in this process is to open source the remaining bits of Gadgeteer which are not currently open sourced. That includes the designer integration. I’m in the process of working through this with legal right now. With our events coming up, it’s a crazy time of the year, but I figured I’d tell you about this even though it has not yet been completed.
Gadgeteer will be hosted on GitHub, as a true open source Microsoft project. We’ll have a proper leadership group comprised of Microsoft, module/board developers, and key community leaders. We’ll also accept contributions and pull request that fit the vision for the project.
Microsoft will still play a leadership role in this, but we will no longer dictate a specific direction. Instead, it’s better to let Gadgeteer move with the ecosystem and market, and the abilities of GHI, Mountaineer, and others.
I’ve shared that information before, but it’s important stuff.
Optimization
There are aspects of Gadgeteer which wrap NETMF functionality in an almost redundant way. We’ve heard from the community and companies like GHI, that we can do better here.
One of the tasks the group will take on early on is the optimization of Gadgeteer to stay true to the friendly nature of the product, but remove some of the abstractions. This will make it easier to port your projects, and will reduce the amount of memory and storage required. We don’t have specifics here yet, but we will be looking at everything in Gadgeteer with an eye towards simplicity and robustness.
Windows 10
The small client device world has changed a lot in the past five years. There was a time when any sort of maker board beyond an Arduino came with a three figure price. With the rise of the maker movement, and the decrease in price of ARM and low-power Intel processors, and the simplification of the board support they require, this is no longer the case. If a phone can cost $60 without a contract, and include bluetooth, WiFi, cellular, a full operating system, and a touch display, then general purpose maker boards can’t really justify a $300 price tag for similar functionality. There’s still a market and need for boards optimized for specific uses and certified for specific industries, but that’s not what I’m talking about here.
The Raspberry Pi model A was instrumental in this movement, showing the world that you can pack a lot of computing power, and a full operating system, into a $35 board.
In January, the Raspberry Pi foundation announced that the Raspberry Pi 2 will run Windows 10, and that Windows 10 on the Pi 2 will be free for makers.
One of the things I’m most excited about is that we’ve (GHI and Microsoft) been working to port Gadgeteer to Windows 10 IoT. Currently, GHI is developing on the MinnowBoard Max, which is the supported developer board for partners and internal. However, once Microsoft releases support for the Raspberry Pi 2, GHI will be right there, finalizing their hardware design for a Gadgeteer HAT for the Pi 2. Other boards are TBD, based on what makes business sense for GHI and others.
[em]Neither GHI nor Microsoft are walking away from NETMF. We don’t have anything new to announce there just yet, but the Microsoft product team is working hard to bring NETMF forward. Gadgeteer will continue to work on that, and we’ll continue to enhance it. I’m talking about Windows right now because that’s where the new work is. Don’t make any assumptions about NETMF based on this.
[/em]
Using Gadgeteer on Windows 10 brings a number of benefits to Gadgeteer users:
- Excellent networking support
- Compiled applications
- AllJoyn integration as a router or an endpoint.
- Inexpensive USB WiFi, Bluetooth, and more
- Built in APIs for retail devices
- Tons of supported USB peripherals
- HDMI video
- The ability to code in C#, VB, JS, or C++ and more
- The ability to use XAML and other markup for displays
- Code and binary compatibility with Universal Apps running on phones, desktops, tablets, Xbox, Hololens, and more.
- Ability to use the same modules you use with NETMF
And to Windows developers, it brings a great system of sensors and devices that can be simply integrated into a solution.
For more information about Windows 10 IoT client, see this blog post:
http://blogs.windows.com/bloggingwindows/2015/03/18/windows-10-iot-powering-the-internet-of-things/
and this presentation slide deck:
If you’ve downloaded the Windows 10 SDK this week, you’ll see that UAP includes APIs for accessing GPIO, I2C, UART, SPI, and more. These are what Gadgeteer on Windows will build upon and they are available for use in our Windows IoT (formerly Windows Embedded) SKUs.
I did a demo of Windows 10 IoT this past weekend at an event in the mid west. One demo that resonated well was that I created a full app that ran on my PC, and used the Windows.Devices.Midi APIs to light up a Novation LaunchPad (my other job at Microsoft is working with tech and software for musicians). I then took that device (which connects via USB) and connected it to my MinnowBoard Max. On the PC, I changed the deploy/debug target from the local PC to the IoT board and hit “debug”. Visual Studio deployed to the board over the network, and started a debug session. It all worked seamlessly. Zero code changes. No conditional compilation. It just works.
So if you’re interested in prototyping ideas for Windows 10 IoT, the best place to start is to write a universal app using the SDK we released to Windows Insiders on Monday, and then get familiar with .NET Gadgeteer if you’re not already. Once we release the SDKs for the IoT boards, and GHI offers their HAT for sale, you’ll be able to bring the two together to create your solution.
Next Steps
This is something I’m really excited about! Devices like the Raspberry Pi 2, MinnowBoard Max and Qualcomm Dragonboard are very powerful boards with reasonable cost (the Pi 2 is only $35). You get a lot of power for a very small outlay.
Between the open sourcing of Gadgeteer and the work to bring it up on Windows 10, we have our work cut out for us. We can’t say when different modules will come on line, but once the open sourcing is complete, we will perform the development in the open, on GitHub.
I hope you’re as excited as I am. I love NETMF, and I love using it on low-power devices. At the same time, I sometimes need higher-level functions you can only get from a full operating system. Being able to use the same hardware modules on both will be a huge benefit for my prototyping and IoT projects.
Thanks for taking this journey with us, and thanks to GHI for all their hard work in helping make this happen.
Pete Brown
Microsoft
Edit: Also posted here: Redirecting...