Subscribe to our Newsletter | To Post On IoT Central, Click here


iot (291)

Can AI Replace Firmware?

Scott Rosenthal and I go back about a thousand years; we've worked together, helped midwife the embedded field into being, had some amazing sailing adventures, and recently took a jaunt to the Azores just for the heck of it. Our sons are both big data people; their physics PhDs were perfect entrees into that field, and both now work in the field of artificial intelligence.

At lunch recently we were talking about embedded systems and AI, and Scott posed a thought that has been rattling around in my head since. Could AI replace firmware?

Firmware is a huge problem for our industry. It's hideously expensive. Only highly-skilled people can create it, and there are too few of us.

What if an AI engine of some sort could be dumped into a microcontroller and the "software" then created by training that AI? If that were possible - and that's a big "if" - then it might be possible to achieve what was hoped for when COBOL was invented: programmers would no longer be needed as domain experts could do the work. That didn't pan out for COBOL; the industry learned that accountants couldn't code. Though the language was much more friendly than the assembly it replaced, it still required serious development skills.

But with AI, could a domain expert train an inference engine?

Consider a robot: a "home economics" major could create scenarios of stacking dishes from a dishwasher. Maybe these would be in the form of videos, which were then fed to the AI engine as it tuned the weighting coefficients to achieve what the home ec expert deems worthy goals.

My first objection to this idea was that these sorts of systems have physical constraints. With firmware I'd write code to sample limit switches so the motors would turn off if at an end-of-motion extreme. During training an AI-based system would try and drive the motors into all kinds of crazy positions, banging destructively into stops. But think how a child learns: a parent encourages experimentation but prevents the youngster from self-harm. Maybe that's the role of the future developer training an AI. Or perhaps the training will be done on a simulator of some sort where nothing can go horribly wrong.

Taking this further, a domain expert could define the desired inputs and outputs, and then a poorly-paid person do the actual training. CEOs will love that. With that model a strange parallel emerges to computation a century ago: before the computer age "computers" were people doing simple math to create tables of logs, trig, ballistics, etc. A room full all labored at a problem. They weren't particularly skilled, didn't make much, but did the rote work under the direction of one master. Maybe AI trainers will be somewhat like that.

Like we outsource clothing manufacturing to Bangladesh, I could see training, basically grunt work, being sent overseas as well.

I'm not wild about this idea as it means we'd have an IoT of idiots: billions of AI-powered machines where no one really knows how they work. They've been well-trained but what happens when there's a corner case?

And most of the AI literature I read suggests that inference successes of 97% or so are the norm. That might be fine for classifying faces, but a 3% failure rate of a safety-critical system is a disaster. And the same rate for less-critical systems like factory controllers would also be completely unacceptable.

But the idea is intriguing.

Original post can be viewed here

Feel free to email me with comments.

Back to Jack's blog index page.

Read more…

Theoratical Embedded Linux requirements

Hardware

SoC

A System on Chip (SoC), is essentially an integrated circuit that takes a single platform and integrates an entire computer system onto it. It combines the power of the CPU with other components that it needs to perform and execute its functions. It is in charge of using the other hardware and running your software. The main advantage of SoC includes lower latency and power saving.

It is made of various building blocks:

  • Core + Caches + MMU – An SoC has a processor at its core which will define its functions. Normally, an SoC has multiple processor cores. For a “real” processor, e.g. ARM Cortex-A9. It’s the main thing kept in mind while choosing an SoC. Maybe co-adjuvanted by e.g. a SIMD co-processor like NEON.
  • Internal RAM – IRAM is composed of very high-speed SRAM located alongside the CPU. It acts similar to a CPU cache, and generally very small. It is used in the first phase of the boot sequence.
  • Peripherals – These can be a simple ADC, DSP, or a Graphical Processing Unit which is connected via some bus to the Core. A low power/real-time co-processor helps the main Core with real-time tasks or handle low power states. Examples of such IP cores are USB, PCI-E, SGX, etc.

External RAM

An SoC uses RAM to store temporary data during and after bootstrap. It is the memory an embedded system uses during regular operation.

Non-Volatile Memory

In an Embedded system or single-board computer, it is the SD card. In other cases, it can be a NAND, NOR, or SPI Data flash memory. It is the source of data the SoC reads and stores all the software components needed for the system to work.

External Peripherals

An SoC must have external interfaces for standard communication protocols such as USB, Ethernet, and HDMI. It also includes wireless technology protocols of Wi-Fi and Bluetooth.

Software

Second-Article-01-1024x576.jpghttps://www.tirichlabs.com/storage/2020/09/Second-Article-01-300x169.jpg 300w, https://www.tirichlabs.com/storage/2020/09/Second-Article-01-768x432.jpg 768w, https://www.tirichlabs.com/storage/2020/09/Second-Article-01-1200x675.jpg 1200w" alt="" />

First of all, we introduce the boot chain which is the series of actions that happens when an SoC is powered up.

Boot ROM: It is a piece of code stored in the ROM which is executed by the booting core when it is powered-on. This code contains instructions for the configuration of SoC to allow it to execute applications. The configurations performed by Boot ROM include initialization of the core’s register and stack pointer, enablement of caches and line buffers, programming of interrupt service routine, clock configuration.

Boot ROM also implements a Boot Assist Module (BAM) for downloading an application image from external memories using interfaces like Ethernet, SD/MMC, USB, CAN, UART, etc.

1st stage bootloader

In the first-stage bootloader performs the following

  • Setup the memory segments and stack used by the bootloader code
  • Reset the disk system
  • Display a string “Loading OS…”
  • Find the 2nd stage boot loader in the FAT directory
  • Read the 2nd stage boot loader image into memory at 1000:0000
  • Transfer control to the second-stage bootloader

It copies the Boot ROM into the SoC’s internal RAM. Must be tiny enough to fit that memory usually well under 100kB. It initializes the External RAM and the SoC’s external memory interface, as well as other peripherals that may be of interest (e.g. disable watchdog timers). Once done, it executes the next stage, depending on the context, which could be called MLO, SPL, or else.

2nd stage bootloader

This is the main bootloader and can be 10 times bigger than the 1st stage, it completes the initialization of the relevant peripherals.

  • Copy the boot sector to a local memory area
  • Find kernel image in the FAT directory
  • Read kernel image in memory at 2000:0000
  • Reset the disk system
  • Enable the A20 line
  • Setup interrupt descriptor table at 0000:0000
  • Setup the global descriptor table at 0000:0800
  • Load the descriptor tables into the CPU
  • Switch to protected mode
  • Clear the prefetch queue
  • Setup protected mode memory segments and stack for use by the kernel code
  • Transfer control to the kernel code using a long jump

Linux Kernel

The Linux kernel is the main component of a Linux OS and is the core interface between hardware and processes. It communicates between the hardware and processes, managing resources as efficiently as possible. The kernel performs following jobs

  • Memory management: Keep track of memory, how much is used to store what, and where
  • Process management: Determine which processes can use the processor, when, and for how long
  • Device drivers: Act as an interpreter between the hardware and the processes
  • System calls and security: Receive requests for the service from processes

To put the kernel in context, they can be interpreted as a Linux machine as having 3 layers:

  • The hardware: The physical machine—the base of the system, made up of memory (RAM) and the processor (CPU), as well as input/output (I/O) devices such as storage, networking, and graphics.
  • The Linux kernel: The core of the OS. It is a software residing in memory that tells the CPU what to do.
  • User processes: These are the running programs that the kernel manages. User processes are what collectively makeup user space. The kernel allows processes and servers to communicate with each other.

Init and rootfs – init is the first non-Kernel task to be run, and has PID 1. It initializes everything needed to use the system. In production embedded systems, it also starts the main application. In such systems, it is either BusyBox or a custom-crafted application.

View original post here

Read more…

Edge Products Are Now Managed At The Cloud

