Filter

Create a minimal C-Based Project for Raspberry Pi

Description

Why this is important?

Modern, higher-level managed languages such as Java and Python enabling developers to stand up complex applications quickly. However, this often comes at the expense of configurability and performance. Developing low-level skills are valuable to unlocking performance but also are crucial to understanding the principle mechanisms in computer architecture and how to write programs that leverage available hardware features. At Arm, we have a history of developing low-level software components, such as compilers, as well as contributing to software projects, such as the Linux Kernel. The demand for developers with these skills is high.

Project Summary

This project asks you to develop an application of your choice that runs on any generation of Raspberry Pi device. The majority of implementation code must be written in C (any ISO-standard version), and we will measure your submission by counting only the lines of C source files. Auxiliary files, such as Makefiles, JSON configuration files, etc., are excluded from this line count.

Further, we recommend that you keep the number of external dependencies to a minimum, writing any libraries from scratch where suitable. This is excluding those provided by the C standard library. You are also free to use any suitable compiler. If you use a difference language or a dependency written in another language, please include a short jusification in your submission.

Be creative! This challenge is open ended and we are looking for submissions that show creativity and novel solutions.

Prerequisites

  • Access to a Raspberry Pi device (any generation)
  • Intermediate Understanding of the C language

Resources from Arm and our partners

Support Level

This project is designed to be self-serve but comes with opportunity of some community support from Arm Ambassadors, who are part of the Arm Developer program. If you are not already part of our program, click here to join.

Benefits

Standout project contributions will result in preferential internal referrals to Arm Talent Acquisition (with digital badges for CV building). And we are currently discussing with national agencies the potential for funding streams for Arm Developer Labs projects, which would flow to you, not us.

To receive the benefits, you must show us your project through our online form. Please do not include any confidential information in your contribution. Additionally if you are affiliated with an academic institution, please ensure you have the right to share your material.

Previous Submissions

  1. Plant Health Analysis System, Arnav Gupta et al. Imperial College London.