A music sharing platform using an embedded system

. Due to the rapid growth of technology over the last few decades, the urban e-waste generation rate has constantly been increasing. Discarded electronic appliances such as mobile phones, computers and televisions have caused increasing environmental concerns. Recycling and reusing these products is the only way to make a sustainable environment. In this paper, we propose a low cost system based on the Arduino Nano microcontroller that uses obsolete hardware that would otherwise be considered garbage, such as floppy and disk drives to play music using MIDI files. The system can be used as an instrument in schools to teach students about music, about how sound is produced and also compose music. The cost of the proposed system is lower compared to other implementations found in literature. Finally, we evaluated the performance of the proposed prototype by using a wide range of audio files in di ff erent scenarios.


Introduction
Over the last decades, Information and Communication Technologies (ICT) [11] has gained increased popularity in the field of education. Researchers worldwide have been experimenting with new technologies and the uses they offer. Gradually, the research interest has been growing focusing on the effective use of ICT in the learning process on several disciplinary areas. In the age of digital literacy, innovative technological instruments and tools are increasingly available for research within the learning process.
The field of robotics and embedded systems is growing very fast and plays a significant role to most aspects of science and life. Thus, the education education could not remain unaffected. Educational Robotics (ER) is used in the classrooms and teachers from all levels of education utilize ER to present novel topics to their students. It is an innovative teaching approach that utilizes programmable systems and it is grounded on project-based learning. It is identified by the use of ICT in the context of the students' abilities for observation, analysis, modeling, and control of various physical tasks. In addition, ER offers opportunities both to educators and children to study STEAM (Science, Technology, Engineering, Arts, Mathematics) fields and other disciplines, such as literacy, through teamwork, problem-solving, and cultivation of collaboration skills and critical thinking.
Nowadays, children are very familiarized with computers, tablets and smartphones, which help them develop skills and understand the world. The researchers often underline that the learning process is about to entirely change, if it follows the trends of the mobile age. The whole process of learning and teaching must stays up to date with the demand of the modern way of life to support the trainees' needs.Educational technologies, even in early childhood educational contexts, play a significant role on education which is transformed from traditional to one that follows more innovative approaches. Regarding technology integration in the context of teaching music [1] [2], it seems that ICT is very important providing students with valuable tools, enhancing positive experiences and attitudes.
The structure of the paper is the following: Section 2 presents the theoretical background and related work. In this section, research works similar to ours are presented, along with their advantages and disadvantages. Section 3 presents the Hardware and software configuration of our project. Finally, Section 4 gives the conclusions and presents our future plans.

Related Work
There are several research papers on music composing and playing in the literature [3] [4]. The majority of them, however, do not emphasize enough the usage of old equipment, in order to promote recycling and re usability of components that would otherwise be thrown in waste land fields. As a result, we limit the literature review to projects that utilize old equipment and promote these values.
The first project for music playing using floppy drives is Floppotron (Fig. 1) by Paweł Zadrożniak. This project uses a layout of floppy drives, hard drives and scanners in order to play music. This project has a custom configuration and does not utilize open source libraries, such as Moppy2. This allows the researcher to customize each music playing component and as a result have great sound quality. Even though the performance of this project is very good, it lacks portability and it has very high complexity, meaning, that in order to replicate it, it is very time consuming and difficult.
The second project is from the researcher Sebastian Finkbeiner and Jordi Otto (Fig. 2). Sebastian et al. developed an embedded system housed in a portable suitcase. The embedded system consists of a layout of hard disk drives. They are controlled using an arduino uno. As a sequencer, they used a Raspberry Pi SBC (Single Board Computer) which is connected to a 7 inch touch screen. Users can choose which song to play using the touch screen. Even though the Raspberry Pi device increases the current and future capabilities of this project, this increases not only the energy requirements of the system, but it also increases the development complexity.
When compared to the aforementioned projects, our prototype has many clear advantages. First, the complexity of our prototype is significantly lower and the cost of the materials is more inexpensive. Also, our project allows users (high school and university students) to compose music and share it with their peers using an innovative music sharing platform. As a result, the proposed system allows everyone to connect their embedded device and play music.

