R&D Embedded Systems internships

Job description

The System Team role is to design and implement the technical layers between hardware and software. Our goal is to ensure efficient and generic communication across all Arturia's products.

You'll find below all 4 internships opened within the team.

AudioFuse Communication Library
6-month internship

The System Team interact with all Arturia's hardware from the midi controller to the polyphonic synthesizers.

This internship is focused on the Fuse range which is our audio interfaces. We already developed 3 AudioFuse and 3 MiniFuse, which all uses the same USB communication protocol.

This protocol is handled in a shared library and is used in our control software, but to lower some internal development times, we want to propagate the library across all internal tools that needs to communicate with one of our audio interfaces.

The library is coded in C++, but some internal tools are written in Python, therefore the library should be buildable as a dynamic library and usable in Python scripts.

Profile – What we expect: 

  • Computer engineering student
  • Good knowledge of C++
  • Good knowledge of Python
  • Experience with dynamic linking and shared libraries would be a plus
  • Experience with Python ctypes or similar would be a plus

DevOps for CI Systems

6-month internship

As Arturia's growth have been quite fast in the past years, we need to migrate our Continuous Integration system on a more sophisticated and scalable architecture.

First, the intern will need to understand the current CI system, analyze its pros and cons in order to propose a new architecture which will be more flexible and scalable.

With the help of the System and IT teams, the intern will implement a usable staging environment using technologies as Docker, Jenkins and other deployment tools such as Ansible or Chef.


  • Computer engineering student
  • Good knowledge of the Python language
  • Good knowledge of Windows, Mac and Linux operating systems
  • Experience with Git would be a plus
  • Experience with Docker, Jenkins would be a plus

MIDI 2.0
6-month internship

Recently, the MIDI (Musical Instrument Digital Interface) protocol which has been used in Audio products since 1980 has been updated to a new 2.0 standard.

Arturia has always been using the most advanced audio technologies, and thus, needs to be MIDI 2.0 compliant as soon as possible.

The intern will develop a MIDI 2.0 library usable in both software and firmware. The library should be client/server and support the main MIDI 2.0 functionalities as Property Exchange, Profile Configuration and Protocol Negotiation.

Profile – What we expect:

  • Computer engineering student
  • Good knowledge of the C++ language
  • Knowledge of STM firmware development would be a plus
  • Knowledge of the MIDI 1.0 protocol would be a plus

System Communication

6-month internship

The intern will contribute to the development of Arturia's system tools & libraries:

  • Port an UART proprietary communication protocol, widely used in our STM32 firmware, to an embedded Linux board, with at least the same real-time performances
  • Implement a Wireshark dissector (TCP/IP & USB) for smart and accurate inspection of the proprietary application protocol used for the remote control of some Arturia products

Profile – What we expect:

  • Studying Computer Engineering or similar
  • Good skills in C & C++
  • Knowledge In Linux embedded system developments
  • Knowledge in STM32 microcontrollers firmware developments
  • Knowledge in USB and network protocols (TCP/IP)
  • Knowledge in CMake, Python, UART would be a plus
  • Can show personal or school relevant projects the candidate has worked on

Job requirements

Location : Montbonnot-Saint-Martin, France.

Please note that only applications from students registered in EU universities/schools will be considered, and that no remote work is foreseen.

If you are willing to join passionate teams and a growing international company in the music industry, send us your resume and cover letter, specifying the internship for which you apply.