
Learn to build a hardware-software thing for the internet of things, from breadboarding sensors to cloud connections, firmware, security, and prototype launch planning for Kickstarter.
Develop foundational IoT skills with C-like languages, variables, functions, and if statements, using Intel Edison, breadboards, and basic electronics to build an IoT device and connect to the cloud.
Build the button Tapper 3000, an IoT signaling device with two or more button tappers and a companion app, connected in the cloud to trigger beeps and notifications.
Explore the internet of things by breaking hardware, software, and services into manageable pieces, using prototypes and breadboards, with a technology review to guide design, implementation, and real-world Kickstarter considerations.
Deliver a 30,000 foot view of the internet of things as a network of smart, connected devices with sensors and actuators, showcasing real-world sensing and control.
Evaluate popular prototyping systems for IoT, including Arduino, Raspberry Pi, and Intel Edison, weighing connectivity, power, and development tools to choose the right platform for the button Tapper 3000.
Choose a development tool chain early—Arduino IDE for sketches or Eclipse for debugging on Edison—and use breadboards to prototype circuits with power and ground buses and interconnections before PCB layout.
See a live IoT demo where an iOS app controls lights and a buzzer across multiple units, via single, double, and triple taps plus emergency mode and cloud talk.
Plan the button Tapper 3000, an IoT signaling device with two buttons and a buzzer that uses Wi-Fi to the cloud, supports OTA firmware updates, and expands via Edison hardware.
Present the Tapper 3000 system architecture on the Intel Edison, implementing a simple C loop with callbacks, firmware updates, using two GPO inputs, two GPI outputs, and a PWM buzzer.
Explore the Intel Edison module, a dual-core 500 megahertz Atom processor with 1 gigabyte RAM, 4 gigabytes flash, and Wi-Fi and Bluetooth LE, plus GPIO and PWM I/O.
Use a cloud service to store and forward messages between button tapper 3000 devices, enabling asynchronous communication via http, with Parse.com chosen for cross-platform SDKs and reliable uptime.
Develop the iOS app to simulate two buttons and use the iOS haptic motor to mimic the button tappet 3000, and configure cloud-based prototype pairing between BT 3 devices.
Update the Edison firmware using the Intel INTC installer, install Eclipse and the Intel flash tool, and set up Jacobo Linux with the MRA hardware access library and EPM library.
Connect the Edison to your local wifi using serial setup, configure a device name and wifi credentials, verify the IP with ifconfig, and enable ssh access.
Connect to the Edison via ssh from a Mac to run gdb or gcc debugger, verify commands, and prepare to install the com library and build a hello world.
Configure the repo to use opkg to download files, run opkg update, install the opkg tools, then fetch and install the parts SDK and build it on Elsin.
Install the Parse SDK on the Eddison, configure and compile a binary library for the Eddison, then copy it to /usr/lib and link it into a sample button tapper application.
Connect the Edison via ssh with eclipse, establish a target connection, build a simple c++ project, and debug and run it on the Edison for IoT.
Copy the Parse library and run Blinky on Edison by using scp to transfer files, configure Eclipse, build a blink example, and verify hardware output.
Roll up your sleeves and assemble a button kit with an Intel Edison, wires, switches, lights, and a breadboard.
Create and document a build plan for assembling a breadboard-based device using Eddison and Arduino, including wiring diagrams, power and ground buses, switches, resistors, LCD, and a PC speaker.
Assemble a breadboard button circuit by placing switches, 10k resistors, 220 ohm resistors, an LCD, and a buzzer, then connect ground and jumper wires.
Install five jumper wires on the breadboard to connect the button tapper, two switches, the LCDs, and the buzzer to the vcc and ground rails, using row and column wiring.
Wire the Edison to a breadboard with +5, ground, and signal lines to pins 13, 12, 8, and 7, then connect switches, leds, a resistor, and a buzzer.
Write firmware to configure hardware, initialize from local variables, and connect to the cloud, then run main loop that monitors inputs, generates outputs, and sends cloud commands on button presses.
Initialize the IO pins, read the GPIO state for switch 1, and test inputs using a GPO context while noting switch bounce and the need for a timer.
Test outputs by configuring a GPO port and using MRA to drive a light with the button: on when held, off when released; plan adding timers for multi-press counts.
Implement a get system time utility using clock_gettime to measure elapsed seconds and use sleep to give back time to the system, conserving battery, in the button tablet firmware.
Explore the button tapper 3000 firmware for the internet of things, covering simple json parsing, startup sequences, device configuration files, and cloud messaging integration.
Set up the cloud connection for a button device by creating installation, connection, and request tables, and push device data and button events to the cloud using parse.
Learn how the button Tapper 3000 polls the cloud every five seconds for new commands, queries parse.com for the latest messages, and triggers lights or a buzzer.
Power up the BT3K firmware via terminal, confirm lights and beeps, then troubleshoot switch connections and ensure the button tapper alerts the cloud.
Build an iOS app with a two-view architecture that mirrors the Button Tapper 3000 firmware, simulating button input and LEDs, wiring up Xcode and writing code to run the loop.
Examine how the iOS app simulates two buttons, uses the internal haptic motor for buzzing, and configures which button tapper 3000 device connects via the cloud.
Walk through implementing the BT3K logic on iOS in stages: wiring buttons and ltds, updating status to the cloud and parse, then receiving cloud status and setting per-button peers.
Update the status to the cloud by using the Parse SDK to create a PFObject, set fields, authenticate with the App ID and client key, and save in background.
Retrieve data from the cloud using a timer driven PFQuery, process commands to flash lights and buzz, and configure button tappers via a settings screen for a complete iOS app.
Explore how button tap analytics reveal user behavior on a Kickstarter IoT device, while implementing security through same-subnet communication, IP tracking, updates, encryption considerations, and token-based authentication.
Explore device identity across firmware and apps, including uniquely identifying hardware with a uuid, owner identity, and cloud credentials, plus user authentication and tokens for backend access.
Ensure reliability for production IoT devices through stress tests and field validations. Coordinate firmware updates via smartphone app, and provide a last known good restore option.
Analyze analytics and metadata to understand how users interact with the device and ensure proper operation. Use cloud analysis, request tables, and dashboards to monitor button presses and timing.
Move from prototype to production by addressing manufacturing realities, removing debug interfaces like JTA or Esti link, disabling serial interfaces and logging, and securing keys via cloud or a co-processor.
Learn how Kickstarter fits into crowdfunding for IoT projects, compare it with other funding options, and study campaigns that use timelines, videos, prototypes, and backer engagement.
Assemble Kickstarter assets by detailing a production plan. Create a demo and vision video, a standout image, and design rewards with a story, stretch goals, and SDK access.
Create a robust Kickstarter campaign for your IoT device by outlining a business plan, budget, and schedule; build pre-launch marketing, a compelling story, and a clear rewards strategy.
What do the Apple Watch, Nest thermostat, Amazon Echo, and the Pebble smartwatch have in common? They’re all “things” in the Internet of Things, a worldwide network of soon-to-be- 40 Billion devices communicating with each other, the cloud and our phones.
This course will lead you through the design, development and prototyping of a representative “Thing” and show you how to prepare to launch a crowd funding campaign to finance production.
Starting with an exploration of what is the Internet of Things and what exactly a “Thing” is, students will learn the steps from idea to prototype including: