Developer Blog

Developer of the month: Sleep monitors and Qualcomm Snapdragon with Evan Shapiro

Dec 7, 2016

Qualcomm products mentioned within this post are offered by Qualcomm Technologies, Inc. and/or its subsidiaries.

Embedded deep learning for a better night’s sleep? This might be the coziest-sounding use of a Qualcomm Snapdragon processor we’ve ever heard of.

Meet Qualcomm Developer of the month Evan Shapiro, and his company Knit Health, Inc.

Knit Health was born from a group of new parents, interested in new tools and technology to help parents in the consumer space. Evan says ‘We (co-founders Evan, Paul and David) worked at global design firm IDEO for over 10 years. We have experience in product design and engineering for many consumer and healthcare domains. We decided to combine our shared expertise in science, engineering, and product design to launch Knit Health.’

We caught up with Evan to talk product design and poker…

Tell us a little about your company.
Knit Health is building a smart camera to measure health. Our first product is designed for parents of young children, and measures sleep and respiration. The camera is based on the Snapdragon 410 processor, with embedded deep learning model and signal processing. The launch client app for beta users is iOS only, with Android version coming next year. We currently have a Kickstarter campaign to sell our first units to early adopters.

What advice would you give to other developers?
Don’t spend too much time designing and wireframing the ideal solution. Focus on tools and methods that get you something, anything, that works as fast as possible. Your conception of what should be done changes so much after taking the first steps, that a lot of the effort you put in to architecting the ideal long-term solution is wasted. When building something new you should be in the mindset of rapid prototyping, failing early, and iterating quickly.

What makes your company culture unique?
Five of the nine full-time employees are parents of young children. This is unique for San Francisco startups, and we have a family friendly culture. You don’t have to be a group of 22-year-olds willing to put in 14 hour days at the office to build something amazing.

Share with us a fun fact about yourself?
I used to be a professional internet poker player, which was the inspiration for my first company, which built tools and subscription data services for professional internet poker players.

What do you love about embedded and IoT development?
Being able to work across the full stack, from metal to cloud to client, we have end-to-end control over everything that makes up our end-user experience.

Where do you and your team get inspiration for your work?
From games, to dev blogs, to science publications, we all share a genuine passion for science and engineering.

When enduring a long day, how do you and your team stay energized?
Go to the coffee shop for a hot chocolate, the dumpling shop for a bite, or the brewpub for a beer- San Francisco is a great place to work!

Where do you see the IoT industry in 10 years?
“IoT” is a temporary term, that only makes sense in the context of a world filled with ‘dumb’ things. In 10 years, the ‘Internet of Things’ industry will just be the ‘Things’ industry.

What Qualcomm technologies are featured in your projects?
Our smart camera is built on the Snapdragon processor, and runs Linux (Linaro).

How does the Snapdragon processor assist in the final product?
It’s the backbone. The 410 is a standout in its value class, and provides the power we need at a cost that is suitable for a consumer grade product.

Did using this specific Qualcomm technology speed up your development process?
The DragonBoard 410c and 96Boards (Linaro) greatly aided in speeding our BSP, kernel, and driver level development.

Follow @knithealth on Twitter or visit the Knit Health website for more information.

 

Qualcomm Snapdragon is a product of Qualcomm Technologies, Inc.

 

Mike Roberts

Senior Director of Global Product Marketing

More articles from this author

About this author

Related News

Developer

Hardware-software convergence: Key skills to consider

Hardware-software convergence, or how hardware and software systems are working more closely together, illustrates how each are empowering (and sometimes literally powering) the other. And in our current development environment, this is happening more than ever. Of course, deep technical skills will be of the utmost importance to navigate this technological trend, but it is also the soft skills we apply to our engineering practices that are as important in determining our success.

What skills do developers need to nurture, and how do you put them to good use? In this piece, we’ll cover three soft skills developers can use to stay ahead of the hardware-software convergence, and share resources to help you grow and maintain those skills.

Creative inspiration

First off: Creative Inspiration. While it’s easy to identify your technical shortcomings and fill those gaps with training and practice, knowing which soft skills to hone can be a lot more complicated. In fact, you could even think of these soft skills as “mindsets,” since they’re more about how you approach a problem instead of just being a tool you use to solve it. For this first skill, it will be important to start approaching challenges antidisciplinarily, rather than relying on existing mental frameworks. That’s what being creative is all about – finding new ways of doing things.

