Full Content is available to subscribers

Subscribe/Learn More  >

Programming Arduino Boards With the C/C++ Interpreter Ch

[+] Author Affiliations
Curtis Turley, Maria Alessandra Montironi, Harry H. Cheng

University of California, Davis, CA

Paper No. DETC2015-47837, pp. V009T07A013; 10 pages
  • ASME 2015 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference
  • Volume 9: 2015 ASME/IEEE International Conference on Mechatronic and Embedded Systems and Applications
  • Boston, Massachusetts, USA, August 2–5, 2015
  • Conference Sponsors: Design Engineering Division, Computers and Information in Engineering Division
  • ISBN: 978-0-7918-5719-9
  • Copyright © 2015 by ASME


This paper presents the ChArduino package which is designed to control the Atmel AVR microcontroller based Arduino boards through the C/C++ interpreter Ch. Traditionally, Arduino boards are programmed using the official Arduino IDE or lower-level AVR C libraries. These methods require specific cross-compilation tools to compile the code and upload it onto the board. Whenever a change is made to the source code, it needs to be recompiled and uploaded, making application development cumbersome, especially for beginners and as the size of the application grows. The approach presented in this paper is aimed at reducing the effort associated with code compilation, especially in classroom environments where microcontroller programming is first introduced. In fact, when using this method, code is executed in an interpreted manner and every function call is processed separately by the interpreter, thus compilation and uploading are not required to make changes effective. The ChArduino package consists of a library of functions running on a computer and a specialized firmware loaded onto the Arduino board. The firmware on the Arduino board is pre-compiled and the latest version is automatically uploaded at run time, if not already. At power-up, the firmware initializes the board and then waits for a command from the computer. The use of the C/C++ interpreter Ch also makes available line-by-line debugging, numerical analysis, and plotting capabilities. The supported communication protocols between the Arduino board and the computer are serial and Bluetooth. The application code written using this package is completely compatible with the entire spectrum of Arduino boards and can be ported to the Arduino IDE with minimal changes. The applications of the method described in this paper are general but apply especially to the K-12 education field in that the package creates a simple, user-friendly, environment for the absolute beginner to learn the basic principles of mechatronic systems including programming, microcontrollers, and electrical circuits. Lesson plans are being developed to use the ChArduino package in microcontroller introductory courses and the package is currently being introduced for preliminary testing in schools through the UC Davis C-STEM Center.

Copyright © 2015 by ASME



Interactive Graphics


Country-Specific Mortality and Growth Failure in Infancy and Yound Children and Association With Material Stature

Use interactive graphics and maps to view and sort country-specific infant and early dhildhood mortality and growth failure data and their association with maternal

Citing articles are presented as examples only. In non-demo SCM6 implementation, integration with CrossRef’s "Cited By" API will populate this tab (http://www.crossref.org/citedby.html).

Some tools below are only available to our subscribers or users with an online account.

Related Content

Customize your page view by dragging and repositioning the boxes below.

Related eBook Content
Topic Collections

Sorry! You do not have access to this content. For assistance or to subscribe, please contact us:

  • TELEPHONE: 1-800-843-2763 (Toll-free in the USA)
  • EMAIL: asmedigitalcollection@asme.org
Sign In