Now more than ever, there are billions of edge products in the world. But without proper cloud computing, making the most of electronic devices that run on Linux or any other OS would not be possible.

And so, a question most people keep asking is which is the best Software-as-a-service platform that can effectively manage edge devices through cloud computing. Well, while edge device management may not be something, the fact that cloud computing space is not fully exploited means there is a lot to do in the cloud space.

Product remote management is especially necessary for the 21st century and beyond. Because of the increasing number of devices connected to the internet of things (IoT), a reliable SaaS platform should, therefore, help with maintaining software glitches from anywhere in the world. From smart homes, stereo speakers, cars, to personal computers, any product that is connected to the internet needs real-time protection from hacking threats such as unlawful access to business or personal data.

Data being the most vital asset is constantly at risk, especially if individuals using edge products do not connect to trusted, reliable, and secure edge device management platforms.

Bridges the Gap Between Complicated Software And End Users

Cloud computing is the new frontier through which SaaS platforms help manage edge devices in real-time. But something even more noteworthy is the increasing number of complicated software that now run edge devices at homes and in workplaces.

Edge device management, therefore, ensures everything runs smoothly. From fixing bugs, running debugging commands to real-time software patch deployment, cloud management of edge products bridges a gap between end-users and complicated software that is becoming the norm these days.

Even more importantly, going beyond physical firewall barriers is a major necessity in remote management of edge devices. A reliable Software-as-a-Service, therefore, ensures data encryption for edge devices is not only hackproof by also accessed by the right people. Moreover, deployment of secure routers and access tools are especially critical in cloud computing when managing edge devices. And so, developers behind successful SaaS platforms do conduct regular security checks over the cloud, design and implement solutions for edge products.

Reliable IT Infrastructure Is Necessary

Software-as-a-service platforms that manage edge devices focus on having a reliable IT infrastructure and centralized systems through which they can conduct cloud computing. It is all about remotely managing edge devices with the help of an IT infrastructure that eliminates challenges such as connectivity latency.

Originally posted here

Read more…

Introducing Profiler, by Auptimizer: Select the best AI model for your target device — no deployment required.

Profiler is a simulator for profiling the performance of Machine Learning (ML) model scripts. Profiler can be used during both the training and inference stages of the development pipeline. It is particularly useful for evaluating script performance and resource requirements for models and scripts being deployed to edge devices. Profiler is part of Auptimizer. You can get Profiler from the Auptimizer GitHub page or via pip install auptimizer.

The cost of training machine learning models in the cloud has dropped dramatically over the past few years. While this drop has pushed model development to the cloud, there are still important reasons for training, adapting, and deploying models to devices. Performance and security are the big two but cost-savings is also an important consideration as the cost of transferring and storing data, and building models for millions of devices tends to add up. Unsurprisingly, machine learning for edge devices or Edge AI as it is more commonly known continues to become mainstream even as cloud compute becomes cheaper.

Developing models for the edge opens up interesting problems for practitioners.

  1. Model selection now involves taking into consideration the resource requirements of these models.
  2. The training-testing cycle becomes longer due to having a device in the loop because the model now needs to be deployed on the device to test its performance. This problem is only magnified when there are multiple target devices.

Currently, there are three ways to shorten the model selection/deployment cycle:

  • The use of device-specific simulators that run on the development machine and preclude the need for deployment to the device. Caveat: Simulators are usually not generalizable across devices.
  • The use of profilers that are native to the target device. Caveat: They need the model to be deployed to the target device for measurement.
  • The use of measures like FLOPS or Multiply-Add (MAC) operations to give approximate measures of resource usage. Caveat: The model itself is only one (sometimes insignificant) part of the entire pipeline (which also includes data loading, augmentation, feature engineering, etc.)

In practice, if you want to pick a model that will run efficiently on your target devices but do not have access to a dedicated simulator, you have to test each model by deploying on all of the target devices.

Profiler helps alleviate these issues. Profiler allows you to simulate, on your development machine, how your training or inference script will perform on a target device. With Profiler, you can understand CPU- and memory-usage as well as run-time for your model script on the target device.

How Profiler works

Profiler encapsulates the model script, its requirements, and corresponding data into a Docker container. It uses user-inputs on compute-, memory-, and framework-constraints to build a corresponding Docker image so the script can run independently and without external dependencies. This image can then easily be scaled and ported to ease future development and deployment. As the model script is executed within the container, Profiler tracks and records various resource utilization statistics including Average CPU UtilizationMemory UsageNetwork I/O, and Block I/O. The logger also supports setting the Sample Time to control how frequently Profiler samples utilization statistics from the Docker container.

Get Profiler: Click here

How Profiler helps

Our results show that Profiler can help users build a good estimate of model runtime and memory usage for many popular image/video recognition models. We conducted over 300 experiments across a variety of models (InceptionV3, SqueezeNet, Resnet18, MobileNetV2–0.25x, -0.5x, -0.75x, -1.0x, 3D-SqueezeNet, 3D-ShuffleNetV2–0.25x, -0.5x, -1.0x, -1.5x, -2.0x, 3D-MobileNetV2–0.25x, -0.5x, -0.75x, -1.0x, -2.0x) on three different devices — LG G6 and Samsung S8 phones, and NVIDIA Jetson Nano. You can find the full set of experimental results and more information on how to conduct similar experiments on your devices here.

The addition of Profiler brings Auptimizer closer to the vision of a tool that helps machine learning scientists and engineers build models for edge devices. The hyperparameter optimization (HPO) capabilities of Auptimizer help speed up model discovery. Profiler helps with choosing the right model for deployment. It is particularly useful in the following two scenarios:

  1. Deciding between models — The ranking of the run-times and memory usages of the model scripts measured using Profiler on the development machine is indicative of their ranking on the target device. For instance, if Model1 is faster than Model2 when measured using Profiler on the development machine, Model1 will be faster than Model2 on the device. This ranking is valid only when the CPU’s are running at full utilization.
  2. Predicting model script performance on the device — A simple linear relationship relates the run-times and memory usage measured using Profiler on the development machine with the usage measured using a native profiling tool on the target device. In other words, if a model runs in time x when measured using Profiler, it will run approximately in time (a*x+b) on the target device (where a and b can be discovered by profiling a few models on the device with a native profiling tool). The strength of this relationship depends on the architectural similarity between the models but, in general, the models designed for the same task are architecturally similar as they are composed of the same set of layers. This makes Profiler a useful tool for selecting the best suited model.

Looking forward

Profiler continues to evolve. So far, we have tested its efficacy on select mobile- and edge-platforms for running popular image and video recognition models for inference, but there is much more to explore. Profiler might have limitations for certain models or devices and can potentially result in inconsistencies between Profiler outputs and on-device measurements. Our experiment page provides more information on how to best set up your experiment using Profiler and how to interpret potential inconsistencies in results. The exact use case varies from user to user but we believe that Profiler is relevant to anyone deploying models on devices. We hope that Profiler’s estimation capability can enable leaner and faster model development for resource-constrained devices. We’d love to hear (via github) if you use Profiler during deployment.

Originaly posted here


Authors: Samarth Tripathi, Junyao Guo, Vera Serdiukova, Unmesh Kurup, and Mohak Shah — Advanced AI, LG Electronics USA

Read more…

Summary: Know How Businesses Are Leveraging Their Business Power with the Help of the Internet of Things (IoT). They Are Paying Attention to It to Enhance Their Business Process and Ensuring Gain Long Term Success for Their Business in This Fiercely Competitive Market. 

In this IT era, the latest technology is making its way to our day to day life. It has influenced our life to a great extent and has also affected the way we work. Now we use different gadgets and modern equipment that ease our work and helps us to complete it more smoothly and accurately than ever before. The latest technology like Machine Learning, Big Data Analytics, and Artificial Intelligence has slowly established its command across different industries. Apart from all these technologies one technology that gained significant importance is the internet of things (IoT), it has affected the different areas of various sectors to a great extent. 

