Create a fleet of custom Android advertising displays using the same underlying electronics and firmware. Build a diverse product line with minimal maintenance.
Continue reading4 Noteworthy Principles about Custom Android Development
Hatch’s General Manager lays out four simple yet valuable suggestions regarding the development of custom Android hardware.
Continue readingOptimizing Android for Power Constrained Applications
Hatch has made Android hardware a viable option for some low power IoT applications by optimizing hardware and software for energy efficiency.
Continue readingAndroid Reimanged: All Brains, No Body
Android is known for tablets and smartphones, but in today’s tech world it empowers products that most people don’t know exist. Take a look at what’s being done with Android.
Continue readingSupporting Innovation at the Local Level
Creativity drives innovation. Innovation creates value. Investing in innovation has created massive fortunes for venture capitalists. When local governments support innovation the community benefits. By fostering innovation as a service to the community, like public parks, cities develop a dynamic, entrepreneurial, and competitive workforce while driving value creation through innovation.
Societies that support the spirit of innovation create a platform from which commerce and culture flourish. Creative people become innovators with access to the right resources (mentioned below). Making these resources available to the masses opens the door for people, who may otherwise have no chance, to pursue their creative dreams.
Since Hatch focuses on custom Android hardware development, this article relates to creating an innovation infrastructure for hardware related projects, specifically in the electronics space. Driving innovation in the software space requires less physical infrastructure, as the main inputs for that are computers and teachers.
A local government can start to support grassroots hardware development by embracing and empowering key groups. These groups include engineer associations, makerspaces, and business or academic communities. People who are passionate about their creative pursuits help spread that passion and experience to newcomers. Put these people under one roof, like a makerspace, where mentors teach and students undertake demo projects to develop their engineering skills.
In addition to education, newcomers need materials used for product development. That way they can apply the concepts they learn and experiment new ideas on their own. Useful materials include engineering tools like soldering irons and measurement tools, electronics like development boards, and electronic components. The same principles of development apply to many kinds of products. For that reason the mentors should focus on only 2 kinds of development boards. Using just 2 different boards will build a deep competency, while providing principles for further development.
After 1-2 years of educating the community, engage local companies to get involved. They can give students real life assignments and training. Like an internship program. The goal is to have the students develop prototypes for experienced companies, under the supervision of the company. This gives students a goal to work towards and a chance to receive an evaluation of their work. Companies have the chance to give back to the community, get development services for a reduced cost, or find new employees through their participation.
Empowering creative people to pursue their interests builds an ecosystem of innovation. Much like Silicon Valley did with the internet and Montreal is doing with video games, prosperous cities must embrace changing workforce needs. Providing resources to attract creative people and give them the means to exploit their creativity is one of the cheapest and most effective ways for a society to generate advanced competency and prosperity.
2 Tips to expedite custom Android hardware development
Developing a custom Android product, like all new product development, is a process of educated trial and error. Developers with more experience require less experimenting, but, at an acute level, each product comes with unique challenges to resolve. The key to faster development is reducing unknowns in the development process. In this article we’ll look at two ways to remove unknowns that affect the initial stages of a product’s development.
Custom electronics development consists of 3 main engineering disciplines. In no particular order, there’s the electronics, mechanical (case), and firmware design. Within these 3 parts, the integration of the electronics with the case requires another layer of engineering attention.
Building Electronics into an Existing Case for Early Production Runs
In China’s electronic manufacturing ecosystem, some companies just sell cases. These ‘open market’ cases are generally for high volume commodity products (like Android tablets and smartphones). The case suppliers don’t make the final product, but sell their cases to companies that make the final product. The case supplier makes assessments about what design(s) will sell well, invests in molds for the cases, and sells their cases on the open market. Buyers include factories that make the final product or product companies that do their own component sourcing.
Case manufacturers will help electronic engineers design electronics into the existing case. In this scenario the electronics engineers don’t need to go through the trial and error process of designing new electronics into a new case. At the same time the company buying the finished product doesn’t need to spend the time and money to invest in making a custom mold.
Easily update the Android OS or individual apps
OTA, the acronym for ‘Over the Air’, refers to pushing software updates to remote hardware over the internet. This is commonly seen when a new iPhone or Android OS version comes out. When that happens people using an older phone will get a notification asking if they want to update to the newest OS. This is an OTA update. OTA updates are great for custom Android devices. The alternative is having to manually update each device, which takes substantially more time and money, sometimes making it impractical.
A custom Android device’s firmware and special, embedded, apps also go through an ongoing development process. Ideally, by the time the units go to mass production all the software is final, but it’s common to discover bugs or have software updates after units are produced. This is even more true before mass production, during the development process. Modifications to either the firmware or apps that run on the device happen daily. Delays in trial production due to finalizing either of these softwares are completely unnecessary with OTA capability on the device.
In summary
Reducing moving parts and uncertainties makes development faster and less risky. When changes are necessary, which they almost always are, making them as easy as possible also makes development faster and less risky.
Benefits of MDM software in Custom Android Hardware
This article goes over the benefits of Mobile Device Management (‘MDM’) software in application-specific custom Android hardware. MDM software is specific to mobile devices and gives a central authority means to remotely control and interact with many end devices (through an internet connection). The number of devices the MDM controls could range from just a few devices to millions of devices. Devices could be located anywhere in the world. MDM software is commonly used by companies to control and protect sensitive data on personal devices of their employees, but it also can be used with single application devices. Here we focus on the use of MDM solutions in single application, sometimes standalone, devices.
MDM software works by installing an app on an end device (for example an iOS or Android phone or tablet). The app has the ability to modify settings, push data, and control the end device it is installed on. The MDM app is controlled remotely. This means each device can be controlled remotely, from one central location. Imagine a wall of TV’s that can all be controlled with one remote control. This is a simple example to help visualize one central point controlling multiple end devices. The ability to control thousands of devices remotely, in real time, creates tremendous efficiency compared with having to manually make changes to each device individually.
There are scores of companies that make MDM software. Even Google makes MDM software. For the most part these MDM software providers allow any modifications that can be made on the device, and usually more, to be made remotely.
When considering which MDM solution to use for standalone, single application, devices, many of the features useful with employee devices are the same, although there are some differences. In this article the meaning of ‘standalone’ device is a device that stays in one place, like an interactive menu at McDonald’s, rather than a device that someone carries on a day to day basis, like an iPhone. Here’s a refined list of MDM features that matter the most for single application, standalone, custom Android tablets or phones.
Device Configuration
Suppose there are 5000 Android medical devices deployed in hospitals across a country. After experiencing connectivity problems your IT department decides the devices should use a VPN to connect to the internet. Through the MDM’s online interface the VPN settings of all 5000 devices can be updated at once. Updating device configuration like VPN, APN, notifications, wireless connections, brightness, can all be done using a MDM software.
Kiosk Mode
This is a device status that restricts access to the device (often referred to as ‘locking’ the device), allowing someone to only use a limited number of apps (possibly just one) on the device. An example where this would be useful is when hotels use Android tablets for checking in new guests. The hotel just wants the guest to use the check-in interface, and not have the ability to use the internet browser, download any apps, or any other functionality than checking in.
Monitoring/Analysis
Visibility on a device’s status provides insight into its health and condition. Data transmission, battery level, application usage, location, and even the camera are some examples of what MDM software can monitor on a device. This list could go on. In addition, the MDM software provides visibility on physical conditions such as device temperature and movement. When a device runs abnormally hot for a long period of time that can damage components which will break the device. There’s also risk of damage to a device that suffers from being dropped or handled in an abusive manner.
Updating apps or the Android OS Over The Air (OTA)
OTA makes it possible to update firmware or apps over the internet. The alternative is manually updating each device using a USB cable. Think about OTA as an essential insurance policy. Essential because the costs are minimal, while the value is extremely high. It’s almost a given that apps or the OS will need an update, as new features and security patches become available.
Remote Access
Examples of uses for remote access include troubleshooting device or user problems, erasing data, and shutting down devices. The ability to address problems remotely reduces the need to send technicians for service calls, and the associated costs.
Other noteworthy MDM features include Unified Endpoint Management (‘UEM’) functionality and how to download the MDM. A UEM solution provides control over multiple endpoints (endpoints means ‘devices’), including devices running non-Android operating systems or a Real Time OS. This is more complex and used in specialized scenarios. Downloading the MDM app on a device is an issue when using MDM in Bring Your Own Device (‘BYOD’) scenarios. When devices are made for specific use cases the MDM app can be embedded in the firmware before manufacturing, eliminating the need to download it later.
Further research will reveal more MDM features, but for the majority of use cases the topics covered in this article should give a solid understanding of what to look for in MDM services.
Does your Custom Android device need GMS?
To the general public, Google is synonymous with Android in large part because of Google Mobile Services (‘GMS’). GMS refers to a mix of popular apps and backend services (provided by Google) that run on Android. For the most part all consumer Android tablets and smartphones have GMS on them. When making a custom Android product for use in business, commercial, industrial or medical settings GMS becomes less vital; in many cases unwanted. This article explores what benefits GMS brings to Android products and why it’s not suitable for many custom Android products.
What is GMS?
Pure Android, often referred to as Android Open Source Project (‘AOSP’), is a robust, mature, and flexible mobile device Operating System. Since Android is open source many companies have spun off unique versions of Android. An online search for ‘custom Android ROM’ comes up with scores of examples. Apps are installed on top of the base Android OS. GMS includes many popular apps such as Google Maps, YouTube, Gmail, Play, and several others. GMS also provides services that improve the Android experience like auto app updates, location services, notification services, and others.
A product that comes with GMS has passed a series of performance and usability tests. CTS and GTS are automated software based tests that test the devices’ hardware performance and compatibility with Google apps, respectively. These tests ensure that any Android device (with GMS) will satisfy a user’s expectation of quality and, regardless of the brand, all Android devices provide a similar user experience.
This works well for consumers and for Google. Consumers get a great device and operating system loaded with useful apps for free. Google, an advertising company that leverages user data to deliver high value ads, gets more user data to monetize. The amazing free software Google provides, like Android or Google Docs, the software this article is written on, all serve the business case of delivering high value ads.
Is GMS necessary for a custom Android product?
While GMS works great for consumer devices, many companies producing custom Android devices for alternative uses (commercial, business, medical, industrial) just want Android and not Google. GMS comes with a lot of obligations for manufacturers. Firstly to get GMS the device must use the newest version of Android. Using the newest version of Android poses a problem for custom devices. Most custom Android devices run a special app. App development happens at the beginning of a project; usually on a generic retail device, well before starting a custom device. Between the time app development starts and mass production of a custom product several versions of Android could have passed. The brand has no reason to update the Android version and probably reasons not to. Updating the Android version means having to retest the app and modify the code so the app works smoothly with the new Android version. New versions of Android usually have updates which benefit consumers, but only sometimes are relevant to custom products. Custom Android products need stability more than the latest feature updates.
Meeting the requirements of GMS limits the customization possibilities. Hatch does varying degrees of firmware modification on all of our projects. Due to the kind of customizations Hatch’s clients need, most products wouldn’t pass CTS and GTS, prerequisites to obtain GMS. Beyond this, GMS is the link between Android and Google. Companies may not want to share information about their business with Google.
How does not having GMS affect Android’s usability?
On the surface, devices with GMS certification come with some of the most popular Google apps like Maps, Play, YouTube, Gmail, and several others. Under the surface GMS powers important features like location services and OTA updates. While Google’s apps aren’t usually applicable to speciality Android products used for commercial, industrial, or medical purposes, the backend services are useful. Devices that don’t come with GMS need alternative ways to include these important backend services. Brands can either manage these services by themselves, use outside companies or open source projects (like F-Droid and MicroG) that offer ‘GMS-alternative’ services.
Google has a mobile device management (‘MDM’) platform for enterprise customers. To use Google’s MDM software the device must have GMS. There are third party MDM providers that provide the same services without the restrictions inherent to GMS. Retail products struggle to find a seamless alternative. Huawei was forced to create an alternative when they lost the right to work with Google. They came out with HMS to replace GMS, but Huawei is one of the biggest mobile phone manufacturers in the world. Not everyone has such deep pockets, and even HMS struggles to compete with GMS from a user experience standpoint.
What’s the verdict on GMS?
In most cases custom Android devices made for specific use cases not only work well without GMS, but don’t need GMS and wouldn’t meet GMS certification requirements anyway. Removing the challenges that come with having GMS opens up possibilities to fully customize Android hardware. Alternative software solutions exist for replacing the parts of GMS that non-GMS devices need. So, for the most part, GMS is great for consumer Android products, but isn’t necessarily beneficial to custom Android devices.
Embedding Android into Industrial Equipment
Embedded Android hardware and other IoT electronics are becoming more prevalent in traditional machines; turning traditional machines into smart devices. A smart device is a product that can communicate information to and from the internet directly or indirectly (like through Bluetooth). That means a person or computer can control the device and receive data from the device remotely. A simple and early example of this is embedding a temperature sensor and internet connectivity into an air conditioner so it turns on/off automatically or can be monitored and controlled remotely. A more complex example is embedding different sensors into parts of farm equipment for preventative insights into upcoming mechanical failures.
The list of examples goes on. Traditional devices from refrigerators to electric meters to exercise equipment are all undergoing a renaissance thanks to small, low power electronic systems powered by Android or other RTOS operating systems. There are many benefits to making devices ‘smart’. One major benefit is the ability to monitor devices and their surrounding environments remotely. This saves labor cost and alerts companies about problems more quickly or in advance of the problem happening.
Recently Hatch was tasked with redesigning a custom Android device for use in a freezer. This device was originally designed for external use. Embedding the custom Android device in a freezer comes with new challenges. Challenges exist with integrating any new electronics into an existing device. If nothing else the challenge is where to position the device, but usually these challenges extend much further.
In the case of embedding an Android device into a freezer the initial key considerations were how to avoid high temperature and weak signal strength. The location of the Android device ideally has a room temperature and does not block the signal. Except for inside the freezer, other parts of the freezer are subject to higher temperatures coming from the motor that drives the cooling function. Freezers are built with insulation and metal materials which, in addition to restricting air circulation, decrease or block cellular signal strength.
Normal operating temperature of electronics is 0-70 degrees Celsius (32-158 degrees Fahrenheit). Automotive and military grade electronics have a wider range, but those electronics also have higher costs, which wouldn’t work for this project. In normal room temperatures around 21 degrees Celsius (70 degrees Fahrenheit), Android electronics, primarily the CPU or other ICs, regularly reach 50-55 degrees. In a 50 degree Celsius environment the operating temperature will easily exceed 70 degrees Celsius. So the first challenge is finding a place where the baseline temperature won’t get too high.
The rugged construction of a freezer will often impact the quality of signal strength. To ensure a high quality cell signal, it’s necessary to put the Android device inside the freezer and test whether there’s any signal blockage. A location with both good signal strength and the right temperature may require a custom electronics design to fit properly.
Other electronics changes should be taken into consideration when making the custom design. Freezers use a higher voltage than a typical Android device uses, so an internal power adapter is necessary when power goes from the freezer to the Android device. The physical connections used by the freezer are also different from a normal wall or USB plug.
Temperature, signal strength, design, interfaces, and components are all important factors that go into creating custom embedded Android hardware that go inside any industrial device. Each industrial device will come with its own set of challenges. More obvious challenges we can foresee and design around. Others become clear through proper testing. Like any custom project, getting the best result comes from taking the first step, testing, finding problems, and fixing them.
Pros and Cons of a Custom Case for your Android Device
Different companies have different reasons for making a custom Android device. For some companies the case design isn’t one of those reasons. In this situation is there actually a reason to make a new case rather than using one that already exists?
A little background about using an existing case design. For the most part mass market Android devices are commodities, almost by definition. The technology, interface, and design of products with similar specs are fairly similar. It’s tough for white label brands to distinguish their products from other white label brands. With commodity products one company will supply a case, another company will supply the pcba, and other components, like screens, cameras, and batteries, come from their respective suppliers. The case, pcba, and other components end up in an assembly factory where they become a final product.
Companies that don’t need a custom case design have other reasons for making a custom Android product. Other reasons include having a more predictable and transparent supply chain or to make customizations to the firmware and/or electronics. When a custom case design isn’t needed, it’s possible to build the product using an existing, generic case from a mass market case supplier.
Benefits of Using an Existing Mold
The arguments for using an existing case are clear and valid. Using an existing case design saves the cost of making a new one. Using an existing case allows for faster development time since it’s not necessary to go through prototyping, manufacturing, testing, and modification processes. Product feedback from initial mass productions is also a good way to learn more about what customizations could be made to a caThe arguments for using an existing case are clear and valid. Using an existing case design saves the cost of making a new one. Using an existing case allows for faster development time since it’s not necessary to go through prototyping, manufacturing, testing, and modification processes. Product feedback from initial mass production(s) is also a good way to learn more about what customizations could be made to a case in the future. That way when the time comes, the investment of time and money in a custom case design has less risk. Faster development, lower cost, and education are strong arguments for using an existing case in the early stages of a new product.
Benefits of Making your own Mold
Once there’s stable demand for a new product, with regular orders coming in, it’s important to have an equally stable supply chain. This is where the value of having your own case becomes more evident. There are certain risks that come from sourcing a case from a third party supplier. Firstly if the company which makes the case goes out of business it will be difficult, if not impossible, to continue sourcing the same case. Knowledge of their closure may not be known until it’s time to make a new order, at which point it’ll become necessary to source a new case and most likely redo the electronics design.
Another risk is that, since other companies are buying the same case from the same supplier, the mold gets broken. This happens over time when molds are used often. Molds have different quality levels. Mass production molds usually have an expected production output of 100k – 500k, depending on the material used in the mold. If the case is popular and many customers are buying it the case supplier will usually fix the original mold or make a new one. If demand for that case has waned, the supplier may decide it’s not economically viable to continue producing that case. There’s also a small risk that a large client makes a deal with the supplier to give them exclusive rights to that case. In this case the supplier won’t be able to sell the case to other customers.
Summary
For faster, lower cost development, using an existing case, assuming that’s an option, has clear upsides. As order volume increases a company should look into making their own case to improve supply chain reliability. With higher volume orders, the cost of making a custom case becomes less of a risk as it reliably gets amortized into more units.