So where do you start? Ask yourself this question: What is the dent you want to make in the universe? Begin from a place of passion – think about what problems and projects keep you up at night, and what issues big or small you want to solve.

Then, understand that creative inspiration is a process. What seems like overnight genius is often the result of many erroneous attempts (ex: Thomas Edison’s 1,000 or so attempts in creating the lightbulb) and then having the fortitude to gain deeper understanding of an issue to then apply your imagination. We particularly like the design thinking method, which encourages starting from a place of inspired empathy and developing knowledge through lean prototyping and iteration. The Stanford D.School has a Bootcamp Bootleg that you can download for a quick start guide to this design framework.

Apr 17, 2017

Developer

4 new IoT development kits for Bluetooth Low Energy applications

Get your Bluetooth® Low Energy IoT applications ready for a new family of development kits based on the CSR102x modules from Qualcomm Technologies International, Ltd.

The CSR102x family is designed to reduce the development time of the Bluetooth-connected IoT applications your customers are asking for:

Heart rate sensors, security tags, general IoT – The CSR102x Starter Development Kit is a good entry point for IoT development, with I/O expansion connectors for off-board sensors and actuators. It’s ideal for software developers looking to make the transition to embedded programming.
Lighting, home automation, sensor networks – The CSR102x IoT Development Kit is a package of 3 target boards made for networking Bluetooth devices and equipped with on-board LEDs, buttons, switches and sensors.
Beacons, proximity tags, wearables – The CSR102x Bluetooth Node Development Kit is powered by a coin cell battery, comes in a small footpod form factor, and includes a chip antenna, motion sensor, programming connector and internal flash.
Health & fitness, keyboards, mice, alert tags, keyless entry – The CSR102x Professional Development Kit is made for flexibility, with a pluggable CSR1025 chip module and multiple power supply options. It’s built to accommodate application-specific plug-in boards, currently the Sports Watch Application Board and the Smart Remote Application Board (sold separately).

Because “IoT” means so many different things to so many different developers, the CSR102x family covers a wide spectrum of application possibilities. It also checks three of the most important boxes on your IoT shopping list.

The CSR102x Development Kits – Low active power, low overall cost and security

Always-on devices are always-need-power devices. The CSR102x modules feature built-in power regulation and low active power consumption, with less than 5mA active current for transmit and receive operations. In the right applications, a coin cell battery in these modules can last for years.

Somewhere in the family you’ll find a kit with the hardware configuration you’re looking for. To keep your overall system costs low, we’ve designed the CSR102x kits so that very few external components are needed. The modules are implemented with only a single crystal, and you’ll find a direct connection between the antenna and device on each kit. The application boards include all the input controls, sensors and radios for prototyping a sports watch and smart remote control.

Without security, you don’t have much of an IoT story, so the CSR102x modules include application-level security features including encryption, authentication and over-the-air updates (OTAU) which are designed to prevent software running on them from being easily compromised. Applications downloaded may be authenticated using a SHA-256 hash and RSA-1024 signature, and may (at your option) be encrypted using AES-128 – only being decrypted before being loaded into RAM.

The CSR102x family picks up where the CSR101x family leaves off, adding new storage options for application software, lower power consumption, and support for the higher data throughput and additional security features of Bluetooth 4.2.

Are the CSR102x Development Kits right for you?

If you’re an embedded developer with C programming experience, you can dive right in to any kit in the family and start prototyping new apps in no time.

If you’re an app developer who’s been looking for a smooth path into embedded programming, we’ve made the CSR102x Starter Development Kit with you in mind. The IDE that comes with the kit includes full documentation on building sample apps and getting them downloaded to the hardware. The board includes expansion connectors and a programming and debugging interface to connect to the host development PC.

There’s no need for extensive knowledge of processor or Bluetooth technology. You can get the examples up and running quickly with basic knowledge of embedded design and C programming skills.

Next steps

If there’s a one-size-fits-all for IoT, we haven’t found it yet. (And we would know.) That’s why we release our kits in families, with different applications and form factors in mind.

Have a look at our CSR102x Development Kits and find the one that best suits your needs:

Starter Development Kit
IoT Development Kit
Bluetooth Node Development Kit
Professional Development Kit and separate Sports Watch Application Board and Smart Remote Application Board

