Asee peer logo

Board 58: Work in Progress: Iron Coder: An Integrated Development Environment for Embedded Development in Rust

Download Paper |

Conference

2024 ASEE Annual Conference & Exposition

Location

Portland, Oregon

Publication Date

June 23, 2024

Start Date

June 23, 2024

End Date

July 12, 2024

Conference Session

Computers in Education Division (COED) Poster Session

Tagged Division

Computers in Education Division (COED)

Permanent URL

https://peer.asee.org/47055

Request a correction

Paper Authors

biography

Carsten Monrad Thue-Bludworth University of Florida

visit author page

Carsten Thue-Bludworth is the Computer Engineering Lab Manager at the University of Florida. His interests and passions lie in the design and prototyping of cyber-physical systems, and how to develop effective tools for teaching computer engineering concepts.

visit author page

biography

Jeremiah J Blanchard University of Florida Orcid 16x16 orcid.org/0000-0003-2995-5102

visit author page

Jeremiah Blanchard is an Assistant Engineer at the University of Florida in the Computer & Information Science & Engineering Department, where he teaches and conducts research in computer science education. Previously, he served as Program Director of Gam

visit author page

Download Paper |

Abstract

Iron Coder is an integrated development environment for the development of embedded firmware in the Rust programming language, designed with a focus on ease of use. Embedded devices can serve as hands-on platforms that engage those who use them, and thus play an important role in computing education; however, these same devices also pose a significant barrier to entry due to the wide variety of hardware options, complexity of the toolchains and libraries needed to program them, and enigmatic nature of documentation. Platforms such as Arduino, CircuitPython, and Raspberry Pi, among others, have redefined who is able to work with embedded systems by providing developers with an all-in-one hardware-software system that addresses these challenges. Iron Coder provides this approachability for the Rust language by allowing programmers to graphically define the hardware architecture of their system, assist in generating and validating the associated firmware, linking to related library crates, and providing example code and platform-specific tools for development. The tool’s design is oriented towards students and hobbyists, whose primary concerns are ease of use, community support, and a rewarding experience that builds intuition. By decreasing the barrier to entry for embedded Rust, our hope is to increase the language’s adoption in academia, industry, and hobby use, resulting in the fulfillment of the language’s promise as a safe, robust, and performant platform for embedded systems.

With its integration of hardware and software elements, Iron Coder enables the creation of a cohesive, streamlined experience for educators and students in computer engineering fields such as robotics, IoT, and autonomous systems. Beyond this, the platform has potential as a research tool to study the ways in which students learn computer engineering material, especially at the hardware-software interface.

Iron Coder is designed to target all major operating systems as well as WebAssembly, with smooth operation even on low-power devices such as single-board computers. Additionally, the tool is designed to continue to grow via community-driven support – the project is open-source and hosted on GitHub, open to public contributions, and will grow as community members add support for additional hardware platforms. Iron Coder development is ongoing, with involvement of undergraduate computer engineering students at the University of XXX. Features and documentation that will allow for further community engagement are underway, and the long-term goal of the project is to become a popular and useful tool among open-source development environments, especially in an educational setting.

Thue-Bludworth, C. M., & Blanchard, J. J. (2024, June), Board 58: Work in Progress: Iron Coder: An Integrated Development Environment for Embedded Development in Rust Paper presented at 2024 ASEE Annual Conference & Exposition, Portland, Oregon. https://peer.asee.org/47055

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2024 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015