The winners of the ARM® Smart Product Design Competition each produced real world problem-solving products in just three months, all without prior experience with ARM tools.
The top five finishers were announced today, with Clemente di Caprio of Rome, Italy, taking first prize for his sleep Apnea Observer app, which monitors sleeping noises and detects sleeping irregularities.
“I found it very interesting that none of them had previous experience with our tools, and they just dove in and learned how to work with a professional tool, all on their own time,” said Reinhard Keil, director of microcontroller tools for ARM. “They stuck with it and produced impressive results.”
The competition was launched in February 2015 to raise awareness of how easily products can be designed with ARM CMSIS software components and middleware.
“CMSIS is an approach to lower the entry barrier for MCU developers and provides them with everything to quickly start and see results in their projects,” Keil noted.
The winners—from as far afield as Buenos Aires, Sao Paulo, Tubingen, Germany, and Dayton, Ohio—were narrowed down from an entry list of 750. They will receive prize money ranging from $5,000 to $500.
I asked the winners for their observations on the challenge and what they learned in the process.
1st place ($5,000 prize): Snore Detector and Apnoea Observer
Clemente di Caprio, Rome, Italy
Di Caprio, a former embedded engineer who now works as a network administrator, is inspired by healthcare-related solutions. In addition to his idea for a snore detector, di Caprio is considering a design to help prevent falls among the elderly, and a “loud sounds” translator.
His winning application runs on the NXP LPC4330, a dual-core microcontroller combining ARM Cortex®-M4 and Cortex-M0 processors. The Cortex-M0 handles the data acquisition and storage, whereas the M4 does the actual audio analysis, making use of the integrated digital signal processing functionality. The project makes use of the Keil® MDK-Professional file system component and uses CMSIS-Drivers to interface with the memory card, serial and audio interface.
“This is the first time I’ve ever won a contest,” said di Caprio. “I learned so many things, such as digital signal processing, manipulating data through Octave software and Keil debug functionality.”
His chief advice is to take care when selecting the right microcontroller, pay close attention to errata within supporting documents and focus only on what is necessary for the project.
2nd place ($3,000): WhereSat Ham satellite finder
Stephan Lubbers, Dayton, USA
Lubbers, who writes firmware for automotive products, volunteered a few years ago to write some code that went into orbit in an Amateur Radio satellite (AMSAT-NA Fox-1).
“My project for this contest could provide me with the means to locate ‘my satellite,’ hear its transmissions, and provide me with positive feedback that my software is working,” he said.
His WhereSat is a portable tool for locating Ham radio satellites, which are not placed in a geosynchronous orbit and therefore need to be tracked.
The application runs on a Cortex-M4-powered STM32F429 board from STMicroelectronics that uses the MDK-Professional middleware and CMSIS-Drivers for file system, USB communication and graphical user interface.
Lubbers managed the tight deadline by listing a number of features he wanted in his design and narrowed the list to a critical subset.
He also called out the support libraries as key to his project turnaround.
“The support libraries were amazing,” Lubbers said. “In the past, I’ve had to write file handling, USB, display, and so on. With this set of tools, I checked a few boxes and had all of the support services I needed.”
3rd place ($1,000): Water consumption monitoring system with web interface
Waldemir Cambiucci, Sao Paulo, Brazil
Cambiucci’s project was driven by a massive problem facing not only Brazil but many parts of the world: drought.
“We’ve suffered through the lowest amount of rainfall recorded for many regions in Brazil,” said Cambiucci. “While the authorities were working to solve the problem and encourage conservation, we still had a lack of tools and solutions to inform how we are consuming water in a real-time way.”
Cambiucci’s “WaterDeck” solution connects water flow sensors, water level sensors for tanks and pump actuators in a model environment, all controlled through a web interface.
It runs on a Freescale® Kinetis K64F MCU with an ARM Cortex-M4 core. It uses CMSIS-Drivers to connect to the sensors and actuators as well as the Ethernet interface, and the MDK-Pro Networking components for implementing the web interface.
“This was a great opportunity to imagine how an Internet of Things (IoT) solution could help,” he told me. “In the same way, the ARM contest was a tremendous opportunity to focus on this challenge.”
Cambiucci, chief technical architect with the Microsoft Technology Center in Sao Paulo, said simulation was key to design productivity.
“Even before my Freescale microcontroller arrived, I was already designing the simulation, choosing tanks, sensors, cables, sizing, and so on,” he said.
He also offered designers some sage advice, given the noisy conversations around designing IoT solutions: Focus. Focus. Focus.
“It is easy to be lost or start using much more than we really need,” he said. “So before any coding, try to define clearly, what your real scenario is.”
4th place ($500 prize): Framework for IoT workshops
Fernando Lichtschein, Buenos Aires, Argentina
Lichtschein is a technology consultant and hobbyist who is fascinated by the possibilities of IoT applications. But he needed a way to experiment—to join the physical world embedded systems users deal with the “more abstract” environment of the software developer.
His project is an educational platform for IoT applications, providing a high-level tool to learn all about connecting an embedded system including sensors to the ThingSpeak cloud services provider. It all sits on top of the RTX RTOS, enabling easy addition of further functionality.
The Infineon XMC4500 platform was used in this project, and it uses CMSIS-Drivers to connect the Ethernet interface and sensors via USART.
“I am only a hobbyist, but I think that the trend to use higher-level functions and real-time operating systems is very important as the devices get more powerful and with more integrated devices,” he said.
5th place ($500): CamBot with optical image recognition
Bernhard Schloß, Tübingen, Germany
The “CamBot” is an autonomous 3-wheeled robot that uses an analog camera to automatically follow a route marked by a black line. (Team pictured left, L-R, Kai Zimmermann, Schloss and Raoul D’Uva). It uses a clever combination of a CMOS camera, stepper motors and the on-board display to make efficient use of the available pins on the STM32 Discovery board.
The image processing is all done on the Cortex-M4-based STM32F429 MCU. CMSIS-Drivers for I2C and SPI are used to connect the display and sensors, and the MDK-Pro GUI component to show the recorded image and computed path.
Schloss, a software developer, said he originally planned to use the digital DCMI interface to read the camera data, because the STM32F429 has a dedicated DCMI peripheral module. But it turned out, that this peripheral module shares a lot of pins with the LCD module and therefore could not be used simultaneously with the LCD.
“Instead of removing the LCD, I chose the perhaps unusual approach of using an analog black-and-white camera and decoding the BAS video signal,” Schloss said. “Fortunately, the ADC peripheral module of the STM32 family is fast enough to provide a sufficient resolution.”
What’s he going to do with his winnings? Use it to enter a robotics contest! What else?
In addition to the five winners, there were five honorable mentions:
– Smart Point of Sales system with NFC capabilities
– Relax Player, web controlled WiFi-audio player in a wooden enclosure
– Laser pointer jitter measurement, detects hand movement with acceleration sensors
– Multiple communication bus analyzer
– Smart plant watering system with web interface.
Fourteen entries were selected as finalists, with the prize-winners chosen by a panel of judges including Keil, Jens Nickel (Elektor) and Christopher Seidl (ARM). More information on the contest can be found here.
Related stories:
ARM Microcontroller Design Contest 2015