IBM Developer Skills Network

Robots are coming! Build IoT apps with Watson AI, Swift, and Node-RED

Have fun with IoT and learn along the way. If you're a Swift developer and want to learn more about IoT and Watson AI services in the cloud, Raspberry Pi, and Node-RED, you've found the right place. You'll build IoT apps to read temperature data, take pictures with a RaspCam, use AI to recognize the objects in those pictures, and program an iRobot Create 2 robot.

Start the Free Course

About this course

In this hands-on Internet of Things (IoT) course, you'll build Node-RED flows (applications) running on the cloud and connect them to more flows and Swift applications. You'll use those applications to track the temperature of a Raspberry Pi CPU, store that data in a Cloudant NoSQL database, take pictures with the RaspCam, use AI to recognize objects in the pictures, send Twitter notifications, and send simple commands from your smartphone to the iRobot.

Important: You don't need to purchase the iRobot to be successful in this course. But playing with a programmable robot can be a lot more fun!

Course outline

  • Lab 1: Read temperature data from an IoT sensor
    • Lab 1 application architecture
    • 1. Create the Internet of Things Platform Starter and connect to a virtual sensor
    • 2. Prepare the Raspberry Pi to use as an input source
    • 3. Connect the Raspberry Pi Node-RED flows to IBM Cloud
    • 4. Optional: add social media notifications to your flow
    • 5. Add a Cloudant database to store temperature data
    • 6. Create a UI in Swift and Xcode
    • Lab 1 quiz
  • Lab 2: Add a camera and analyze images
    • Lab 2 application architecture
    • 2. Invoke a Node-RED flow on the Raspberry Pi from the Node-RED flow
    • 3. Analyze an image from Raspberry Pi on IBM Cloud
    • 4. Add a Cloudant database node
    • 5. Retrieve and analyze a picture on IBM Cloud
    • 6. Retrieve the picture that was taken by the Raspberry Pi in a Swift application
    • Troubleshooting connection problems
    • Lab 2 quiz
  • Lab 3: Connect your app to an iRobot and smartphone
    • Lab 3 application architecture
    • 1. Create a device schema on the Internet of Things Platform service
    • 2. Invoke the MQTT command on Watson IoT Platform from the iOS application
    • 3. Optional: Connect your application to the iRobot
    • 4. Add a voice user interface
    • Lab 3 quiz
  • Final exam


You must have programming experience with Node-RED, IBM Cloud, Raspberry Pi, Swift, iOS, and Cloudant databases.

You'll need the following accounts, software, and hardware:

You can complete Lab 2 without purchasing a camera. Instead of using the camera, you'll use images from the Internet, but using a camera is a lot more fun!

Course instructors

Marek Sadowski

Marek Sadowski

Marek Sadowski is a full stack developer advocate, a robotics startup founder, and an entrepreneur. He has 20 years of experience in consulting large enterprises in USA, Japan, Europe, Middle East, and Africa. As a graduate from the International Space University, Marek pioneered in a research on VR goggles for the virtual reality system to control robots on Mars in NASA Ames. He founded a startup to deliver robotics solutions and services for industries. Marek moved to Silicon Valley to promote IoT and robotics solutions driven by AI and IBM Cloud.

Lennart Frantzell

Lennart Frantzell

Lennart works with blockchain, machine learning, and IBM Cloud. A Silicon Valley veteran, he is in love with Swift and Python and loves building and hacking anything on the cloud. He speaks at meetups, holds Workshops and on weekends, to avoid doing yardwork at his bungalow in Silicon Valley, attends hackathons.

Course staff

Michelle Carey

Michelle Carey

IBM Courseware Developer

Cesar Cantua

Cesar Cantua

IBM Courseware Developer

Frequently asked questions

Can I take this course on Windows?

No. You must have a Mac to complete the labs in this course. You must also have experience with Swift, Xcode, and IBM Cloud.

What web browser should I use?

The Open edX platform works best with current versions of Chrome, Firefox, or Safari, or with Internet Explorer version 9 and later.

See our list of supported browsers for the most current information.

Earn your IBM Data Science Professional Certificate on Coursera.Learn more ...