The use of IoT enabled devices has enhanced the way people live their lives. According to Gartner's prediction, more than 25 billion IoT devices will be present in the market by 2021. The use of IoT will introduce new innovation for businesses, customers, and society. 

The potential growth in usage of IoT has resulted in improvement in various sectors like healthcare, education, entertainment, and many more. Now it has become possible to track assert in real-time, monitoring the ups and downs in the human body, home automation, environmental monitoring, etc have become easy and all thanks go to the internet of things (IoT). 

Internet of Things: Know Why Businesses Need It for Their Business?

As per the report by Cisco, more than 500 billion devices will be connected with the Internet by 2030. Each device that will be connected by the internet will include sensors that collect data by interacting with the environment and will communicate over a network very accurately. 

And all this will become possible through the Internet of Things (IoT) as it's the network of all these connected devices. These smart devices which are developed using this latest technology will generate data that IoT applications use to accomplish various tasks like deliver insight, analyze, aggregate which helps to respond much accurately as per user's actions. 

The internet of things is one such latest technology that is continuously improving with each passing second. As this technology connects multiple things with each other, it becomes possible for businesses to get real-time access to all the information on the network and thus it has been proved to be beneficial for them to improve their business processes. It provided multiple benefits to the businesses who adopt it, go through the list of benefits that IoT offers for your business. There are various advantages to explore when it comes to implementing the internet of things for your business. 

1. Offers a Large Amount of Data

Almost all businesses these days have realized the power of the internet of things and have started opting for the same for their business. As more and more businesses are stepping ahead to opt for this technology it is predicted that the total market value of IoT will grow rapidly and will reach $3 trillion by 2026

IoT enabled devices are able to collect huge data from the network with the help of added sensors. This information can be beneficial for businesses as they can easily know what their customers really want from them, how can they fulfill their demands in the best possible way, and much more. 

2. Better Customer Service 

Every business these days boil down to satisfy their customers and offer the best to them on their demand. The combo of IoT based devices with an app like spoitify can provide quick access to customers' behaviors. It helps businesses to analyze all the data which includes customers' preference, the time they spent on making a particular purchase, the language they prefer, and much more. 

All this information can help businesses to enhance their customer support and come up with an advanced solution that satisfies all their needs. Using this information you can diversify your business according to new market trends and grab all the opportunities that come your way. 

3. Ability to Monitor and Track Things

IoT enabled devices will allow all businesses to track and monitor each and every activity of their employees. They can easily know what their employees are working, how many tasks they have completed, what progress that has made, and much more. They can even share information with their employees in real-time about the current project on which they are working and can also get information from them whenever they want.  

4. Save Money and Resource

There is no doubt that machine to machine communication is growing dramatically in recent years. It is estimated that the total number of M2M connections will grow speedily from 5 billion to 27 billion from 2014 to 2024.

Machines have taken the place of the human in most of the business sector which save a huge amount of money and resources of businesses which they used to spend on human labor. Nowadays work like answering customers' queries, managing accounts, keeping other business records, and much more work in the business environment is performed by the latest application and software that has been developed using the latest technology like the internet of things or any other. 

5. Automation 

IoT helps businesses to find the best way to make their business process faster and better. They can let them know which areas to be automated so that they can reduce the task of the employees and can save a huge amount of time and resources of their business. If as a business entrepreneur if you feel that your business needs to be automated then IoT will analyze each and every area of your business and will let you know which can be automated and don't need human interaction. 

6. Helps to offer Personalized Experiences

As stated above, businesses can get all the information related to their ideal customers with the help of IoT enabled devices. They can know their purchase preferences, likes, dislikes, and much more and can try to provide a personalized experience. 

As per New Epsilon research, 80% of consumers like to make a purchase from a particular brand if and only if they offer personalized experiences to them. For example, businesses can develop accurate bills keeping in mind the analyzed IoT data and can provide various discounts and offers to the customers as more than 74% of customers expect that they will get automatic crediting for coupons and loyalty points. 

Wonders of the Internet of Things Have a Long Way to Go!

There are certain areas that are still untapped by businesses as they are unable to implement IoT technology in every aspect of their business environment. And even some of the businesses have yet not opted for this modern technology, due to which they are missing various opportunities that are in their success. There are various ways in which IoT works wonders for every business sector. As technology is evolving continually due to research and efforts of brilliant minds, there are certain changes that IoT will have much to offer to the businesses in the nearby future. 

When businesses implement the internet of things in their business they will experience enhancement in their employee's productivity, speed, and efficiency which will directly affect the business profit. Hence work on your business niche and find out whether you can implement IoT in your business environment or not. It’s the demand of time to stand out from others and you can do it using IoT, implement this technology in a basic way for your business if possible.

Read more…

How to Ensure IoT Cybersecurity

Today, the IoT devices are largely used by industries and households, smart bulbs can adjust the intensity of light by themselves, doctors can check the patient data remotely, IoT sensors can help in warehousing, and more, the potential is seemingly endless. There are billions of IoT devices on the field and billions more are expected in the next few years. The data that IoT devices produce are stored on the cloud, for example, a health monitor collects all the information about our health and stores it on the cloud. This information is further analyzed to provide us better services, but on the other hand if someone manages to get the data they can violate our privacy. Thus it is important to ensure the confidentiality and integrity of IoT solutions while mitigating the cybersecurity risks. There are many ways attackers can make their way into your system.

Most common IoT cyber attacks are:

Botnets

A botnet is a network of systems combined to remotely take control of distributing malware, controlled by botnet operators via Command-and-Control-Servers (C&C servers). They are used by attackers on a large scale for many things such as stealing private information, exploiting online banking data or spam, and phishing emails.

Man-in-the-middle

The man-in-the-middle concept is where an attacker is looking to interrupt and breach communication between two separate systems. It can be a dangerous attack because it is one where the attacker secretly intercepts and transmits messages between two parties when they are under the belief that they are communicating directly with each other.

Identity Theft

The main strategy of identity theft is to amass data, and with a little bit of patience, a lot of information can be fetched out. Generally, data is available on the internet, combined with social media information and data from smartwatches, fitness trackers, smart meters, smart fridges, and more. These data give a great all-around idea of your identity.

Recent research indicates that 85% of customers lack confidence in IoT device security, it is important to ensure the security of IoT devices by eliminating the IoT cybersecurity risk. 

Here are some best practices to ensure IoT cybersecurity:

Secure Boot

The secure boot helps a system to stop attacks and infections from malware, it is a feature embedded with IoT devices to detect tampering with the system. It works like a security gate as it restricts unauthorized access by validating the digital signature, detections are blocked from running before they attack the system. Deploying secure boot in the IoT ecosystem is important to ensure cybersecurity.

Secured passwords with two-factor authentication

You can activate two-factor authentication on almost any IoT device, it is important because it ensures authorized access to devices and automates trust into the system. Having two-factor authentication enabled with unusual passwords keeps IoT devices secure from being vulnerable to cyber attacks, it restricts attackers from making their way into the system.

Disabling the UPnP feature

UPnP feature allows an IoT device to get connected with other IoT devices, for example, smart bulbs can be paired with Google Home to turn it off or on via voice command. It is a feature that is convenient for users but poses cybersecurity risks at the same time. If hackers manage to make their way in one device they will easily be able to find another device that is connected. We can easily disable the UPnP feature as most of the IoT devices allow you to disable the UPnP feature from their settings.

Secure data storage

Keeping data in a large enterprise system is secured but the flash storage of a particular embedded device holds some important data from time to time that is not immediately secured or encrypted which can open you up to cybersecurity risk. Thus it is important to have system-level encryption of data for storage of sensitive information. If we do not encrypt the flash storage on the embedded device, someone can easily have their peak at your data.

Bottom Line