You’re just a couple of clicks away from taking your IoT development to the next level.

Mar 30, 2017
Developer

Heterogeneous Computing: An architecture and a technique

If you’re looking to create great mobile experiences, optimization isn’t optional: it’s a crucial step that helps transform good ideas into great execution. In our previous “Start Cooking with Heterogeneous Computing Tools on QDN” blog, we discussed the concept of heterogeneous computing and how it can help you get more from mobile hardware by sending computational tasks to the best suited processor. Heterogeneous computing is designed to help you achieve better application performance while improving thermal and power efficiency.

However, not all systems capable of heterogeneous computing are created equal and it’s important to understand why. Heterogeneous computing is both a computational technique and a hardware architecture. To achieve greater benefits, you are better served with hardware architected for heterogeneous computing from the ground up along with a software stack that facilitates heterogeneous computing techniques. It’s the combination of purpose-built hardware and a software stack offering granular control within a larger framework of system abstraction that allows for the deep optimizations that heterogeneous computing can deliver.

The Qualcomm Snapdragon Mobile Platform is designed on these principles. This starts with the microarchitecture – the choices made in platform circuitry that include how individual processors are engineered for high performance and how to optimize compute paths between the processors. Let’s look at the main components of the Snapdragon mobile platform and a few of the microarchitecture considerations that went into its design:

Qualcomm Kryo 280 CPU

Designed to handle complex workloads like web browsing and in-game artificial intelligence, the Kryo 280 features an octa-core processor with independent high efficiency and high performance core clusters. During normal operation, the high efficiency cores run most tasks while the high-performance cores activate for anything needing more power.

Qualcomm Hexagon 682 DSP

With the Hexagon wide Vector eXtensions (HVX), the Hexagon DSP excels at applications requiring heavy vector data processing, such as 6-DOF (or Degrees of Freedom) head motion tracking for virtual reality, image processing, and neural network computations. With a 1024-bit instruction word capability and dual execution of the control code processor and the computational code processor within the DSP, Hexagon can achieve breakthrough performance without draining system power.

Qualcomm Adreno 540 GPU

Ideal for arithmetic-heavy workloads that require substantial, parallel number crunching like 3D graphics rendering and camcorder image stabilization, the Adreno GPU is engineered to achieve improved power efficiency and 40% better performance than predecessors. Designed to deliver up to 25% faster graphics rendering and 60x more display colors compared to previous designs, the Adreno GPU supports real-life-quality visuals, and can perform stunning visual display feats like stitching together 4K 360 video in real time.

Heterogeneous computing in microarchitecture design

Beyond the performance enhancements among the individual processors, the Snapdragon mobile platform was designed to optimize the use of the processors together. For example, the Hexagon DSP can bypass DDR memory and the associated data shuffling CPU cycles by streaming data directly from sensors to the DSP cache. Similarly, the Adreno GPU supports 64-bit virtual addressing, allowing for shared virtual memory (SVM) and efficient co-processing with the Kryo CPU. These are just two of the microarchitecture design choices in the Snapdragon mobile platform that make it cutting-edge for heterogeneous computing.

Software

As we noted at the beginning of this post, heterogeneous computing is also a technique. And to truly support heterogeneous computing requires a software stack that provides developers the abstractions and the control to leverage the optimizations in the hardware per the requirements of their application.

To program the DSP or the GPU for heterogeneous computation, and to maximize their performance, developers can use the Qualcomm Hexagon SDK and the Qualcomm Adreno SDK, respectively. These SDKs open a toolbox of controls allowing for precision manipulation of data and computational resources.

For system-wide heterogeneous computing control, Qualcomm Symphony system manager SDK provides the software utilities designed to achieve better performance and lower power consumption from the Snapdragon mobile platform. Symphony is designed to manage the entire platform in different configurations so that the most efficient and effective combination of processors and specialized cores are chosen to get the job done as quickly as possible, with minimal power consumption.

On top of these SDKs it is possible for developers to build their applications directly – many developers opt for this route. However, there is a growing ecosystem of SDKs, frameworks and supporting libraries for accelerating development within a given application domain. Two examples of this are QDN's Adreno SDK for Vulkan for the Vulkan graphics API and our recently released Snapdragon VR SDK.

How to Put Heterogeneous Computing Techniques into Practice with Tools from Qualcomm Developer Network

Mar 23, 2017

Join the conversation.