Building real-time embedded applications on QduinoMC: a web-connected 3D printer case study
Files
Accepted manuscript
Date
2017-01-01
DOI
Authors
Cheng, Zhuoqun
West, Richard
Ye, Ying
Version
Accepted manuscript
OA Version
Citation
Zhuoqun Cheng, Richard West, Ying Ye. 2017. "Building Real-Time Embedded Applications on QduinoMC: A Web-connected 3D Printer Case Study." Proceedings Of The 23Rd IEEE Real-Time And Embedded Technology And Applications Symposium (RTAS 2017). Pittsburgh, PA, 2017-04-18 - 2017-04-21
Abstract
Single Board Computers (SBCs) are now emerging
with multiple cores, ADCs, GPIOs, PWM channels, integrated
graphics, and several serial bus interfaces. The low power
consumption, small form factor and I/O interface capabilities of
SBCs with sensors and actuators makes them ideal in embedded
and real-time applications. However, most SBCs run non-realtime
operating systems based on Linux and Windows, and do
not provide a user-friendly API for application development. This
paper presents QduinoMC, a multicore extension to the popular
Arduino programming environment, which runs on the Quest
real-time operating system. QduinoMC is an extension of our earlier
single-core, real-time, multithreaded Qduino API. We show
the utility of QduinoMC by applying it to a specific application: a
web-connected 3D printer. This differs from existing 3D printers,
which run relatively simple firmware and lack operating system
support to spool multiple jobs, or interoperate with other devices
(e.g., in a print farm). We show how QduinoMC empowers devices with the capabilities to run new services without impacting their timing guarantees. While it is possible to modify existing operating systems to provide suitable timing guarantees, the effort to do so is cumbersome and does not provide the ease of programming afforded by QduinoMC.