Securing IoT devices from cyberattacks is important for households and it is equally important for industries to ensure the confidentiality and integrity of their IoT devices and data produced by IoT devices. Researchers find that data breaches linked to IoT devices have increased rapidly in the past few years, according to a study by Ponemon, the number of cyberattacks due to unsecured connected devices have increased from 15% to 25% in the last two years. Thus securing the IoT devices can never be downplayed.

Author Bio- 

Piyush Jain is the founder and CEO of Simpalm, an app development company in Virginia. Piyush founded Simpalm in 2009 and has grown it to be a leading mobile and web development company in the DMV area. With a Ph.D. from Johns Hopkins and a strong background in technology and entrepreneurship, he understands how to solve problems using technology. Under his leadership, Simpalm has delivered 300+ mobile apps and web solutions to clients in startups, enterprises and the federal sector.

Read more…

If I had to choose three reasons why the adoption of the IoT it´s delayed several years, one of the three would include would be the mistake in their strategy, faith, IoT employee sales skills and poor investment in key industries by Mobile Network Operators (MNOs) in this business.

When I wrote more than 5 years ago my post “How to select your M2M/IoT Service Provider” I referenced several annual reports from analysts like Gartner and vendors like Ericsson or Cisco. All of them presented very optimistic predictions that unfortunately have not been fulfilled.

During this time Mobile Network Operators have adapted to the market crude reality of the market with sometimes erratic strategies. Despite this fact has not discouraged new entrants that have energized a market with again high growth expectations. Today Tier 1 and Tier 2 Mobile Network Operators are competing with many IoT Connectivity providers in all industries and use cases. The good news for these new entrants is that the MNOs have not known captivate their customers.

What do I think the MNOS are thinking now?

1-    The Technological Battle of LPWAN networks

I do not want to open in this article a debate on which LPWAN connectivity technology (5G, NB-IoT, LTE-M, LoRA, Sigfox, ….) is the best. Each of these technologies will likely play an important role in the IoT space depending on the use case, so understanding the features and differences of each is critical.

You must not forget other IoT connectivity technologies (Satellite, Mesh networks, WiFi, Zigbee,..). I have always championed the idea of multiple IoT network coexistence in which objects will connect to provide an IoT service or be part of an aggregated IoT service. And those services can be provided by both licensed and unlicensed cellular networks. Let's assume that we will not have a single protocol that regulates all of them in a long time. We are also not going to ask manufacturers of objects to incorporate the different connectivity possibilities in their designs for obvious reasons of cost and battery life. What would be very valuable is that all IoT devices could add a unique identifier that allow will be part of a SuperIoTNet that works like the current internet. But now is future fiction.

2-    The Connectivity Services Offering 

Ideally we should try to find in our IoT Connectivity Service Provider offering something like Telefonica, an end-to-end complete commercial IoT connectivity offer that allow design and build a tailored secure IoT solution. But this in not gold all that glitters. We must evaluate the ability of these IoT Connectivity Service Providers to make easy the adoption of IoT in Small and Medium Business (SMBs) with pre-integrated industry solutions based on a rich ecosystem.

Customers wants to receive specialised advice to solve any IoT need at a one-stop-shop, including full stack technology solutions from hardware selection to middleware, application development and SaaS operations. Not many IoT Connectivity Providers have the internal resources to provide these services, in that cases customers should involve either or a partner or better an independent consultant as myself.

For some customers an offering like “IoT connectivity as a Service” provided by Arkessa can be an advantage, for others “The 1NCE IoT Flat Rate”, an all-inclusive connectivity package that comprises all elements and features that IoT customer need while having their assets connected is more important. For experienced M2M customers, the portfolio Kore Wireless and industry specialization is attractive. Eseye for instances solve your IoT challenges from device to AWS cloud. In Europe SMBs must consider in the short list Wireless Logic with 4 million devices connected to its platforms globally. Special mention to module companies like Sierra Wireless that offers a Connectivity and Device Management service that connects to 600+ partner networks around the globe with multiple redundant routes in every country to eliminate local coverage gaps or Telit which  Connectivity Service allow companies Monitor, Manage & Monetize their assets.

I am expecting the unlimited opportunities with the Internet of Things after the announcement a few days ago by DT Deutsche Telekom to spin out IoT unit and launch a global open ‘hub.’  More info about new DT IoT offering here: “From vertical to horizontal and back to vertical: our way to the new horizon”

Sorry, I can not extend this paragraph with more companies, but in the picture there are many other companies with attractive services that must be considered for your unique Business case.

3-    eSIM: Threat or Opportunity

The SIM card has also been evolving since its creation in 1991. From the size of a credit card it went to mini-SIM or the classic SIM that began to reduce in size, first to microSIM and then to nanoSIM and finally the embedded SIM (also called eSIM or eUICC or MMF2 UICC).

Presented in the preludes of the Mobile World Congress 2016, the eSIM is still a SIM but it will be embedded in the devices, without the possibility of withdrawing it. eSIM is a global specification by the GSMA which enables remote SIM provisioning of any mobile device. The eSIM is designed to remotely ​manage multiple mobile network operator subscriptions and be compliant​ with GSMA's Remote SIM Provisioning specifications​.  Install one eSIM during manufacturing and change the carrier on the fly.

To date, 200 mobile carriers in more than 80 countries offer eSIM consumer services. The embedded UICC is expected to reach over 200 million shipments in 2019 (source: Eurosmart, November 2019).

GSMA promises not to rig the eSIM standard in favour of its members.

eSIM now allows consumers to store multiple operator profiles on a device simultaneously, and switch between them remotely, though only one can be used at a time. The specification now extends to a wider range of devices. Manufacturers and operators can now enable consumers to select the operator of their choice and then securely download that operator’s SIM application to any device.

At first glance, building or supporting a global eSIM solution presents a major challenge (integration with other service providers and guarantee customer experience is expensive) and not appear to benefit Communication Service Providers. Looks like stupid to invest in a solution that make easier for customers to leave them. That´s why they have not done much to extend its use.

Why is good for IoT?.  UICC and eSIM technology gives enterprises control of IoT connectivity, simplifies international deployments of IoT devices and the transition to mobility services. Large scale international deployments are possible using a single factory installed SIM. The user subscription can be updated when the device is in the field.

ARM white paper introduces 7 top  Innovative eSIM use cases: Automotive, Shipping and Logistics, Object tracking and site monitoring, Smart Energy, Wearables, Agriculture, Home Security.

Sources:

GSMA: https://www.gsma.com/esim/

Cisco Blog: “Manufacture there, connect anywhere: Cisco eSIM Flex enables global connectivity for enterprises and service providers”

Xataka: https://www.xatakamovil.com/conectividad/esim-que-que-ventajas-aporta-cuando-llegara-masivamente-todo-tipo-dispositivos

Thales: https://www.thalesgroup.com/en/markets/digital-identity-and-security/mobile/connectivity/esim/esim

Arkessa: https://www.arkessa.com/euicc/

ARM:  7 Top eSIM use cases

Choosing IoT Connectivity Service Providers

Choosing the right IoT Connectivity Service provider is not as easy as many can think. You can make a preselection using the lasts Gartner Magic Quadrant, also explore the local cellular Operators that have deployed a NB-IoT or LTE-M network and finally analyze other operators that maybe you never heard about them as I did.

The selection of the right IoT Connectivity Service Provider is a strategic decision for any Digital Transformation initiative, especially in enterprises adopting new resilient business models and optimizations of business processes. Some criteria you must consider selecting  your IoT CSP are:

  • Your internal capabilities
  • The offering: IoT Connectivity Services / IoT Managed Connectivity Services / IoT Connectivity Security Service / eSim Services
  • The cost of the IoT Connectivity Services and the flexibility of the tariffs
  • The type of IoT networks they have deployed and the coverage
  • The alliances with other IoT Connectivity Service Providers for global deployments
  • The types of M2M/IoT certified devices / modules and their applicability to your use cases.
  • The experience and references in your industry and vertical solution
  • The capabilities of their IoT Connectivity and Device Management Platforms
  • Open APIS for Integration with your Enterprise Systems
  • BSS/OSS systems and their applicability to your use
  • New business models eg IOTConnectivity as a Service
  • Levels of Support
  • Ecosystem of partners

