In designing products for the Internet of Things (IoT), engineers at DornerWorks often rely on lateral thinking, as well as a wealth of open source tools and resources. Exploration into previous logs of successful products undoubtedly exposes a kernel of innovation that can be carried into the next, and with each iteration comes the opportunity to improve on past designs.
One of the machines at DornerWorks came from just such a story. Created as a collaborative effort between senior computer engineering students from Grand Valley State University, and housed in an unassuming black metal box with a chrome and wood veneer are the interconnected guts of a wirelessly controlled coffee bean roaster.
Embedded engineers Zak Walton, Phillip VanOss, Chris Guikema and others worked on the coffee roaster after spending three co-op rotation semesters at DornerWorks for credit at GVSU. The 6-member senior design team initially set their sights on a device that would measure the alcohol content during the brewing process, but finances and feasibility refocused the project on something more within reach. For the record, such a device hadn’t existed on the market until recently. IoT sensors used in fermentation have previously only been able to measure temperature values, requiring insight into the brewing process to be extrapolated from there. The latest iterations rely on CO2 measurements taken during the fermentation process, which brewers can use to more accurately estimate alcohol content.
IoT brewing indeed makes a few good pints, but the DornerWorks engineers got to work on a different sort of brew. They used what available resources they could find; that being friends of friends who know a guy with a small coffee roaster, and their own expertise in electronics engineering. And like many IoT projects, agile design practices, efficiency, and open source software proved crucial.
From the outset of the project, almost every element was opened up, rearranged, and put back together with improved technology. The electronics of the coffee roaster, its clunky push-button interface, power source, and inaccurate temperature sensing system were updated to offer reliable and actionable real-time data. The backend of the project, hosted on a free tier of Heroku, leverages the Flask API, a RESTful application protocol interface that uses less bandwidth than its Simple Object Access Protocol (SOAP) alternatives. And in keeping with the spirit of fast, quick, and light prototyping, frontend styling was handled with Bootstrap and JavaScript.
Security is a concern with any wireless technology, and one of the biggest complaints surrounding IoT systems. A device that meets meets the most air-tight standards may not be developed as quickly or as lightweight as one with simpler encryption methods, but as DornerWorks IoT engineer Eric Bigoness outlines in his article, “Top 3 Ways to Build a Secure IoT Device,” avoiding common default passwords, barring backdoors, closing all ports, and relying on secure web applications are key to success.
Based on the embedded FreeRTOS operating system, the top layer of the IoT coffee roaster uses HTTP and the MQTT protocol, leveraging JSON Web Tokens to transmit temperature and air conditioning data from the Mosquitto MQTT Broker back to the API, and then on to the web app. Version control for the project was managed in GitHub, which also provided the repository from which the code was deployed, and a foundation for the frontend.
The team relied on open source drivers and example code for the CC3200 development kit from Texas Instruments to complete the project, from ideation to delivery in 7 months.
HTTPS and SSL could lend extra security in future iterations, but that’s not to say the integrity of the current lightweight design isn’t already robust.
Community is an apt description of those who use and advocate for open source development methods. Institutions like GitHub, the Linux Foundation, and others thrive on continual improvement and contributions from millions of supportive “members.” DornerWorks’ expertise in using open source tools carries with it the full knowledge base of this community, and helps the company deliver innovative solutions from the same collaborative approach.
“I think that the fact that a Senior Project team (mostly made up of DW employees) was able to leverage all of that open source software to create a full IoT prototype product in 7 months was a testament to that,” says former DornerWorks embedded engineer Zak Walton. “We definitely couldn’t have done it without all that open source software.”
The IoT coffee roaster is just one example of many that show how resourceful DornerWorks engineers can be, and for staff members looking to perk up their day with the SmartRoast web app, the benefits of their diligence can be smelled, ground, and tasted in 20 minutes.