Hardware Design of the Robotic System
The main goal of this project is to recycle materials that would otherwise be thrown in waste land fields. Therefore, many of the key components responsible for power delivery and music creation are taken from old PCs (Personal Computers). The hardware components of the embedded system are depicted in Fig. 3. The main hardware components of our system are the floppy drives. Floppy drives are taken from old computer systems, and through this project are re purposed. These floppy drives are responsible for the creation of music. As Fig. 4 shows, the floppy drives are directly connected to the controller. It is necessary to have a specific connection in order to control the floppys with high precision in order to produce the required music tone. Floppy drives are powered via AT PSUs (Power Supply Units) that deliver 10A of current at 5V. Another component of our system is the controller, responsible for sending the appropriate signal to the floppy drives in order to play music. Finally, a sequencer Fig. 5 is responsible for storing and processing the available MIDI files and converting them to the appropriate format [5] that the controller will use to play music. The communication between the sequencer and the controller is performed via serial bus. Furthermore, we use the IoT capabilities of the sequencer in order to offer the capability to compose and play music in real time.
A floppy drive uses a stepper motor for its operation. Thanks to the precision of the motor and the use of the head stop sensor, we know the exact position of the head. By sending a signal to the motor from the controller using the step and dir pins of the floppy, we can create the appropriate vibration which is amplified by the other parts of the floppy to the desired musical tone.
Depending on the speed of the motor, we output the tone of the device. The faster the head moves, the higher the pitch. The downside with floppy is that as it is limited by the range of movement of the head, when we increase the tone we can notice interruptions due to the change of direction of the head, which is noticeable when we want to have long notes. This can be solved by using a module with a different device where this limitation is less noticeable (scanner/printer) or eliminated (Larger stepper motors like NEMA 14) The embedded system is powered by two PSUs (Power Supply Units) with a nominal voltage of 5V. Even though the requirements of our project can be met by a single PSU, we used two PSUs in the implementation of our prototype due to connector limitations. Each PSU typically offers four floppy connectors (called Berg connector); therefore, in order to use eight floppy drives, it was necessary to use multiple PSUs. Another option would be to utilize the molex connectors offered by the PSUs, however, this would require the usage of additional adapters. This would defeat the main purpose of this project, which is to re-use old materials and promote recycling. One of these PSUs also powers the microcontroller Figure 2. Sebastian Finkbeiner and Jordi Otto implementation using a Raspberry Pi and a Arduino Uno enclosed in a portable case, expensive due to Pi and touchscreen (arduino [9]) and the sequencer (ESP32 [10]); both of these devices can work when provided with 5V.

Software Design of the Robotic System
For the development of the software, we used the open source Arduino IDE and Notepad++. The operating system that was used for the deveopment of this project was Windows 10 and Ubuntu 18.04 Linux. The main library that we base our project on was the Moppy2 library (by Sammy1Am). Moppy2 is a controller library that is used an easy interface to control the floppy drives in order to play music. Moppy2 is a library that we can use in order to construct floppy drive layouts and control them at a higher level using a sequencer and play music. Basically, using Moppy2, we can program our software at a higher level without having to deal with low-level programming. For example, in order to play a note, instead of directly programming the controller using voltages and timers, we simply tell Moppy2 to "play X note at y device for z seconds". Moppy2 is considered as the "standard" for these types of projects and its open source is available on github.
Another software component of our project offered by Moppy2 is the Moppy network. Moppy network is the interface between the controller and the sequencer. The main advantage of the Moppy network is that we can use multiple controllers (modules) in order to play music using many floppy drives of different type. In order to achieve this, we use different controllers (modules) for each type of music creation hardware, such as scanners, printers, hard drives, solenoids and etc. Using Moppy2 network, we developed a sequencer based on  . Schematics of connection with the arduino (a), of the power delivery system using a berg connector (b) and the final assembly for one drive unit (c) not the green wire that bridges the ground for all the drives to the arduino (white cable) the ESP32 microcontroller. This sequencer sends the notes directly to the micro controller in order to play music.
The final component of our project is the web platform for music composing [6]. Using the platform, users (high school and university students) can compose music that consists of simple notes, and play the music directly on the floppy drives (or other hardware that is chosen). This tool is similar to Nintendo's Mario Paint Composer [8]. The platform contains the necessary tools in order to communicate with the floppy player system that we created in order to play music. The platform is lightweight, it is hosted on the cloud and requires simple authentication for privacy reasons. Users can use the platform for music notation [7] and share their works with other users. For each music produced using the platform, users can specify the minimum hardware requirements in order to play the song on their own system.

Conclusions and Future Work
This paper presented the design and development of a music sharing platform using an embedded system. The primary goal of our system is to promote the usage of Information and Communication Technologies in schools, and secondary to promote recycling and re-usage of materials and especially electronic components (e-waste). Even though similar works exist in literature, the advantages of our proposed system are clear. Our system is an inexpensive tool, constructed primarily from old materials and uses open source software. Using the embedded system as an intermediate for implementing music learning activities in various realistic contexts can further enhance engagement and motivate students.
For the pre-design stage, there were two factors for the development of the embedded system. The first one was to set (high school and university) students as a target group, as these are the ages at which students are old enough to understand the concepts of our project. The second was the noticeable difference from other embedded systems in education, as it is open source and open hardware. It was also decided to make freely available all the necessary resources (schematics, list and cost of parts, programming interface and guide on how to build) after the completion and keep the required cost much lower than that of the commercially available products. Moreover, we plan to continue to develop the web-based platform in which we will continue to facilitate the development of a Community of Practice, through which the users will be able to exchange thoughts, solves problems, share music, songs and exchange lesson plan ideas.
During 2021, we planned to test our project in actual schools and in our university. However, due to the circumstances at that time (SARS-CoV-2 virus pandemic), schools and universities were shut down temporarily. Therefore, our plans are postponed for 2022; we plan to perform thorough experiments with high school and university students in order to evaluate the effectiveness of our project.