Key Takeaways

It is not worth spending one minute more crying for the reasons that MNOs were unable to energize the IoT market earlier. We are where we are and the future is still bright, for those who really know how to see it.

The selection of the right IoT Connectivity Service Provider for your enterprise is a strategic decision. When my clients ask which is the best IoT Connectivity Service Provider? my first advice is: ". Let's define together your digital strategy, prioritize key uses cases, analyze new business model and your internal capabilities first and then work on the IoT Connectivity technology needed , which connectivity services comply with your requirements  and finally build a detailed business case that justify the value of your investment".

There is no best IoT connectivity Technology. It all depends on the use cases and the business model.

Read more…

6551228278?profile=RESIZE_710x

 

We are living in a digital world, using apps to perform each and every daily task. Augmented reality has gained much popularity in recent years, Pokemon Go is one of the best illustrations of AR games, and you will not find a single person in this world who is not familiar with this game.

Augmented reality is a technology that overlays machine-generated pictures in the real world in the form of animation or making a purchase through smart devices or headsets. AR is a transformation of a normal camera; it offers an impressive, interactive, and reality-based environment to enhance the user experience.

As the future of Augmented reality apps are very bright because the customer's demand is increasing, and they want to try things before they make a purchase. So many SDKs and tools can be useful for a developer to create AR apps. A recent marketing survey shows that in the past 2-3 years, the demand for Augmented reality-based apps has increased by a handsome number.

 

# Vuforia

Vuforia is an advanced and modern AR building tool that offers an attractive platform for building augmented reality apps for iOS and Android platforms. It is a much popular platform in the developer community because it is broad and easily compatible with any other tool.

Vuforia offers an extensive range of products that improves user experience, Vuforia engine, studio, and chalk are some of the widely used tools. If you want to make your 3D project exclusive and want to launch in the market, this is the best ready-to-use tool.

As it is the most popular tool when it comes to developing AR VR apps, it costs $99 per month; it is not that expensive because it offers many functionalities and is very easy to integrate on any operating system. Vuforia uses computer vision technology as it is able to track scanned images and simple 3D objects, such as boxes. It is the ultimate choice for 3D and 2D projects.

 

# ARkit

If you love to work with the open-source platform, ARtoolkit would be a perfect choice to develop AR apps. A recent survey from Wikipedia revealed that it is a very popular tool with more than 160000 downloads every year, and this is the reason why we enjoy many augmented reality apps.

As a programmer, one of the most difficult tasks is to locate the user's location in real-time perfectly, and ARtoolkit solves this problem with ease and able to calculate the position and orientation of the real camera, it helps any AR app to reflect the digital content such as images or 3D models on the real world.

Not only Android, but Apple has also launched an ARKKit tutorial with every new version of iOS, that helps developers to integrate this tool in the app.

 

#Maxst 

As the name suggests, Maxst offers two kinds of different SDKs, one for image tracking and another for environment recognition. The first tool can only recognize 2D images, where the second tool is more powerful and can track 3D objects.

You can generate the data online via the tracking manager, and you can scan 3D objects with the upgraded version. It supports multiple platforms such as Android, iOS, and Windows. Due to its easy integration, this tool is widely used among developers, and the website also offers easy documentation for freshers to understand.

The space mapping tool of Maxst can analyze the input, extract the data, and save it to a map file. If you want to fix the 3D objects in space, this tool is useful. These days, scan QR code and pay instantly, this technology has taken place, even human resource department is using this technology & have developed best human resouce management software, giving unique QR codes to employees, you can swiftly scan an employee's personal details, it saves time and efforts both.

 

#Wikitude

Wikitude is one of the best tools that focus on providing location-based AR experiences and presents real-time data via the Wikitube World Browser App. It has launched its recent version that supports localization and mapping.

The updated version of the Wikitude tool contains a lot of extensive AR features that allow you to create both marker and location-based AR applications. This tools currently provides some amazing features: 

  • Build apps for smart glasses
  • Image recognition and tracking
  • Easy loud recognition means it can target all the images hosted in the cloud
  • Accurate location-based services
  • Numerous external plugins, including Unity.

Wikitude offers a complete package studio to build smart AR apps. All you need to upload an image to the studio, add AR objects, add necessary effects, generate JS code, and directly paste it into the project.

 

# Google ARCore

ARCore is basically launched by Google and supports both the operating systems, respectively. Primarily, its three key technologies for "embedding" virtual content into the real world include motion tracking, lighting recognition, and environmental recognition.

It has the ability to build smart AR apps, and Google has been developing the basic technologies that support mobile AR over the last three years with Tango and based on that, ARCore is developed. 

Another plus point of ARCore is it works without installing any hardware that means it can work across all the Android ecosystems. It can run on millions of devices, and giant smartphone manufacturers such as Samsung, Huawei, LG, and ASUS use this tool for quality and high performance. 

 

Winding Up!

Augmented reality and virtual reality have created a buzz in the techno world, and now every business owner wants to integrate these features in their applications to drive sales. We have already seen Augmented reality apps causing a different level of excitement in users; hence developers need to learn the above tools for better output. After reading this, developers have a wide choice of AR toolkits that helps them to develop market-based and location-based applications.

You need to pick the right augmented reality tool based on your project requirement. Before choosing any tool, it would be advisable to compare features such as 3D recognition, storage facility, Unity, etc. After comparing features now, you can quickly build outstanding AR apps. Ultimately, your main focus should be on providing fast delivery of the product with maximum customer satisfaction.

Read more…

Helium Expands to Europe

Helium, the company behind one of the world’s first peer-to-peer wireless networks, is announcing the introduction of Helium Tabs, its first branded IoT tracking device that runs on The People’s Network. In addition, after launching its network in 1,000 cities in North America within one year, the company is expanding to Europe to address growing market demand with Helium Hotspots shipping to the region starting July 2020. 

Since its launch in June 2019, Helium quickly grew its footprint with Hotspots covering more than 700,000 square miles across North America. Helium is now expanding to Europe to allow for seamless use of connected devices across borders. Powered by entrepreneurs looking to own a piece of the people-powered network, Helium’s open-source blockchain technology incentivizes individuals to deploy Hotspots and earn Helium (HNT), a new cryptocurrency, for simultaneously building the network and enabling IoT devices to send data to the Internet. When connected with other nearby Hotspots, this acts as the backbone of the network. 

“We’re excited to launch Helium Tabs at a time where we’ve seen incredible growth of The People’s Network across North America,” said Amir Haleem, Helium’s CEO and co-founder. “We could not have accomplished what we have done, in such a short amount of time, without the support of our partners and our incredible community. We look forward to launching The People’s Network in Europe and eventually bringing Helium Tabs and other third-party IoT devices to consumers there.”  

Introducing Helium Tabs that Run on The People’s Network
Unlike other tracking devices,Tabs uses LongFi technology, which combines the LoRaWAN wireless protocol with the Helium blockchain, and provides network coverage up to 10 miles away from a single Hotspot. This is a game-changer compared to WiFi and Bluetooth enabled tracking devices which only work up to 100 feet from a network source. What’s more, due to Helium’s unique blockchain-based rewards system, Hotspot owners will be rewarded with Helium (HNT) each time a Tab connects to its network. 

In addition to its increased growth with partners and customers, Helium has also seen accelerated expansion of its Helium Patrons program, which was introduced in late 2019. All three combined have helped to strengthen its network. 

