There are many so-called 'Arduino compatible' platforms on the market. The ESP8266 – in the form of the WeMos D1 Mini Pro – is one that really stands out. This device includes WiFi Internet access and the option of a flash file system using up to 16 MB of external flash memory. Furthermore, there are ample in/output pins (though only one analogue input), PWM, I²C, and one-wire. Needless to say, you are easily able to construct many small IoT devices!
This book contains the following builds:
A colourful smart home accessory
refrigerator controller
230 V power monitor
door lock monitor
and some further spin-off devices.
All builds are documented together with relevant background information for further study. For your convenience, there is a small PCB for most of the designs; you can also use a perf board. You don’t need to be an expert but the minimum recommended essentials include basic experience with a PC, software, and hardware, including the ability to surf the Internet and assemble PCBs.
And of course: A handle was kept on development costs. All custom software for the IoT devices and PCB layouts are available for free download from at Elektor.com.
Affordable solutions with the ESP8266 and 3D printing
If you are looking for a small yet powerful IoT device, you are likely to come across the ESP8266 and compatible products on the market today. One of these, the Wemos/Lolin D1 Mini Pro board strikes a remarkable balance between cost and performance. A small and very affordable prototype board, the D1 Mini Pro stands out with its WiFi functionality and a 16-Mbytes flash memory for easy creation of a flash file system. In addition, there are sufficient input and output pins (only one analog input though) to support PWM, I²C, and One-Wire systems to mention but a few. The book describes the operation, modding, construction, and programming of home appliances including a colorful smart home accessory, a refrigerator/greenhouse controller, an AC powerline monitor, a door lock monitor, and an IKEA Trådfri controller.
As a benefit, all firmware developed for these DIY, "IoT-ized" devices can be updated over-the-air (OTA).
For most of the designs in the book, a small printed circuit board (PCB) and an enclosure are presented so readers can have a finished and attractive-looking product. Readers having – or with access to! – a 3D printer can "print" the suggested enclosures at home or in a shop.
Some of the constructions benefit from a Raspberry Pi configured as a gateway or cms server. This is also described in detail with all the necessary configuring.
You don’t need to be an expert but the prerequisites to successful replication of the projects include basic skills with PC software including the ability to surf the Internet. In terms of hardware, you should be comfortable with soldering and generally assembling the PCBs presented in the book.
All custom software written for the IoT devices, the PCB layouts, and 3D print files described in the book are available for free downloading.
Recently, the development of a tiny chip called the ESP8266 has made it possible to interface any type of microcontroller to a Wi-Fi AP. The ESP8266 is a low-cost tiny Wi-Fi chip having fully built-in TCP/IP stack and a 32-bit microcontroller unit. This chip, produced by Shanghai based Chinese manufacturer Espressif System, is IEEE 802.11 b/g/n Wi-Fi compatible with on-chip program and data memory, and general purpose input-output ports. Several manufacturers have incorporated the ESP8266 chip in their hardware products (e.g. ESP-xx, NodeMCU etc) and offer these products as a means of connecting a microcontroller system such as the Android, PIC microcontroller or others to a Wi-Fi. The ESP8266 is a low-power chip and costs only a few Dollars.
ESP8266 and MicroPython – Coding Cool Stuff is an introduction to the ESP8266 chip and describes the features of this chip and shows how various firmware and programming languages such as the MicroPython can be uploaded to the chip. The main aim of the book is to teach the readers how to use the MicroPython programming language on ESP8266 based hardware, especially on the NodeMCU.
Several interesting and useful projects are given in the book to show how to use the MicroPython in NodeMCU type ESP8266 hardware:
Project “What shall I wear today?”: You will be developing a weather information system using a NodeMCU development board together with a Text-to-Speech processor module.
Project “The Temperature and Humidity on the Cloud”: You will be developing a system that will get the ambient temperature and humidity using a sensor and then store this data on the cloud so that it can be accessed from anywhere.
Project “Remote Web Based Control”: You will be developing a system that will remotely control two LEDs connected to a NodeMCU development board using an HTTP Web Server application.
The unPhone is an open-source IoT development platform powered by the ESP32S3 microcontroller. It features integrated LoRa, Wi-Fi, and Bluetooth connectivity, a touchscreen, and a LiPo battery, offering a robust and versatile solution for IoT development. Its compatibility with Adafruit's FeatherWing standard enables easy expansion, making it an ideal choice for educators, makers, and developers seeking a flexible and user-friendly platform.
Features
ESP32S3 microcontroller (with 8 MB flash and 8 MB PSRAM)
LoRaWAN licence-free radio communication (plus the ESP32's excellent wifi and bluetooth support)
3.5" (320 x 480) LCD capacitive touchscreen for easy debugging and UI creation
IR LEDs for surreptitiously switching the cafe TV off
1200 mAh LiPo battery with USB-C charging
Vibration motor for notifications
Compass/Accelorometer
A robust case
SD card slot
Power and reset buttons
Programmable in C++ or CircuitPython
Expander board that supports two Featherwing sockets and a prototyping area
Open source firmware compatible with the Arduino IDE, PlatformIO and Espressif's IDF development framework
Included
unPhone (assembled)
Expander board
FPC cable (to link the expander board to unPhone)
Self adhesive mounts for the expander board
Code Examples
C++ library
Kick the tyres on everything in the box
The main LVGL demo
CircuitPython
Support forum
Textbook (especially chapter 11)
Note: NodeMCU is the name of both a firmware and a boardNodeMCU is an open source IoT platform, whose firmware runs on Espressif's SoC Wi-Fi ESP8266, based on the ESP8266 nonOS SDK. Its hardware is based on the ESP-12 module. The scripting language is Lua which allows to use many open source projects like lua-cjson and spiffs. Features Wi-Fi Module – ESP-12E module similar to ESP-12 module but with 6 extra GPIOs. USB – micro USB port for power, programming and debugging Headers – 2x 2.54 mm 15-pin header with access to GPIOs, SPI, UART, ADC, and power pins Reset & Flash buttons Power: 5V via micro USB port Dimensions: 49 x 24.5 x 13 mm
The SparkFun DataLogger IoT (9DoF) is a data logger that comes preprogrammed to automatically log IMU, GPS, and various pressure, humidity, and distance sensors. All without writing a single line of code! The DataLogger automatically detects, configures, and logs Qwiic sensors. It was specifically designed for users who just need to capture a lot of data to a CSV or JSON file and get back to their larger project. Save the data to a microSD card or send it wirelessly to your preferred Internet of Things (IoT) service!
Included on every DataLogger IoT is an IMU for built-in logging of a triple-axis accelerometer, gyro, and magnetometer. Whereas the original 9DOF Razor used the old MPU-9250, the DataLogger IoT uses the ISM330DHCX from STMicroelectronics and MMC5983MA from MEMSIC. Simply power up the DataLogger IoT, configure the board to record readings from supported devices, and begin logging! Data can be time-stamped when the time is synced to NTP, GNSS, or RTC.
The DataLogger IoT is highly configurable over an easy-to-use serial interface. Simply plug in a USB-C cable and open a serial terminal at 115200 baud. The logging output is automatically streamed to both the terminal and the microSD card. Pressing any key in the terminal window will open the configuration menu.
The DataLogger IoT (9DoF) automatically scans, detects, configures, and logs various Qwiic sensors plugged into the board (no soldering, no programming!).
Specifications
ESP32-WROOM-32E Module
Integrated 802.11b/g/n WiFi 2.4 GHz transceiver
Configurable via CH340C
Operating voltage range
3.3 V to 6.0 V (via VIN)
5 V with USB (via 5 V or USB type C)
3.6 V to 4.2 V with LiPo battery (via BATT or 2-pin JST)
Built-in MCP73831 single cell LiPo charger
Minimum 500 mA charge rate
3.3 V (via 3V3)
MAX17048 LiPo Fuel Gauge
Ports
1x USB-C
1x JST style connector for LiPo battery
2x Qwiic enabled I²C
1x microSD socket
Support for 4-bit SDIO and microSD cards formatted to FAT32
9-axis IMU
Accelerometer & Gyro (ISM330DHCX)
Magnetometer (MMC5983MA)
LEDs
Charge (CHG)
Status (STAT)
WS2812-2020 Addressable RGB
Jumpers
IMU interrupt
Magnetometer interrupt
RGB LED
Status LED
Charge LED
I²C pull-up resistors
USB Shield
Buttons
Reset
Boot
Dimensions: 1.66 x 2.0' (4.2 x 5.1 cm)
Weight: 10.7 g
Downloads
Schematic
Eagle Files
Board Dimensions
Hookup Guide
CH340 Drivers
Firmware
GitHub Hardware Repo
The ESP8266 is an impressive, low cost WiFi module suitable for adding WiFi functionality to an existing microcontroller project via a UART serial connection. The module can even be reprogrammed to act as a standalone WiFi connected device – just add power! 802.11 b/g/n protocol Wi-Fi Direct (P2P), soft-AP Integrated TCP/IP protocol stack This module is a self-contained SOC (System On a Chip) that doesn’t necessarily need a microcontroller to manipulate inputs and outputs as you would normally do with an Arduino , for example, because the ESP-01 acts as a small computer. Thus, you can give a microcontroller internet access like the Wi-Fi shield does to the Arduino, or you can simply program the ESP8266 to not only have access to a Wi-Fi network, but to act as a microcontroller as well, which makes the ESP8266 very versatile.
Recently, the development of a tiny chip called the ESP8266 has made it possible to interface any type of microcontroller to a Wi-Fi AP. The ESP8266 is a low-cost tiny Wi-Fi chip having fully built-in TCP/IP stack and a 32-bit microcontroller unit. This chip, produced by Shanghai based Chinese manufacturer Espressif System, is IEEE 802.11 b/g/n Wi-Fi compatible with on-chip program and data memory, and general purpose input-output ports. Several manufacturers have incorporated the ESP8266 chip in their hardware products (e.g. ESP-xx, NodeMCU etc) and offer these products as a means of connecting a microcontroller system such as the Android, PIC microcontroller or others to a Wi-Fi. The ESP8266 is a low-power chip and costs only a few Dollars.
ESP8266 and MicroPython – Coding Cool Stuff is an introduction to the ESP8266 chip and describes the features of this chip and shows how various firmware and programming languages such as the MicroPython can be uploaded to the chip. The main aim of the book is to teach the readers how to use the MicroPython programming language on ESP8266 based hardware, especially on the NodeMCU.
Several interesting and useful projects are given in the e-book (pdf) to show how to use the MicroPython in NodeMCU type ESP8266 hardware:
Project “What shall I wear today?”: You will be developing a weather information system using a NodeMCU development board together with a Text-to-Speech processor module.
Project “The Temperature and Humidity on the Cloud”: You will be developing a system that will get the ambient temperature and humidity using a sensor and then store this data on the cloud so that it can be accessed from anywhere.
Project “Remote Web Based Control”: You will be developing a system that will remotely control two LEDs connected to a NodeMCU development board using an HTTP Web Server application.
The MKR IoT Carrier comes equipped with 5 RGB LEDs, 5 capacitive touch buttons, a colored display, IMU and a variety of quality sensors. It also features a battery holder for a 18650 Li-Ion battery, SD card holder and Grove connectors.
Data Capture: Map the environment around the carrier using the integrated temperature, humidity, and pressure sensors and collect data about movement using the 6 axis IMU and light, gesture, and proximity sensors. Easily add more external sensors to capture more data from more sources via the on-board Grove connectors (x3).
Data Storage: Capture and store all the data locally on an SD card, or connect to the Arduino IoT Cloud for real-time data capture, storage, and visualization.
Data Visualisation: Locally view real-time sensor readings on the built-in OLED Color Display and create visual or sound prompts using the embedded LEDs and buzzer.
Total Control: Directly control small-voltage electronic appliances using the onboard relays and the five tactile buttons, with the integrated display providing a handy on-device interface for immediate control.
The board's main processor is a low-power Arm® Cortex®-M0 32-bit SAMD21. The WiFi and Bluetooth® connectivity is performed with a module from u-blox, the NINA-W10, a low-power chipset operating in the 2.4GHz range. On top of that, secure communication is ensured through the Microchip® ECC608 crypto chip. Besides that, you can find a 6 axis IMU, which makes this board perfect for simple vibration alarm systems, pedometers, the relative positioning of robots, etc. WiFi and Arduino IoT Cloud You can get your board to connect to any kind of existing WiFi network, or use it to create your own Arduino Access Point. The specific set of examples we provide for the Nano 33 IoT can be consulted at the WiFiNINA library reference page. It is also possible to connect your board to different Cloud services, Arduino's own among others. Here are some examples of how to get the Arduino boards to connect to:
Arduino's own IoT Cloud: Arduino's IoT Cloud is a simple and fast way to ensure secure communication for all of your connected Things. Check it out here.
Blynk: a simple project from our community connecting to Blynk to operate your board from a phone with little code.
IFTTT: see an in-depth case of building a smart plug connected to IFTTT.
AWS IoT Core: we made this example on how to connect to Amazon Web Services.
Azure: visit this GitHub repository explaining how to connect a temperature sensor to Azure's Cloud.
Firebase: you want to connect to Google's Firebase, this Arduino library will show you how. Microcontroller SAMD21 Cortex®-M0+ 32bit low power ARM MCU Radio Module u-blox NINA-W102 Secure Element ATECC608A Operating Voltage 3.3 V Input Voltage 21 V Digital I/O Pins 14 PWM Pins 11 DC Current per I/O Pin 7 mA Analog Input Pins 8 Analog Output Pins 1 External Interrupts all digital pins UART 1 SPI 1 I2C 1 Flash Memory 256 KB SRAM 32 KB EEPROM none Clock Speed 48 MHz LED_Builtin 13 USB Native in the SAMD21 Processor IMU LSM6DS3 Length 45 mm Width 18 mm Weight 5 g
Ready-to-use devices and self-built Arduino nodes in the 'The Things Network' LoRaWAN has developed excellently as a communication solution in the IoT. The Things Network (TTN) has contributed to this. The Things Network was upgraded to The Things Stack Community Edition (TTS (CE)). The TTN V2 clusters were closed towards the end of 2021. This book shows you the necessary steps to operate LoRaWAN nodes using TTS (CE) and maybe extend the network of gateways with an own gateway. Meanwhile, there are even LoRaWAN gateways suitable for mobile use with which you can connect to the TTN server via your cell phone. The author presents several commercial LoRaWAN nodes and new, low-cost and battery-powered hardware for building autonomous LoRaWAN nodes. Registering LoRaWAN nodes and gateways in the TTS (CE), providing the collected data via MQTT and visualization via Node-RED, Cayenne, Thingspeak, and Datacake enable complex IoT projects and completely new applications at very low cost. This book will enable you to provide and visualize data collected with battery-powered sensors (LoRaWAN nodes) wirelessly on the Internet. You will learn the basics for smart city and IoT applications that enable, for example, the measurement of air quality, water levels, snow depths, the determination of free parking spaces (smart parking), and the intelligent control of street lighting (smart lighting), among others.