IoT project links for 2018

Internet is full of intetesting IoT projects built using Arduino, Raspberry Pi, ESP8266, ESP32, and many other hardware platforms. I will collect links to intetesting IoT projects to comments. 

Feel free to post your best IoT project links to comments…


  1. Tomi Engdahl says:

    Brick Breaker on ESP8266 – webpage controlled
    Runs on ESP8266 (Webserver) and is controlled via Webpage (PC, mobile)

  2. Tomi Engdahl says:

    3D Print a Home Automation Switch

    The 3D printed switch fits a standard box and uses the guts of a Sonoff controller. These work with all the popular ecosystems such as Alexa and Google Home. And they are cheap. Like, really cheap. If you already have a 3D printer, even counting the cost of the filament these are going to be a small fraction of the cost of a commercial switch. You can see a video about the device, below.

    In-Wall Sonoff Light Switch v2

  3. Tomi Engdahl says:

    Solenoids and Servos for Self Actuated Switches

    The new hotness in home automation is WiFi controlled light switches. Sure, we’ve had computer-controlled home lighting for literally forty years with X10 modules, but now we have VC money pouring into hardware, and someone needs to make a buck. A few years ago, [Alex] installed WiFi switches in a few devices in his house and discovered the one downside to the Internet of Light Switches — his light switches didn’t have a satisfying manual override. Instead of cursing the darkness for want of an Internet-connected candle, [Alex] did the only sensible thing. He installed electromagnets, solenoids, and servos behind the light switches in his house.

    Self actuated programmable switch

  4. Tomi Engdahl says:

    Over The Air Updates For Your Arduino

    An Arduino and a data radio can make a great remote sensor node. Often in such situations, the hardware ends up installed somewhere hard to get to – be it in a light fitting, behind a wall, or secreted somewhere outdoors. Not places that you’d want to squeeze a cable repeatedly into while debugging.

    Using the NRF24L01 chip with the Arduino is a popular choice to add wireless communications to a small project. By installing one of these radios on both the remote hardware and a local Arduino connected to the programming computer, it’s possible to remotely flash the Arduino without any physical contact whatsoever using Optiboot.

  5. Tomi Engdahl says:

    MicroPython learns a new trick – ISP for AVRs

    One of the reasons why the Arduino became so popular was the ability to program it with ease. It meant the end of big parallel programmers that would cost an arm and a leg. The latest installment of CircuitPython from [Lady Ada] and the team over at Adafruit is a library for programming AVR microcontrollers without a dedicated PC.

  6. Tomi Engdahl says:

    Pepper Mill Locks Your Door

    Pepper! If you’ve ever tried to grind it, you’ve probably noticed it takes a bit of elbow grease. It’s actually possible to source electric pepper mills to grind it for you, in fact. It just so happens that [MarioM66] had one to hand, and a door lock that needed automating.

    Seeing as grinding pepper requires at least as much torque as turning an average key in an average lock, the electric pepper mill makes perfect sense to use as a lock actuator. This build actually uses the electric pepper mill to directly turn the key in the lock, courtesy of an adapter to couple the square output shaft to the key.

    The adapter was crafted out of a moldable plastic called MultiMorph.

    Gesture Controlled Door Lock With Arduino and Electric Peppermill

  7. Tomi Engdahl says:

    ESP32 Greenhouse Monitor

    Collect temp/humidity, soil moisture, sunlight data to be stored on local web server

  8. Tomi Engdahl says:

    Sharpening with Bluetooth

    Few things are as frustrating in the kitchen as a dull knife. [Becky] and her chef friend collaborated to build a Bluetooth module to tell you when you are sharpening a knife at the optimum angle. That might sound a little specialized, but the problem boils down to one that is common enough in a lot of situations: how do you tell your exact orientation while in motion? That is, with the knife moving rapidly back and forth over the sharpening stone, how can you measure the angle of the blade reliably?

    Knife Sharpening Angle Coach With Bluetooth & Arduino

  9. Tomi Engdahl says:

    The Internet of Three-Pointers

    The genesis of this IoT basketball hoop was in fact an inflatable ball on [Brandon Rice]’s desk that he felt would be more fun to fidget with if he could keep score.

  10. Tomi Engdahl says:

    HairIO: An Interactive Extension of the Self

    Most of what we see on the wearable tech front is built around traditional textiles, like adding turn signals to a jacket for safer bike riding, or wiring up a scarf with RGB LEDs and a color sensor to make it match any outfit. Although we’ve seen the odd light-up hair accessory here and there, we’ve never seen anything quite like these Bluetooth-enabled, shape-shifting, touch-sensing hair extensions created by UC Berkeley students [Sarah], [Molly], and [Christine].

    HairIO: Hair As Interactive Material

  11. Tomi Engdahl says:

    Evolution of the ESP8266 Party Button

    That’s what happened when [Ryan] decided to build a wireless “party button” for his kids. Tied into his Home Assistant automation system, a smack of the button plays music throughout the house and starts changing the colors on his Philips Hue lights. His initial version worked well enough, but in the video after the break, he walks through the evolution of this one-off gadget into a general purpose IoT interface he can use for other projects.

    Instant Party Button

  12. Tomi Engdahl says:

    Reprogramming Cheap WiFi Outlets

    If you want to retrofit your home with smart outlets and lightbulbs, bust out your wallet. You can easily spend forty dollars for a smart light bulb at your local home supply store, and strips of smart sockets could cost sixty. When [coogle] found a WiFi-enabled four-outlet power strip on Amazon, he couldn’t resist. Sure, the no-name strip would be locked down behind a stupid iPhone interface and will probably turn your house into a botnet, but never mind that: you can easily reprogram these power strips to be whatever you want.

    Reprogramming a $30 WiFi Switch with CoogleIOT

  13. Tomi Engdahl says:

    Program an IoT pushbutton with a DIY Blynk Board
    Learn to create and control a virtual LED.

    In my previous article, I explained how to set up a DIY Blynk Board using an ESP8266 based microcontroller. Blynk is an easy way to start creating Internet of Things projects. It’s not tied to any specific board, so you can use the platform to control Arduino, Raspberry Pi, and other hardware of your choice over the internet.

    project: using a button connected to the Blynk Board to toggle a virtual “LED” in the app

  14. Tomi Engdahl says:

    Provisioning MS Azure and the MXChip for the Internet of Things with Chirps

    Chirp started off as a mobile application, a platform for exchanging data using sound. Give the app a link, a piece of text, or an image, and it will “chirp” a sound which can be decoded by anyone else using the app and points to the data on Chirp’s servers. They then went on released an SDK enabling you to use Chirps to transfer data via audio on embedded devices like the Arduino.

  15. Tomi Engdahl says:

    Google Vision: Camera Tell

    An assertive technology camera that reads the content of photographs, recognizes logos, and even feeds back on human emotions and feelings.

  16. Tomi Engdahl says:

    How to Detect Harmful Gases in Your Home with ThingSpeak

    Here’s how to use the open-source ThingSpeak platform to create a homemade detector for harmful gases like carbon monoxide.

    This project allows wireless monitoring of up to eight remotely located sensors using an HC-12 wireless transceiver and a simple protocol, which supports both outbound remote control and inbound status and data to be forwarded and displayed in a ThingSpeak platform. The project includes a remoted, Arduino-based, MQ-7 carbon monoxide (CO) sensor with a matching HC-12 transceiver. The idea is to provide a central D1 Mini, ESP8266-based monitor with local display and a ThingSpeak interface for detecting odorless propane, butane, and volatile liquids and fuels in facilities or even in your place of work or living.

    Several MQ series gas sensors are available for Arduino that detect many more common gases including CO, propane and natural gas, and ammonia (the MQ-37).

    The Arduino-based remote hardware takes care of the heater cycling and includes a DHT22 temperature and humidity sensor both reported and available to be used for the CO sensor calibration. The remote controller also provides the received request link processing over a HC-12 serial link. The HC-12 can be configured to any of 100 channels and can operate at over 1000 feet.

    That controller is coded to provide a scheduler and the WiFi uplink to the ThingSpeak platform. It uses a serial-based configuration to set up to six application-based parameters and receive up to four characteristics forwarded to the ThingSpeak. The HC-12-based link can be connected to any sensor or other remote applications supporting the link protocol.

  17. Tomi Engdahl says:

    Graphical Programming for Your Own IoT Board

    Wanna have Scratch-style programming for your IoT board? Let me introduce you Entry, an open-source software that you can easily customize.

    Ladies and gentlemen, I would like to introduce you Entry, a Scratch-style graphical programming platform.

    From Entry homepage: Entry is an education platform created to help anyone learn to code. Students are able to learn to code while playing. Teachers are able to teach and manage students effectively.
    This open-source software program comes from Korea, developed and maintained by Entry Labs. It is written in HTML5 and JavaScript.

    The system architecture of Entry is quite similar to Scratch, except that here they provide an official Hardware Connector app for users.

    There are two core modules in Entry: Entry-js and Entry-hw.

    + Entry-js is the editor work-space module. If you want to create new programming blocks or modify user interface, you will need to check this module.

    + Entry-hw, or Entry Hardware Connector module, is used to allow Entry editor interact with hardware devices.

    By design concept, Entry editor can be loaded on web browsers, however, due to security reason, web browsers can not interact directly with serial COM port, so that’s why a hardware connector app is needed. They already supported tons of hardware devices in Entry-hw, but if yours is not on the list, you can add and define the communication interface for your device.

    Because with PHPoC device I am using, I can connect it with Entry editor via WebSocket (no security restriction tho), so there is no need of serial port connection neither Hardware connector app.!/about

  18. Tomi Engdahl says:

    WiFi-Enabled Smart Meter Reader

    This device will capture the data from the smart (energy) meter and publish the values via a webserver to the user.

  19. Tomi Engdahl says:

    IoT Pool Monitoring With ThingsBoard

    This will show how to monitor pH, ORP, and temperature of a pool or spa and upload the data to

  20. Tomi Engdahl says:

    Building a Sensor Network for an 18th Century Gristmill © GPL3+

    Monitoring 100 year old factory processes are hard, but it gets easier, safer and more reliable with a network of nRF24L01 RF transmitters.

    The nRF24L01 module is a radio frequency transmitter that is capable of sending and receiving data to other NRF24 modules. The RF24 modules can be hooked up to an Arduino Nano

    RF24 modules can be powered at 5 volts but its recommended that you power it at 3.3 volts.

    The antenna modification boosts the range of a stock RF24 Module from a 5-10 foot range to 20 or 30 feet.

    To bring the system, each network needs a base node where all the data is routed too. In my project, I use a node connected to a Raspberry Pi over serial cable.

    Node and Base Programming
    For this project, I exclusively used the RF24Network library (created by Tmrh20) to handle the RF24 messaging. The RF24Network library allows you to structure a network of nodes in a tree structure.

    The larger objectives for my project are to take measurements inside a grain bin to figure out how full it is, monitor the 0-10v dc output of an AC Tech SMVector controller, and take temperature and humidity readings of various parts of the building.

    To measure the depth of grain bins, I installed ultrasonic sensors on the top of grain bins

    The DHT11 is used to measure temperature and humidity throughout the factory building.

    The network allows us to monitor the current remotely so if we see this value steadily rising, we can close the feeding mechanism manually before the mill begins to overload.

    Python Server Program
    After a message is sent from an RF24 node in the network, the message is routed to the base node (address 00) and is then sent, as a string, to a Raspberry Pi over a serial cable.

    an RF24 Network that could monitor different parts of our factory from one central place. Through the use of the RF24 module, Arduino Nano and various sensors I was able to complete my goal

  21. Tomi Engdahl says:

    IoT4Car © CC BY

    MKR WiFi 1000 talks to a car through OBD-II interface, and uploads the data to IoT cloud for real-time monitoring and post-processing.

  22. Tomi Engdahl says:

    Portable Warehouse/Control Shed/Greenhouse Monitoring © Apache-2.0

    A prototype for Industrial IoT system to enhance warehouse/greenhouse monitoring using MKR GSM1400 and Hologram.

    Humidity and temperature monitoring is a very important factor in salt/dairy warehouses, greenhouses, as well as in homes. Instead of taking manual readings from digital meters, I plan to make a device which will automatically stream real-time statistics of warehouses (temperature/humidity) to the Hologram Cloud and ThingSpeak Cloud using Arduino MKR GSM 1400. By this way, we can get real-time result anywhere any time and take decisions on time to save products from damage.

  23. Tomi Engdahl says:

    Voice Controlled Stereo Balance With ESP8266

    A stereo setup assumes that the listener is physically located between the speakers, that’s how it can deliver sound equally from both sides. It’s also why the receiver has a “Balance” adjustment, so the listener can virtually move the center point of the audio by changing the relative volume of the speakers. You should set your speaker balance so that your normal sitting location is centered, but of course you might not always be in that same position every time you listen to music or watch something.

    [Vije Miller] writes in with his unique solution to the problem of the roving listener. He’s come up with a system that can adjust the volume of his speakers without having to touch the receiver’s setup, in fact, he doesn’t have to touch anything. By leveraging configurable voice control software running on his computer, his little ESP8266-based devices do all the work.

    Center Surround Sound
    Make You The Center of Your World

  24. Tomi Engdahl says:

    ‘SHE BON’ is an Artful, Wearable, Sensual, Sensing Platform

    SHE BON (that’s the French bon, or “good”) is an ambitious project by [Sarah Petkus] that consists of a series of wearable electronic and mechanical elements which all come together as a system for a single purpose: to sense and indicate female arousal. As a proponent of increased discussion and openness around the topic of sexuality, [Sarah]’s goal is to take something hidden and turn it into something obvious and overt, while giving it a certain artful flair in the process.

    ! a platform for sensing and indicating human arousal !

  25. Tomi Engdahl says:


    A 1″ squared ESP32 module that natively takes LiPo batteries, charges them, and doesn’t kill them.

    View Gallery
    Team (1)


    Join this project’s team
    ongoing project
    ESP32 Oshpark mesh mesh networking lithium Battery LiPo esp32-pico-d4 wifi
    This project is submitted for

    The Return of the Square Inch Project

    This project was created on 08/17/2018 and last updated 3 days ago.
    An ESP32 module.
    Included is a lithium battery charge circuit, lithium protection circuit, power supply, and antenna, all in a 1 inch by 1 inch package.

    The battery/power circuitry is surprisingly complex, and I haven’t see it properly implemented yet in any hobbyist application. This project will not kill your batteries.

  26. Tomi Engdahl says:

    Combining IoT and Blockchain Using Simple Python

    This tutorial will be exploring the potential of combining IoT and blockchain using simple Python directly on microcontrollers.

  27. Tomi Engdahl says:

    Octopod: Smart IoT Home/Industry Automation Project © GPL3+

    Octopod, a uniquely shaped full automation system that allows you to monitor your industry and keep security with AI and smart RFID locks.

  28. Tomi Engdahl says:

    SENSEation Shows The Importance of Good Physical Design

    Sensor network projects often focus primarily on electronic design elements, such as architecture and wireless transmission methods for sensors and gateways. Equally important, however, are physical and practical design elements such as installation, usability, and maintainability. The SENSEation project by [Mario Frei] is a sensor network intended for use indoors in a variety of buildings, and it showcases the deep importance of physical design elements in order to create hardware that is easy to install, easy to maintain, and effective. The project logs have an excellent overview of past versions and an analysis of what worked well, and where they fell short.

    Modular sensing platform for research

  29. Tomi Engdahl says:

    IoT Face Tracking and Recognition © LGPL

    the project is based on the tracking and recognition of faces. If it detects a face, it focuses it within a red frame. If it recognizes it in a lower percentage, the focus is within a yellow frame, and if the percentage is high or very high, it focuses it within a green frame.

  30. Tomi Engdahl says:

    Desired State Configuration for Circuits

    Blinking an LED using a Domain Specific Language applied through a Module Twin to a Docker container running Johnny 5 on a Raspberry Pi.

    Azure IoT Edge allows for intermittent connected devices to obtain desired properties through “Module Twins.” These twins can be used as a desired state configuration to drive specific behavior within Edge Modules. Edge Modules run as container workloads to allow self-healing and rapid deployment without need for constant connectivity. When internet is available, devices can take advantage of cloud services to call methods within modules.

    In this project, we develop an IoT Edge Module using the Azure IoT NodeJS SDK which obtains a desired state from the cloud that configures the GPIO pins on a Raspberry Pi to perform desired operations on an attached circuit using Johnny 5.

  31. Tomi Engdahl says:

    How to Build an Intelligent IoT Gateway in 7 Easy Steps

    The main components of the gateway are:

    Red Hat Enterprise Linux: Provides enterprise-class foundation
    Red Hat JBoss A-MQ: Arbitrates sensor data
    Red Hat JBoss Fuse: Transforms sensor data and routes it to end points
    Red Hat JBoss BRMS: Enables real-time decision making at the edge

  32. Tomi Engdahl says:

    How to secure our devices using SSL (ESP8266, ESP32, Tutorial)

    Most of our IOT devices are insecure and vulnerable. It’s high time to learn how to make them more secure, also because unsecured devices will no more be able to use valuable services without using the HTTPS protocol. Already now, Google services, for example, do no more accept unsecured connections. But is it complicated? Let’s find out!

    Our ESP8266 and ESP32s support such secure connections. In this video, I will show you, how to change your unsecured sketches it in a few simple steps.

  33. Tomi Engdahl says:

    Maker Monday: Smart Mailbox

    Despite all the advancements in technology, we still get old-fashioned mail delivered to our (physical) mailboxes by a mailman. It’s a process that is completely analog, and it has its drawbacks. For example: what if you can’t see your mailbox from your favorite living room sofa?

    So, in the latest episode of Maker Monday, Björn shows us how to digitize an analog mailbox to notify you when you get mail.

    Part 1: Setting up the Mailbox

    Björn goes about it by putting sensors in the mailbox to register when either the top or bottom door has been opened. The microcontroller then connects to your MQTT broker to indicate that one of the doors has been opened.

    Björn also explains why he chose the DFRobot FireBeetle ESP32 microcontroller.

    Part 2: Configuring Home Assistant
    The next step? To integrate the mailbox with Home Assistant so that it recognizes which door has been opened. We also make sure we get a visual notification when new mail has arrived (our Trådfri light from a previous episode lights up).

  34. Tomi Engdahl says:

    How to do Simple Home Automation with Amazon Alexa || ESP8266

    In this video I will show you how we can easily control the output of a µC with Amazon Alexa. Along the way I will show you what software to use and which hardware is suitable to switch mains voltage. And at the end I will present you a practical example of home automation by controlling the lights in a corridor.

    Blynking an IoT Yunshan ESP8266 250V 10A AC/DC WIFI Network Relay Module

  35. Tomi Engdahl says:

    Using IoT to Remotely Control a Robotic Arm © MIT

    Controlling a robotic arm to pick up and drop objects is difficult enough, without IoT it would be near impossible to do this remotely.

  36. Tomi Engdahl says:

    Arduino Robot w/ GoPro and FPV iPhone Control via Bluetooth

    Arduino robot with GoPro camera and FPV function controlled from iPhone via Bluetooth or obstacle avoidance with ultrasonic sensor.

  37. Tomi Engdahl says:

    Hacking Wearables for Mental Health and More

    Presenting the “Tingle” wearable for compulsive behaviors and a hacked fitness tracker wearable device prototyping platform.

  38. Tomi Engdahl says:

    Another Drawbot Uses A Pi And Web Sockets

    There’s something about art. Cavemen drew on walls. People keep programming drawing robots. One we’ve seen recently is [Andy’s] Drawbot that uses WiFi and WebSockets to draw on just about any flat surface. What’s more, the Johnson County Library has a great write-up about how they built one and if you want a go at it, you’ll find their instructions very helpful. The video below is pretty inspirational, too.

  39. Tomi Engdahl says:

    Homemade Smartwatch Features Beautifully Simple Interface

    The watch itself takes the form of a small PCB, with an OLED display on the top as an interface and a small LiPo battery for power. Processing is provided by an ESP8266 ESP12-E module which connects to the Internet to control appliances via Blynk. Time and date is gleaned from the Network Time Protocol (NTP), and temperature is taken from the Yahoo Weather API.

    Code, schematics, and PCB files are available on GitHub.

  40. Tomi Engdahl says:

    Introducing OpenGarage: an Open-Source WiFi Garage Door Opener using ESP8266

    This video introduces OpenGarage, an open-source, universal garage door opener built-on the ESP8266 WiFi chip and Blynk app. For details, visit


Leave a Comment

Your email address will not be published. Required fields are marked *