Patrons are entrepreneurial customers who purchase 15 or more Hotspots to help blanket their cities with coverage and enable customers, who use the network. In return, they receive discounts, priority shipping, network tools, and Helium support. Currently, the program has more than 70 Patrons throughout North America and is expanding to Europe. 

Key brands that use the Helium Network include: 

  • Nestle, ReadyRefresh, a beverage delivery service company
  • Agulus, an agricultural tech company
  • Conserv, a collections-focused environmental monitoring platform

Helium Tabs will initially be available to existing Hotspot owners for $49. The Helium Hotspot is now available for purchase online in Europe for €450.

Read more…

A bountiful harvest: Smart Farming

When talking about advanced technology in general and Internet of Things (IoT) in particular the first aspects that come to mind are things such as gleaming manufacturing production lines, industrial IoT solutions, critical infrastructure facilities, and consumer products for the home or fitness. It is rare that agriculture or farming gets included. Yet IoT is already having an impact within the agricultural sector, helping to improve productivity and yields.

The need

While food shortages can often be more of a food distribution problem than an absolute shortage of production per se, increases in agricultural food production are going to be essential in the years ahead. The United Nations’ World Population Prospects 2019 predicts that global population will rise from an estimated 7.7 billion people in 2019 to c.8.5 billion in 2030, 9.7 billion in 2050 and 10.9 billion by the end of the century, increasing the demand for food. This is combined with likely increased levels of prosperity and reductions in poverty, which has been shown before to always lead to increases in per capita food consumption as well as, importantly, changes in the food stuffs consumed. As the UN report puts it, “continued rapid population growth presents challenges for sustainable development”.

The response

First off, it’s important to say that any predictions of a Malthusian population crunch are likely to be way off the mark. In recent history, the agricultural sector has shown itself able to substantially increase levels of production, for example through the Green Revolution in the 1950s and 1960s that witnessed the use of new disease resistance high-yield varieties of wheat, rice and other crops.

But to ensure that food production can keep up with demand, a range of responses will be needed. Some of will be knowledge-based, others practice-based: for example, with knowledge of new farming techniques being spread, notably in developing countries; with increased used of hardier and more resistance varieties of crops; and with increased access to tools that enable greater productivity.

In some cases, this access to tools can mean access to farming equipment such as tractors or irrigation equipment. On others, it can include what is being called ‘smart farming’, ‘precision farming’, or ‘smart agriculture’.

Smart farming

The UN Food and Agriculture Organization summarizes smart farming as: “a farming management concept using modern technology to increase the quantity and quality of agricultural products. Farmers in the 21st century have access to GPS, soil scanning, data management, and Internet of Things technologies. By precisely measuring variations within a field and adapting the strategy accordingly, farmers can greatly increase the effectiveness of pesticides and fertilizers, and use them more selectively. Similarly, using Smart Farming techniques, farmers can better monitor the needs of individual animals and adjust their nutrition correspondingly, thereby preventing disease and enhancing herd health”.

In essence, smart farming is the deployment of advanced technology and IoT in agriculture.

The benefits that can be gained from this are manifold. There are the afore mentioned increases in production and greater effectiveness of agricultural inputs, such as fertilizer. But there are also major environmental benefits to be gained through the more sustainable use of water, energy, feed and the soil. The commercial and economic benefits are also significant. An Irish Government initiative that promotes smart farming states that, on participating farms, it averages EUR 6,300 in cost savings per farm and ways to reduce greenhouse gas emissions by 10%.

Using IoT and technology in agriculture

Despite the images that many may have of agriculture being technologically limited, this could hardly be further from the truth. Advanced technology and IoT have been rolling out within the sector in line with the developments elsewhere. One of the first studies to look at IoT in agriculture by Beecham Research identified several aspects where in which these could be used:

  • Sensing (or observation) technologies,
  • Software applications,
  • Communication systems,
  • Telematics and positioning technologies,
  • Data analytics,
  • Hardware and software systems.

Specific areas where IoT and related technologies are being rolled out within include:

  • Livestock monitoring,
  • Storage monitoring, for example in water tanks, fuel tanks, waste tanks,
  • Indoor farming in greenhouses and stables,
  • Forestry,
  • Arable farming,
  • Fleet management,
  • Fish farming.

There are a wide range of uses within each of these areas. For examples, drones are being used for crop spraying as well as providing remote monitoring of crop growth. DroneFly, a US-based drone supplier, provides a multispectral imagery drone for agricultural use that is enabled for sunlight detection; it further estimates that fertilizer can be delivered approximately 40-60 times faster than through traditional methods. 

Larger equipment is also being outfitted with IoT technology. John Deere, the major agricultural and horticultural equipment company, provides a range of precision agricultural equipment that enables automated guidance for harvesting equipment and data collection to assist with input placement and land stewardship, amongst others.

Some of the most important IoT solutions and tools involve observation and diagnostics. Sensing IoT solutions can be used, for example, to record and monitor conditional data from crops, soil, meteorological conditions, or livestock. As with IoT solutions in other fields, this data can then be integrated and diagnosed in order for automated decisions to be taken or alerts raised. All of this reduces the workload on the farmer while improving reaction time.

Conclusion

Although public awareness of IoT solutions within smart agriculture is less than those provided for industrial IoT solutions or within the consumer environment, the range of IoT tools, systems and applications that are being deployed is rapidly growing and will make an important contribution to the future farming and food needs of us all.

 

Read more…

This blog is the second part of a series covering the insights I uncovered at the 2020 Embedded Online Conference. 

Last week, I wrote about the fascinating intersection of the embedded and IoT world with data science and machine learning, and the deeper co-operation I am experiencing between software and hardware developers. This intersection is driving a new wave of intelligence on small and cost-sensitive devices.

Today, I’d like to share with you my excitement around how far we have come in the FPGA world, what used to be something only a few individuals in the world used to be able to do, is at the verge of becoming more accessible.

I’m a hardware guy and I started my career writing in VHDL at university. I then started working on designing digital circuits with Verilog and C and used Python only as a way of automating some of the most tedious daily tasks. More recently, I have started to appreciate the power of abstraction and simplicity that is achievable through the use of higher-level languages, such as Python, Go, and Java. And I dream of a reality in which I’m able to use these languages to program even the most constrained embedded platforms.

At the Embedded Online Conference, Clive Maxfield talked about FPGAs, he mentions “in a world of 22 million software developers, there are only around a million core embedded programmers and even fewer FPGA engineers.” But, things are changing. As an industry, we are moving towards a world in which taking advantage of the capabilities of a reconfigurable hardware device, such as an FPGA, is becoming easier.

  • What the FAQ is an FPGA, by Max the Magnificent, starts with what an FPGA is and the beauties of parallelism in hardware – something that took me quite some time to grasp when I first started writing in HDL (hardware description languages). This is not only the case for an FPGA, but it also holds true in any digital circuit. The cool thing about an FPGA is the fact that at any point you can just reprogram the whole board to operate in a different hardware configuration, allowing you to accelerate a completely new set of software functions. What I find extremely interesting is the new tendency to abstract away even further, by creating HLS (high-level synthesis) representations that allow a wider set of software developers to start experimenting with programmable logic.
  • The concept of extending the way FPGAs can be programmed to an even wider audience is taken to the next level by Adam Taylor. He talks about PYNQ, an open-source project that allows you to program Xilinx boards in Python. This is extremely interesting as it opens up the world of FPGAs to even more software engineers. Adam demonstrates how you can program an FPGA to accelerate machine learning operations using the PYNQ framework, from creating and training a neural network model to running it on Arm-based Xilinx FPGA with custom hardware accelerator blocks in the FPGA fabric.

FPGAs always had the stigma of being hard and difficult to work on. The idea of programming an FPGA in Python, was something that no one had even imagined a few years ago. But, today, thanks to the many efforts all around our industry, embedded technologies, including FPGAs, are being made more accessible, allowing more developers to participate, experiment, and drive innovation.

