Workshops

All workshops are 2 hours and hands on. You will almost always need a laptop! And it comes in handy to have USB-A ports on your computer so if you have a fancy new computer with USB-C only make sure you bring your dongles. And an extra micro usb cable will help too.

Build Actions for the Google Assistant

Join Google Developer Expert Mark Scheel as we do a live code lab together! Making an Action for the Google Assistant is fast and easy. Learn what tools to use, how to test, and how to deploy. Learn about different surfaces you can deliver to. And where to find resources when you are ready to build more. Every participant that completes the code lab will receive an entry into a giveaway of a Google Mini.

Resources:

https://codelabs.developers.google.com/codelabs/actions-1/

https://codelabs.developers.google.com/codelabs/actions-2/

https://codelabs.developers.google.com/codelabs/actions-3/

mark-assistant-talk

Mark Scheel

Making a future proof IoT project by leveraging technology that is here to stay

IoT is difficult for many reasons including endless hardware options and a multitude of OSes to choose from and that's before you figure out how to get devices to talk to each other!

In this workshop we are using the Nordic Semiconductor nRF52840 Dongle (PCA10059), which supports both Bluetooth and USB. Nordic is a market leader in Bluetooth and they are working to do the same for cellular (eg. LTE) as well.

For the OS we will use the RTOS Zephyr which is quickly becoming the Linux for IoT. Zephyr is not the default OS on nRF52840 but it is supported and will be the OS of choice for all future Nordic products. Zephyr works across a wide range of devices from different manufacturers.

A IoT product is not worth much without a companion application so we will be building one too - using modern web technology (Web Bluetooth) and a simple UI mostly vanilla HTML, CSS, JavaScript, with a bit of help from the awesome LitElement project.

Resources:

Slides

 

Lars Knudson

Lars Knudsen

Mesh 101 with Argon by Particle

In this two hour hands on workshop you will learn the basics of Mesh networking within the Particle ecosystem. You will learn how to add sensors to an endpoint as well as passing the data collected from those sensor to devices on the local mesh as well as the cloud.

Requirements: You will need a smartphone and a laptop with web browser and two open USB-A ports to take part in this workshop

Resourceshttps://mesh-101.herokuapp.com/

 

Turvey

Chris Turvey

Roy Tokeshi

Roy Tokeshi

Hands on IoT with Arduino

Many people have used an Arduino Uno to make an LED blink, but did you know Arduino’s new MKR family of boards can create secure IoT devices?

In this workshop you’ll get hands-on experience creating a secure cloud-connected IoT device using an ARM powered Arduino MKR board.

PrerequisitesLaptop with micro-USB cable and Arduino IDE

Resources:

Slides

Tutorial on Github

Sandeep Mistry

Sandeep Mistry

Portraits from the Portrait Booth at the Open Hardware Summit 20015

Don Coleman

rod_biresch

Rod Biresch

Cell Tower Wardriving and Other Shenanigans with Cellular IoT

Hologram is a cellular provider for IoT that works across multiple bands and networks - join them in learning how to use an Arduino MKR GSM 1400 dev board to raise some mayhem. From wardriving to connecting to popular cloud platforms, there is a bit of something for everyone here.

Prerequisites: Your laptop and Arduino IDE installed

Resources: Hackster

moheeb

Moheeb Zara

Ben Strahan

Ben Strahan

Low power IoT nodes with Mbed and LoRawWAN

LoRaWAN is a low-power wide-area network technology that combines kilometers of range with low power consumption - a great fit for IoT devices. But how does LoRaWAN get these capabilities, and how can you actually design a device that runs years on a battery? In this workshop we’ll be building an end-to-end battery powered IoT system. Introducing you to practical skills building embedded software using Mbed OS, how to use low-power modes, fundamentals about LoRaWAN, and how to build an application to get data from a variety of sensors.

This is a workshop with content for everyone. Whether it’s the first time you write any embedded code, or whenever you’re an experienced embedded developer who wants to learn more about Mbed OS, Arm’s operating system for IoT devices.

Resources:

Tutorial on Github

Slides

Alessandro

Alessandro Grande

Louise

Louise Paul

jan

Jan Jongboom

Rex

Rex St. John

Microchip AVR - IoT and Google Cloud IoT Core

Get hands on with the Microchip AVR-IoT development board, and learn how this device makes secure connections to Google Cloud IoT Core with hardware-based key storage. You will connect the devices to a Cloud IoT Core project and visualize the data coming off the on-board sensors.

Prerequisites:
Windows/Mac/Linux laptop
MPLAB X IDE v5.10
Microchip AVR Toolchain

We will walk through downloading and installing those items in the workshop as well, but they're large files so letting folks know ahead of time can help cut down on download time.

Resources:

AVR-IoT Workshop Codelab

AVR-IoT WG development board

Cloud IoT Core documentation

 

 

 

DaveSmith400

Dave Smith

Toni Klopfenstein

Toni Klopfenstein

daniel-hou

Daniel Hou

Clouduboy - JavaScript games on Microcontrollers

Explore, tinker, play! Try your hand at creating your very own retro pixelart games on the Tiny Arcade & Pocket Arcade - minuscule pocket-sized Arduino-based open game console reminiscent of Gameboy's glory days. Best thing? Thanks to Clouduboy you can now do this entirely in your browser, with minimal programming knowledge!

Requirements:
The only thing needed is a PC/Mac with an up-to date browser. JavaScript-programming experience at this workshop is recommended but Clouduboy's ""Learn to Code!"" tutorial itself is suitable for learners of any levels of programming experience (including people who never really coded before).

Project Things - Mozilla and IoT

As IoT slowly encroaches our day-to-day lives and network-connected smart devices flood our homes we are often faced with two choices: embrace the variety of vendors and devices and live forever-fragmented lives as we try to get our smart-lightbulb app talk to our voice-assistant's control center - or stick with a single vendor.

Mozilla is trying something different. Instead of per-device (and per-vendor) native applications Mozilla's Project Things initiative tries to bridge the digital void using the "Web of Things" system -- a system that exposes devices, securely & privately, via an easily accessible web interface. The Project Things Gateway -- nothing more than a browser UI one could install on a garden variety Raspberry Pi -- then could become a one-stop-shop for all of your home automation and smart-device controlling needs, and it needs no hefty native app install, but any browser -- mobile or otherwise.

Sounds too good to be true? Come to the Project Things workshop and try it in action, then decide for yourself!

Flaki

Istvan Szmozsanszky "Flaki"

Intro to Rust: From CLI to Embedded featuring Tomu

Rust is an incredibly promising new (~10 year old) systems language whose offers of safety, speed, and concurrency are badly needed in the IoT space right now. We all know a great engineer can develop safe C code, but clearly we need more, faster, and cheaper lines of code than C has been able to deliver in recent decades.

In the first hour we'll do an introduction to Rust by developing a simple CLI application on our laptops and learning a little about the language. During the second hour we'll take what we learned and see how with a few changes we can port our example down onto the Tomu USB device.

Prerequisites:

Laptop with a common USB-A port or dongle
Rust installed https://www.rust-lang.org/tools/install
Basic programming skills - though feel free to come and work at your own pace

Jacob

Jacob Rosenthal

InterLoRatic: Build a GPS Tracker - Long Range IoT

Learn how to build a long range low power tracking device using esp32s and generic GPS modules.

Prerequisites:

Laptop with USB type A (or an adapters!)
Basic programming skills

Steve

Steve Lacy

Jason Goldberger

Jason Goldberger