The document compares options for embedded computing hardware components for an IoT smart power socket product. It evaluates the ATmega328P microcontroller with CC3100 WiFi module, Electric Imp imp002 board, and ESP8266 WiFi SoC. The ATmega328P/CC3100 combination is recommended due to flexibility, support for customization, and reliability needed to control home appliances remotely. Prototyping is needed to address design challenges like EMI from relay switching within the small form factor.
IEEE CS Phoenix - Internet of Things Innovations & Megatrends 12/2/15
H63ECH_1A_023799_Osama
1. Contents Page
Introduction to IoT 1
Smart Power Socket 2
Product Design 3
Design options 4
Comparative Analysis 6
Recommended Option 7
Appendix and Reference 8
H63ECH - Embedded Computing
(AUT 15 -16)
Coursework 1A
IoT Product Design: Comparative Study
of Embedded Computing Hardware
Components Options
Submitted By:
Osama Azim (ID: 023799),
M.Sc. Electronics Communication and Computer
Engineering
2. IoT Product Design: Comparative Study of Embedded Computing Hardware Components Options
1 | H63ECH - Embedded Computing - Coursework 1A Osama Azim
Introduction to IoT:
Internet of Things (IoT) is a term assigned to the network of devices connected to the internet, featuring
an IP address, enabling each connected device to transfer data without human intervention. The internet
has traditionally been referred to the network of interconnected computing devices such as desktops,
laptops, smartphones and tablets, Internet of Things extends this internet connectivity to embedded
standalone devices such as health monitors, home automation devices, industrial machines, city
infrastructure elements and automobiles to name few. These connected devices or “things” in the
Internet of Things are often referred to as being “Smart”. Machine to machine (M2M) communication
between devices , people and cloud services together make up Internet of Things.
The basic requirements for an IoT application include:
Sensing and data collection capability (sensors)
Local embedded processors or controllers
Wired or wireless communication capability
Software to automate tasks
Remote network or cloud based embedded processing
Full security across the signal path
Examples of devices and systems that fall under the definition of Internet of Things include connected
security systems, disaster early warning systems, automated home appliances, heath monitoring
devices, cars, vending machines and more as IoT adoption grows. Manufacturing and utilities are
estimated to have the largest installed base of internet enabled devices(1)
. In manufacturing, Industry 4.0
or fourth industrial revolution is the term used for embracing IoT in factories. Flow optimization, real
time inventory, asset tracking, employee safety, predictive maintenance and firmware upgrades are
some existing uses of IoT in smart manufacturing. For city utility or smart cities, IoT is being used for
pipeline leak detection, traffic control, surveillance cameras and smart street lights. IoT as an enabling
technology has ever-growing applications in building and home automation, health care, automobiles
and many more upcoming sectors.
The underlying reason for growth in IoT can be attributed to increasingly cheaper and abundant
connectivity to internet, availability of low power semiconductors for battery powered applications,
cloud based software that can be updated and maintained with greater ease and adoption of mobile
computing devices like tablets and smartphones which can act as gateways or user interface.
Internet of Things is a fast emerging market and is set to change the future of electronic devices and how
we communicate with them.
3. IoT Product Design: Comparative Study of Embedded Computing Hardware Components Options
2 | H63ECH - Embedded Computing - Coursework 1A Osama Azim
Smart Power Socket - An IoT Product:
The Smart Power Socket is conceptualized as an internet enabled power socket(outlet) that will allow users to
remotely control the switching of plugged appliance through a web page or a smartphone application. The Smart
Power Socket device shall also monitor and report the current consumed by appliances plugged into it using an
inbuilt current transformer, providing users with detailed power consumption history.
Figure 1: Overview
As shown in Figure 1, an array of appliances can be remotely monitored and controlled using a smartphone or a
computer. The Smart Power Socket shall have following features:
Internet based control (switching) of plugged in appliance. Appliances can also be switched on or off at
preset timing or based on other parameters such as location of user. For example, the Air conditioner can
be turned on as the user approaches the house or supply to the home entertainment can be turned off
during night or when user is not in the house.
Current monitoring with history or trend view - aiding users in making an informed decision when
optimizing power consumption
Easy configuration through internet, WiFi connectivity to the internet, low cost and portable - same Smart
Socket can be used interchangeably for different identical load appliances
4. IoT Product Design: Comparative Study of Embedded Computing Hardware Components Options
3 | H63ECH - Embedded Computing - Coursework 1A Osama Azim
Product Design:
Figure 2: System Block Diagram
A top level system block diagram with its major components is resented in Figure 2. Microcontroller and WiFi
module for the Smart Power Socket will require following minimum design features:
- For Microcontroller:
Input/Outputs: One analog input for current transformer signal, two digital outputs to drive relay and for
status LED
Communication: Inbuilt UART capability for serial communication with WiFi module
Sufficient memory to process and buffer current reading
Failsafe and reliable operation with low power consumption
Market availability and large user base to aid in design and development
- For WiFi Module:
Should feature IEEE 802.11 b/g/n WiFi standards and related protocols for internet connectivity inbuilt
Security enabled, supporting standard WiFi encryption and secure connection
UART communication for microcontroller interface
Low power consumption and small package size
5. IoT Product Design: Comparative Study of Embedded Computing Hardware Components Options
4 | H63ECH - Embedded Computing - Coursework 1A Osama Azim
Controller and Communication Design Options:
Option 1: Atmel ATmega 328P (MCU) with TI CC3100 (WiFi SoC):
The combination of ATmega328P from Atmel and CC3100 from Texas Instruments is chosen to bring together the
flexibility of ATmega microcontrollers and simplicity of Texas Instruments IoT focused WiFi network processor.
Figure 3: TI recommended Block Diagram(2)
The ATmega328P is an Arduino platform compatible 8 Bit microcontroller, ideal for low power and small I/O count
applications. Apart from 14 digital I/O pins, the microcontroller also has inbuilt ADC which will be used for current
signal input in proposed application. Arduino compatibility ensures a vast software library and user base, which
will prove useful in design and development phase of the product. To communicate with CC3100 WiFi SoC,
ATmega328P has on chip UART pins.
The CC3100 SimpleLink WiFi network SoC from TI simplifies the implementation of internet connectivity via WiFi
and interfaces with any 8, 16 or 32 Bit microcontroller through SPI or UART serial protocols. Also, the CC3100 is a
complete platform solution including various tools and software, which, along with sample applications from TI,
shall help in rapid development.
Option 2: Electric Imp - imp 002 IoT module:
The electric imp is a powerful IoT service platform that brings together a selection of WiFi enabled controllers
integrated with the imp software suit which includes OS, APIs and cloud services along with security features - this
integrated platform reduces development time and provides a single vendor advantage for complete system.
6. IoT Product Design: Comparative Study of Embedded Computing Hardware Components Options
5 | H63ECH - Embedded Computing - Coursework 1A Osama Azim
Figure 4: Imp-002 module Block Diagram3(3)
The hardware module of interest for this project shall be the imp-002 board. It's based around the STM32F205
microcontroller featuring ARM 32 bit cortex M3 CPU and has onboard wireless connectivity through a Broadcom
BMC43362 WiFi controller. Electric imp features a bundle of power management features on hardware and a
comprehensive cloud service with secure internet connectivity.
Option 3: ESP8266 SoC:
The ESP8266 is a microcontroller from Espressif that includes WiFi capability on a single chip SoC. This module has
onboard processing and storage capability and comes at a very low price point. Its high degree of on-chip
integration allows for minimal external support circuitry. This SoC can be programmed using the Arduino platform.
Figure 5: ESP8266 SoC Block Diagram(4)
The ESP8266 is built with a Tensilica Xtensa LX106 32 bit CPU. The SoC has an ADC that would take input from
current signal and has enough I/O pins for proposed application.
7. IoT Product Design: Comparative Study of Embedded Computing Hardware Components Options
6 | H63ECH - Embedded Computing - Coursework 1A Osama Azim
Comparative Analysis:
The three options indicated earlier are the most common approaches towards IoT applications in market today:
1. Highly available, discrete Microcontrollers and Internet connectivity modules
2. Independent platforms of single board controllers with internet capability
3. Single chip solution or SoC with controller and internet host combined
These selected options are compared point wise in following table:
Option
Comparison
ATmega328P with
CC3100
Imp002 board ESP8266 SoC
Option in
advantage
Performance
8 Bit AVR CPU running
at 20MHz
32 Bit ARM CPU
running at 120 MHz
32 Bit RISC CPU
running at 80 MHz
Imp002
Memory Size
32 kB Flash, 1024 B
EEPROM, 2 kB RAM
128kB Flash, 80 kB
RAM
64 kB + 96 kB
RAM, External
flash upto 4 MB
Imp002
Support for I/O Ports 8 ADC and 23 I/O 8 ADC and 12 I/O 1 ADC and 16 I/O
ATmega328
with CC3100
Internet Connectivity
Using external CC3100
On chip WiFi with
Internet capability
Onboard WiFi with
internet capability
On-chip WiFi with
internet capability
Imp002
Power Consumption
0.2mA (MCU), 233 mA
max(WiFi)
250 mA (Max), 5 mA
(Idle)
215 mA (Max), 0.9
mA (Idle)
ESP8266
Operating Temperature -40 to 85 o
C -20 to 55 o
C -20 to 100 o
C
ATmega328
with CC3100*
Cost
1.75 USD (MCU) + 9 USD
(WiFi) For 500 Pcs Bulk
24 USD For 100 Pcs
Bulk
6 USD ESP8266
Availability Available for bulk orders
Available for large
orders
Available for
medium to large
orders
ATmega328
with CC3100
Software Platform and
Cloud Support
Widely adopted Arduino
development
environment with IoT
support, Open Source,
Flexible
Complete software
solution provided by
Electric imp,
comprehensive, not
flexible
Arduino
compatibility
added recently,
growing user base
ATmega328
with CC3100
Security On chip secure WiFi
Secure WiFi and
software
Standard WiFi
encryption
Imp002
Quality and Reliability
Industry tested and
certified
Industry tested and
certified
Not Certified
ATmega with
CC3100,
imp002
Physical Size
5x5mm (MCU) + 9x9mm
(WiFi)
31x25mm (board) 5x5mm ESP8266
8. IoT Product Design: Comparative Study of Embedded Computing Hardware Components Options
7 | H63ECH - Embedded Computing - Coursework 1A Osama Azim
Recommended Option:
Although the imp-002 board and ESP8266 SoC have certain advantages over the discrete MCU and WiFi module
based approach, the ATmega328P along with CC3100 WiFi module is recommended choice for the proposed IoT
product, in view of the following reasons:
Flexibility of future modifications and options, as the CC3100 can support any 8, 16 or 32 bit MCU -
Redesign of complete system shall not be required when changing either MCU or WiFi controller
The Arduino platform allows the ATmega328P to be used along with a variety of IoT cloud softwares
Target IoT application does not require complex control or real time OS, imp-002 features will be largely
unused if used for this product
The ESP8266 SoC does not meet the reliability required for proposed application, since everyday home
appliances are to be controlled - a robust and industry certified controller is needed
Ability to build the IoT hardware and software customized to product requirements and not based on
vendor specified system
As with all embedded applications, vast amount of system prototyping and testing is required before reaching a
final design and this applies to IoT applications as well. Each of the options mentioned can be tested for detail
design issues such as EMI due to relay switching since the complete product electronics, including WiFi radio,
needs to be housed in a small form factor.