I’m excited that more computing technologies are being put in the hands of more developers, improving development standards, driving innovation, and transforming our industry for the better.

If you missed the conference and would like to catch the talks mentioned above*, visit www.embeddedonlineconference.com

Part 3 of my review can be viewed by clicking here

In case you missed the previous post in this blog series, here it is:

*This blog only features a small collection of all the amazing speakers and talks delivered at the Conference! 

Read more…

I recently joined the Embedded Online Conference thinking I was going to gain new insights on embedded and IoT techniques. But I was pleasantly surprised to see a huge variety of sessions with a focus on modern software development practices. It is becoming more and more important to gain familiarity with a more modern software approach, even when you’re programming a constrained microcontroller or an FPGA.

Historically, there has been a large separation between application developers and those writing code for constrained embedded devices. But, things are now changing. The embedded world intersecting with the world of IoT, data science, and ML, and the deeper co-operation between software and hardware communities is driving innovation. The Embedded Online Conference, artfully organised by Jacob Beningo, represented exactly this cross-section, projecting light on some of the most interesting areas in the embedded world - machine learning on microcontrollers, using test-driven development to reduce bugs and programming an FPGA in Python are all things that a few years ago, had little to do with the IoT and embedded industry.

This blog is the first part of a series discussing these new and exciting changes in the embedded industry. In this article, we will focus on machine learning techniques for low-power and cost-sensitive IoT and embedded Arm-based devices.

Think like a machine learning developer

Considered for many year's an academic dead end of limited practical use, machine learning has gained a lot of renewed traction in recent years and it has now become one of the most interesting trends in the IoT space. TinyML is the buzzword of the moment. And this was a hot topic at the Embedded Online Conference. However, for embedded developers, this buzzword can sometimes add an element of uncertainty.

The thought of developing IoT applications with the addition of machine learning can seem quite daunting. During Pete Warden’s session about the past, present and future of embedded ML, he described the embedded and machine learning worlds to be very fragmented; there are so many hardware variants, RTOS’s, toolchains and sensors meaning the ability to compile and run a simple ‘hello world’ program can take developers a long time. In the new world of machine learning, there’s a constant churn of new models, which often use different types of mathematical operations. Plus, exporting ML models to a development board or other targets is often more difficult than it should be.

Despite some of these challenges, change is coming. Machine learning on constrained IoT and embedded devices is being made easier by new development platforms, models that work out-of-the-box with these platforms, plus the expertise and increased resources from organisations like Arm and communities like tinyML. Here are a few must-watch talks to help in your embedded ML development: 

  • New to the tinyML space is Edge Impulse, a start-up that provides a solution for collecting device data, building a model based around it and deploying it to make sense of the data directly on the device. CTO at Edge Impulse, Jan Jongboom talks about how to use a traditional signal processing pipeline to detect anomalies with a machine learning model to detect different gestures. All of this has now been made even easier by the announced collaboration with Arduino, which simplifies even further the journey to train a neural network and deploy it on your device.
  • Arm recently announced new machine learning IP that not only has the capabilities to deliver a huge uplift in performance for low-power ML applications, but will also help solve many issues developers are facing today in terms of fragmented toolchains. The new Cortex-M55 processor and Ethos-U55 microNPU will be supported by a unified development flow for DSP and ML workloads, integrating optimizations for machine learning frameworks. Watch this talk to learn how to get started writing optimized code for these new processors.
  • An early adopter implementing object detection with ML on a Cortex-M is the OpenMV camera - a low-cost module for machine vision algorithms. During the conference, embedded software engineer, Lorenzo Rizzello walks you through how to get started with ML models and deploying them to the OpenMV camera to detect objects and the environment around the device.

Putting these machine learning technologies in the hands of embedded developers opens up new opportunities. I’m excited to see and hear what will come of all this amazing work and how it will improve development standards and transform embedded devices of the future.

If you missed the conference and would like to catch the talks mentioned above*, visit www.embeddedonlineconference.com

*This blog only features a small collection of all the amazing speakers and talks delivered at the Conference!

Part 2 of my review can be viewed by clicking here

Read more…

It's Not All Linux

In the comments section of my 2020 embedded salary survey, quite a few respondents felt that much of the embedded world is being subsumed by canned solutions. Will OSes like Linux and cheap, powerful boards like the Raspberry Pi and Arduino replace traditional engineering? Has that already happened?

A number of people complained their colleagues no longer understand low-level embedded things like DMA, chip selects, diddling I/O registers, and the like. They feel these platforms isolate the engineer from those details.

Part of me says yeah! That's sort of what we want. Reuse and abstraction means the developer can focus on the application rather than bringing up a proprietary board. Customers want solutions and don't care about implementation details. We see these abstractions working brilliantly when we buy a TCP/IP stack, often the better part of 100K lines of complex code. Who wants to craft those drivers?

Another part of me says "save me from these sorts of products." It is fun to design a board. To write the BSP and toss bits at peripheral registers. Many of us got a rush the first time we made an LED blink or a motor spin. I still find that fulfilling.

So what's the truth? Is the future all Linux and Pis?

The answer is a resounding "no." A search for "MCU" on Digi-Key gets 89,149 part numbers. Sure, many of these are dups with varying packages and the like, but that's still a ton of controllers.

Limiting that search to 8 bitters nets 30,574 parts. I've yet to see Linux run on a PIC or other tiny device.

Or filter to Cortex-M devices only. You still get 16,265 chips. None of those run Linux, Windows, BSD, or any other general-purpose OS. These are all designed into proprietary boards. Those engineers are working on the bare metal... and having a ton of fun.

The bigger the embedded world gets the more applications are found. Consider machine learning. That's for big iron, for Amazon Web Services, right? Well, partly. Eta Compute and other companies are moving ML to the edge with smallish MCUs running at low clock rates with limited memory. Power consumption rules, and 2 GB of RAM at 1 GHz just doesn't cut it when harvesting tiny amounts of energy.

Then there's cost. If you can reduce the cost of a product made in the millions by just a buck the business prospers. Who wants a ten dollar CPU when a $0.50 microcontroller will do?

Though I relish low-level engineering our job is to get products to market as efficiently as possible. Writing drivers for a timer is sort of silly when you realize that thousands of engineers using the same part are doing the same thing. Sure, semi vendors often deliver code to handle all of this, but in my experience most of that is either crap or uses the peripherals in the most limited ways. A few exceptions exist, such as Renesas's Synergy. They go so far as to guarantee that code. My fiddling with it leaves me impressed, though the learning curve is steep. But that sort of abstraction surely must be a part of this industry going forward. Just as we don't write protocol stacks and RTOSes any more, canned code will become more common.

Linux and canned boards have important roles in this business. But an awful lot of us will still work on proprietary systems.

View original post here

For novel ideas about building embedded systems (both hardware and firmware), join the 35,000 engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe

Read more…

The Anti-Quality Movement

by Jack Ganssle

[email protected]

Recently our electric toothbrush started acting oddly – differently from before. I complained to Marybeth who said, “I think it’s in the wrong mode.”

Really? A toothbrush has modes?

We in the embedded industry have created a world that was unimaginable prior to the invention of the microprocessor. Firmware today controls practically everything, from avionics to medical equipment to cars to, well everything.

And toothbrushes.

But we’re working too hard at it. Too many of us use archaic development strategies that aren’t efficient. Too many of us ship code with too many errors. That's something that can, and must, change.

Long ago the teachings of Deming and Juran revolutionized manufacturing. One of Deming's essential insights was that fixing defects will never lead to quality. Quality comes from correct design rather than patches applied on the production line. And focusing on quality lowers costs.

The software industry never got that memo.

The average embedded software project devotes 50% of the schedule to debugging and testing the code. It's stunning that half of the team’s time is spent finding and fixing mistakes.

Test is hugely important. But, as Dijkstra observed, testing can only prove the presence of errors, not the absence of bugs.

