Please do not post a support request without first reading and following the advice in

Xin-Mo Instructions?

  • Hello,

    Does anyone have good material to share with the "how to" install and use a Xin-Mo USB arcade board for joystick/button controls? I am building an arcade cabinet with an RPi3 and will use a Xin-Mo. There are things where I don't know what I am doing so I need help.


  • Global Moderator


    Have you read through the information here?

  • I had the same problem too. Here is the solution:

    You are going to add the following text:


    to this cmdline.txt file:

    sudo nano /boot/cmdline.txt

    just add a space to the existing entry so its all on one line

    press "ctrl+x" then press "Y" to accept changes.

    If you mistype or make mistake on spacing it will not work. I was going crazy thinking nothing works but I noticed that i made a mistake by mistyping it.

    source: link text

  • Thanks a ton guys, when I install the Xin-Mo coming up soon I will report back. I hope everything works.

  • @hakan1708 said in Xin-Mo Instructions?:

    If you mistype or make mistake on spacing it will not work. I was going crazy thinking nothing works but I noticed that i made a mistake by mistyping it.

    source: link text

    I had exactly the same experience :-)

  • I just did the same thing - got it working with these instructions.

    The problem is though, player 1 and player 2 are reversed. The controls on the right side of the arcade are mapped to player 1 and vice versa. Is there any simple way to reprogram the controls so it switches the players? I really want to avoid re-wiring them.

    Thank you so much!

  • In case you haven't purchased it yet, you can do like me and buy the 1 one player version (no tweak required). It'll take 2 USB ports instead of one, though.

  • @bidinou That's what I almost did. Not a bad idea I think and you can install more buttons.

  • @pohlinger31 I messed up with the controls too and I unscrewed the panel, fixed it and put it back. I would recommend the edge of the scissors or something like that to push the cables out.. Fast and painless. Don't dig a hole in your finger though.

  • Unfortunately I messed up my graphic application to my control panel and set me back some days before I can start building. I hope configuring the Xin-Mo for my cabinet isnt painful. As soon as I can assemble Ill probably be asking more questions.

  • Alrighty, I'm back with great news; the Xin-Mo is working with two players with these instructions:

    Pull up the command line - F4
    Once in let’s get to the right folder by typing “cd /boot/”
    Then we can modify the file via a notepad type program called nano; to open the file in nano simply type “sudo nano cmdline.txt”
    Press enter and you will see a long line of text
    Press the right key to the end of the text and hit the space key as we want to add a simple line of text to that current line
    Note: do not press enter and add it to a second line, we want one long string with a simple space in between the last entry.
    Type or paste: usbhid.quirks=0x16c0:0x05e1:0x040

    Press ctrl x to escape
    Press Y to save it

    Open retroarch.cfg and enter this into line 490:

    input_player1_b_btn = 3
    input_player1_y_btn = 0
    input_player1_select_btn = 7
    input_player1_start_btn = 6
    input_player1_up_axis = -1
    input_player1_down_axis = +1
    input_player1_left_axis = -0
    input_player1_right_axis = +0
    input_player1_a_btn = 4
    input_player1_x_btn = 1
    input_player1_l_btn = 2
    input_player1_r_btn = 5
    input_player2_b_btn = 3
    input_player2_y_btn = 0
    input_player2_select_btn = 7
    input_player2_start_btn = 6
    input_player2_up_axis = -1
    input_player2_down_axis = +1
    input_player2_left_axis = -0
    input_player2_right_axis = +0
    input_player2_a_btn = 4
    input_player2_x_btn = 1
    input_player2_l_btn = 2
    input_player2_r_btn = 5
    input_enable_hotkey_btn = 9
    input_exit_emulator_btn = 8
    input_menu_toggle_btn = 1
    input_load_state_btn = 2
    input_save_state_btn = 5
    input_reset_btn = 3
    input_state_slot_increase_axis = +0
    input_state_slot_decrease_axis = -0
    input_volume_up_axis = -1
    input_volume_down_axis = +1

    Open es_input.cfg and replace with this:

    <?xml version="1.0"?>
    <inputConfig type="joystick" deviceName="Xin-Mo Xin-Mo Dual Arcade" deviceGUID="03000000c0160000e105000001010000">
    <input name="a" type="button" id="11" value="1" />
    <input name="b" type="button" id="8" value="1" />
    <input name="down" type="axis" id="1" value="1" />
    <input name="left" type="axis" id="0" value="-1" />
    <input name="leftbottom" type="button" id="2" value="1" />
    <input name="right" type="axis" id="0" value="1" />
    <input name="rightbottom" type="button" id="5" value="1" />
    <input name="select" type="button" id="9" value="1" />
    <input name="start" type="button" id="10" value="1" />
    <input name="up" type="axis" id="1" value="-1" />
    <input name="x" type="button" id="1" value="1" />
    <input name="y" type="button" id="0" value="1" />

    With all this, my control panel works (photo here:!AluYjzvuXNufgwxn36AHGlPvX_GX)

    One issue though, every time I load a game (any game/system) I get a series of "not configured" messages that go like this:

    Xin Mo Dual Arcade (5824/1505) not configured

    Microsoft Keyboard 600 (1118/1872) not configured

    Xin Mo Dual Arcade (5824/1505) not configured

    So the Xin Mo shows twice I'm guessing because there are two players seen. It doesn't seem to bother anything and the keyboard still works for the command prompt. I only have the control panel hooked up and my Microsoft USB keyboard. I also went in and updated my Retropie installation (which there is no menu sound now?) before I did all this. Does anyone have input as to how to get rid of this or if anything has become wonky (that I have yet to encounter)? Any help is awesome; this machine is nearly done and I'm pretty excited to build it. Here is an example photo of one of the lines upon loading (sorry its blurry):!AluYjzvuXNufgw1yr6vht69cOrtc

  • @GreenHawk84 If you edit the retroarch.cfg file, you will see a section where you can change the font, colour and position of the messages. You can even turn them off. The relevant section to look out for is:

    # Path to a font used for rendering messages. This path must be defined to enable fonts.
    # Do note that the _full_ path of the font is necessary!
    # video_font_path = 
    # Size of the font rendered.
    # video_font_size = 32
    # Enable usage of OSD messages.
    # video_font_enable = true
    # Offset for where messages will be placed on screen. Values are in range 0.0 to 1.0 for both x and y values. 
    # [0.0, 0.0] maps to the lower left corner of the screen.
    # video_message_pos_x = 0.05
    # video_message_pos_y = 0.05
    # Color for message. The value is treated as a hexadecimal value.
    # It is a regular RGB hex number, i.e. red is "ff0000".

    Just modify

    video_font_enable = true

    to false.

  • @rbaker , thank you, I just hope that I am not covering up something since the system is throwing these messages about configuration.

  • @GreenHawk84 I wouldn't worry, I get ipac not configured when my roms boot because I configured a separate keyboard but not the usb decoder....even though it works.

  • administrators

    @GreenHawk84 please add markdown code formatting when posting logs and configs

  • @BuZz said in Xin-Mo Instructions?:

    @GreenHawk84 please add markdown code formatting when posting logs and configs

    Sorry, I am not sure how to do that. Such a noob I am..

  • Global Moderator

    @GreenHawk84 said in Xin-Mo Instructions?:

    Sorry, I am not sure how to do that.

  • @BuZz @mediamogul Okay I think I did it.

  • Global Moderator


    Suitable for Sunday service.

  • @GreenHawk84 hi have done this tweak so i could get two player to work, but it seems that my start and SELECT button does not work. Do you know why. Were in the usb board should they be

  • Hi all,

    I was worrying about setting this controller up on my system
    RetroPie 4.0.3
    The Xin-Mo shows up as "Bus 001 Device 007: ID 16c0:05e1 Van Ooijen Technische Informatica Free shared USB VID/PID pair for CDC devices

    I added usbhid.quirks=0x16c0:0x05e1:0x040 to /boot/cmdline.txt after a space after the last entry on the same line and rebooted.

    I have a NES controller as Joystick one.

    I reset emulation station in RetroPie-Setup, Configuration / Tools to Clear/Reset Emulation Station input config and restarted EmulationStation and configured the new controller by pressing a Xin-Mo button on Player 1. I could then control the EmulatinStation/RetroPie menus via Xin-Mo P1. This shows as Joystick 2.

    I then fired up a game in Mame4All (Streetfighter2) and hit Tab when the game started and Selected Input General. For UI Cancel I chose , My NES controller Hotkets Select+Start and also Xin-Mo Select +Start as my ROM exit keys.

    I then added P1 and P2 settings in Input (This Game) for Xin-Mo P1 and P2. My joy 2 and joy3,as NES controller is joy1.

    This is working for me. I hope this helps anyone trying to keep up with getting this working on new versions of everything.



Log in to reply

Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.