Control Tablet with arduino

I want to be able to have an arduino control a tablet (Iconia One 10 (B3-A40FHD)0 ) to play MIDI and audio files simultaneously.

The Midi files are being used to control Teensy USB Development Boards to control stepper 12 motors.
Each teensy will respond to a different channel.

The audio will be be output through the headphone jack and will run simultaneously with the Midi file.

I am using the Iconia One 10 since it has 2 USB ports. I will use one to output the MIDI file and the other to communicate with the Arduino.

I need some way for the Arduino to tell the tablet to play the files. There will be different files for different routines that will be selected by buttons that will trigger the arduino.

I have no idea how to do this but it seems as though it should be able to work

Any and all help will be appreciated


You will need a program running on the tablet and listening for and acting on instructions from the Arduino.

Does your Tablet have USB host ports? AFAIK very few of them do.


thank you

I will look for one that will work.

Alternatively, I could have another arduino play the midi fiile from an sd card. I was just reading this (midi.player/MD_MIDIFile_Loop.ino at master · 5shekel/midi.player · GitHub) and think it might work.

Sounds like something a Raspberry Pi can do. Use GPIO for buttons. If you plug in an I2S DAC board, the audio output will be CD quality (stereo, 44.1k samples/s, 16 bits/sample). MIDI over USB is supported. If you want to get fancy, there are programs such as Qtractor which is a multi-track sequencer that supports WAV and MIDI tracks.

Sounds like something a Raspberry Pi can do. ...

I am not familiar at all with the Rasberry Pi. I will look into it.
Thank you so much for your recommendation. Would you be open to a bit of guidance along the way if I get stuck?

Thank you


Sorry, I do not have much time to get involved. If you have never used Linux or Raspberry Pi, your project is probably too complex for a first project.

Can you send ADB (I assume the tablet is Android) commands to do what you want?

It runs Android 7 so that should work.

I am actually looking at an alternative approach, but this could be a solution if that fails.