Unsurprisingly, and mirroring Deming's tenets, it has repeatedly been shown that a focus on fixing bugs will never lead to a quality product - all that will do is extend the schedule and insure defective code goes out the door.

Focusing on quality has another benefit: the project gets done faster. Why? That 50% of the schedule used to deal with bugs gets dramatically shortened. We shorten the schedule by not putting the bugs in in the first place.

High quality code requires a disciplined approach to software engineering - the methodical use of techniques and approaches long known to work. These include inspection of work products, using standardized ways to create the software, seeding code with constructs that automatically catch errors, and using various tools that scan the code for defects. Nothing that is novel or unexpected, nothing that a little Googling won't reveal. All have a long pedigree of studies proving their efficacy.

Yet only one team out of 50 makes disciplined use of these techniques.

What about metrics? Walk a production line and you'll see the walls covered with charts showing efficiency, defect rates, inventory levels and more. Though a creative discipline like engineering can't be made as routine as manufacturing, there are a lot of measurements that can and must be used to understand the team's progress and the product's quality, and to drive the continuous improvement we need.

Errors are inevitable. We will ship bugs. But we need a laser-like focus on getting the code right. How right? We have metrics; we know how many bugs the best and mediocre teams ship. Defect Removal Efficiency is a well-known metric used to evaluate quality of shipped code; it's the percentage of the entire universe of bugs found in a product that were removed prior to shipping (it's measured until 90 days after release). The very best teams, representing just 0.4% of the industry, eliminates over 99% of bugs pre-shipment. Most embedded groups only removed 95%.

Where does your team stand on this scale? Can one control quality if it isn’t measured?

We have metrics about defect injection rates, about where in the lifecycle they are removed, about productivity vs. any number of parameters and much more. Yet few teams collect any numbers.

Engineering without numbers isn’t engineering. It’s art.

Want to know more about metrics and quality in software engineering? Read any of Capers Jones’ books. They are dense, packed with tables of numbers, and sometimes difficult as the narrative is not engaging, but they paint a picture of what we can measure and how differing development activities effect errors and productivity.

Want to understand where the sometimes-overhyped agile methods make sense? Read Agile! by Bertrand Meyer and Balancing Agility and Discipline by Barry Boehm and Richard Turner.

Want to learn better ways to schedule a project and manage requirements? Read any of Karl Wiegers’ books and articles.

The truth is that we know of better ways to get great software done more efficiently and with drastically reduced bug rates.

When will we start?

Jack Ganssle has written over 1000 articles and six books about embedded systems, as well as one about his sailing fiascos. He has started and sold three electronics companies. He welcomes dialog at [email protected] or at www.ganssle.com.

 

Read more…

Internet of Things is the perfect example of something being so simple and elegant yet being an astounding and breakthrough innovation in the modern era of disruptive technologies. This technology has already projected its influence over typical machine-based industries like oil & gas, automotive, manufacturing, utilities, etc.

However, IoT is not only beneficial for production-based companies but can also be used for practical applications in B2C businesses like tourism and hospitality.

Internet of Things in the hospitality business not only helps hotels and restaurants to improve their services but also empower their guests to enjoy exceptional hands-on experiences. It creates a network of connected devices that offer smart and autonomous experiences to the visitors.

Internet of Things offers a ton of possibilities to a hospitality business. Big hotel chains like Marriott and Hilton have already implemented this disruptive technology to enhance their generous services and provide their guests with out of the box experiences.

Below are some applications of IoT that a hotel or any hospitality business can use:

 1.Guestroom Automation to Elate Customers:

After a long journey, guests expect a pleasant and warm stay from their temporary accommodation. They prefer a completely customized service as per their expectations and likings. Smart IoT solutions now empower hotels and guesthouses to provide their visitors exactly what they desire.

IoT allows the development of a centralized and connected network between different automated systems and appliances. For example, based on their desire and liking your guests can alter the luminosity and intensity of the lights from IoT based smart lighting solutions. Moreover, appliances can also conduct operations autonomously. For example, proximity sensors embedded in the room can detect the movement of the guest and turn on the coffee machine to brew the beverage.

You can also use this connected network to identify the preferences of your customers and use this information to surprise your customers with customized and personalized services the next time they visit.

Furthermore, hospitality businesses having their hotels in different locations can also share data about their customers in a common CRM to make sure that the guests come across the same experience in every branch of the hotel chain.

This cross-property integration allows hotels to keep their customers’ profiles in a centralized system that can be accessed distantly. IoT plays a crucial role in this as it enables a hotel to collect guest’s data and share it with its patrons via the common info management software.

 2. Predictive Maintenance of Room Appliance:

The biggest disappointment for a guest is when they enter their previously booked room and find a leaky pipe or damaged air conditioner. These instances not only affects the immediate experience of the visitor but also the overall reputation of your hotel.

In order to prevent these situations, you can use the predictive analytics capabilities of the IoT solutions. Smart sensors and meters can be installed in appliances and pipeline networks to identify the possibility of unexpected breakdowns and malfunctions before your guest encounters them. These sensors will notify the room service staff about bottlenecks and enable them to fix the issue before it actually occurs.

This predictive analytics system can hence be used by hotels to improve maintenance systems and prevent sudden failure of any appliance in any of the rooms. This not only will help you to boost your customer service but also protect your hotel chain’s reputation from getting spoiled. Additionally, you will also save a lot of money that is generally spent to repair the broken equipment at a moment’s notice.

 3. Guestroom Transforming Features:

The appeal of any hotel lies in its rooms. Primarily, it is the main aspect of a hospitality business that visitors’ book. Even if you give your users with relaxing spa vouchers or free-swimming pool amenities, they are more likely to be disappointed if you don’t provide them with best in class staying experience.

It is hence of utmost importance for any hotel to keep its rooms abreast with amazing features. One way to do so is by using devices powered with quintessential technologies that are capable of presenting an amazing experience to the guests.

Some of these devices include smart switches, electronic key cards, and voice assistants. Voice assistants Amazon Alexa can be programmed to specifically cater to the demands of the customer staying in the room. This IoT and AI-powered device will enable hotel staff to monitor the preferences and likings of the guests and provide personalized services the next time they visit.

4. Smart Solutions for Hotel management:

IoT not only empowers hospitality businesses to provide outstanding services to its guests but also manage other tasks related to its conventional operations. By using facility management services of IoT, a hotel can manage the consumption of its utilities and reduce the cost associated with its usage.

Furthermore, these solutions can also be used by hotels to manage inventory and optimize resource utilization. Hence, hotels can reduce their manpower and cut costs. Moreover, these services will also aid the business to increase its guest satisfaction through its unique staying experiences.

CONCLUSION:

The success of any hospitality business depends on the satisfaction it can provide to its guests. By using the technology of IoT and its features, a hotel can enhance its services and capture the heart of its guests.

IoT helps the hospitality business to enhance its services related to housekeeping and accommodation that in turn boosts the satisfaction of the customers. This also increases the reputation of the hotel chain which results in better business opportunities.

Read more…

IoT security is challenging but only few companies are taking action. Businesses are experiencing a significant rise in cyber-attacks and malwares, compromising devices and their security. In order to tackle this, Microsoft has taken considerable action and developed an end-to-end IoT solution, which is called Microsoft Azure Sphere that can safeguard the IoT devices from evolving threats.

 
Read more…

Upcoming IoT Events

More IoT News

Arcadia makes supporting clean energy easier

Nowadays, it’s easier than ever to power your home with clean energy, and yet, many Americans don’t know how to make the switch. Luckily, you don’t have to install expensive solar panels or switch utility companies…

Continue

Answering your Huawei ban questions

A lot has happened since we uploaded our most recent video about the Huawei ban last month. Another reprieve has been issued, licenses have been granted and the FCC has officially barred Huawei equipment from U.S. networks. Our viewers had some… Continue

IoT Career Opportunities