(Topic ID: 239045)

Arduino Pinball Controller


By AmokSolderer

1 year ago



Topic Stats

  • 586 posts
  • 44 Pinsiders participating
  • Latest reply 14 hours ago by Apex
  • Topic is favorited by 82 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic poll

    “Are you using the APC and what's the reason if not?”

    • I'm using APC with MPF 4 votes
      15%
    • I'm programming APC natively 2 votes
      7%
    • I'm waiting for PinMame support 5 votes
      19%
    • I have an APC board, but I still have to populate it 3 votes
      11%
    • I would only use the APC if populated boards were available 13 votes
      48%

    (27 votes)

    This poll has been closed.

    Topic Gallery

    There have been 62 images uploaded to this topic. (View topic image gallery).

    PXL_20210225_042701758 (resized).jpg
    PXL_20210210_021819113 (resized).jpg
    PXL_20210207_052619748 (resized).jpg
    good sounds (resized).jpg
    bad sounds (resized).jpg
    sound logs (resized).jpg
    P1020770 (resized).JPG
    140188661_205600937955211_4993392817857496397_n (resized).jpg
    undrilled_apc (resized).jpg
    B3F-1000 (resized).png
    Switch (resized).png
    IMG_3396 (resized).jpg
    P1020689 (resized).JPG
    20200804_134113 (resized).jpg
    989E9891-AFB6-4D75-91D4-6A2F553B0560 (resized).jpeg
    20200612_042150 (resized).jpg

    There are 586 posts in this topic. You are on page 12 of 12.
    #551 16 days ago

    That makes sense was just laying out my board and noticed yours was different.

    #552 15 days ago

    Too much work today. No energy left for coding.

    I hope I can make it at the weekend.

    #553 14 days ago

    I've added the game specific sound handling for Pharaoh. It's in the V00.22 branch on GitHub.
    I didn't have much time, so I hope I didn't mess things up.

    #554 14 days ago

    Thanks, Frank.
    I'll get on it this weekend and give feedback.

    Jeff

    #555 11 days ago

    short version - the stock hardware is working about 98%, totally good enough for most casual players. The APC hardware takes a bit of effort to get set up, but once you get past that, it's top notch. If anyone needs sound files for Pharaoh, let me know.

    Update from the weekend:
    I've been working on two angles here - 1 to run with the original sound board, and 2 to use the APC sound hardware and sound files on the SD card.

    Let's start with the original hardware:
    At first, running the stock sound card, it worked really good, except that the sounds in the bonus countdown seemed a bit "choppy", and that the end song would get cut off when it went into attract mode (if you're familiar with Pharaoh, you know this game end song). Didn't really like that, but the end song had come back after switching between the two modes. Now I'm back to the stock hardware, and amoksolderer had suggested tweaking the LISY throttle value to adjust the speed at which pinmame is running. I've messed around with that a bit, and the bonus countdown still isn't right. It doesn't help that I have no computer near this machine, so to make a change I have to power down, remove the card, run upstairs, make the change, run back down and start over. But I did make it a little faster (I could notice the change in speed, but the countdown still wasn't right) and a little slower (still no love). But now the game over song is getting chopped off again. I think I'm going to leave it as is and step away for a bit. I'll probably tweak it a bit more later.

    Now to the APC sound hardware and the SD card. First, I realized I messed up with the sound numbers...there are 32 sound numbers. In hex (like pinmame uses), that's 00-1f. When you get to 20, it's only looking at the lowest 5 bits, so it's all the same and it just starts repeating. So 20-3f are the same as 00-1f, and I'm sure if you checked, 60-7f would be the same, too. Anyway, in that mode, the sound info I provided previously was not right, because even though the sounds are the same, Pinmame is actually asking for sounds 20-3f, so you have to name the files this way. And the update that was made (based on my wrong numbers) had to be updated again. I went in and corrected the numbers in the APC code on my local version, converted and renamed all the files (since some of the 32 files have multiple versions, there were actually 72 files to convert), and now when I run the APC sound hardware, it seems to work perfectly. The sound is awesome, there is zero hum coming out of the speaker, I'm getting the proper random voice calls, and I can hear the background droning sounds increase in pitch and speed as the ball lasts longer. I've got a hunch that this background sound is starting at a higher than normal pitch, but I'll have to look into that (or just ignore it).

    I'm totally digging this APC project!
    Jeff

    #556 11 days ago

    Good news, I picked up some playfields this weekend. Gottlieb System 3 and Stern M100 (and Bally SS) are on my radar now. M100 is next after I wrap up GTB System1-80B.

    #557 11 days ago
    Quoted from Grangeomatic:

    I've got a hunch that this background sound is starting at a higher than normal pitch, but I'll have to look into that (or just ignore it).

    Well, you really have a sensitive set of ears.
    I'm currently redoing the handling of machine dependent rules (like sound) and I found a bug in the code that makes the BG sound to start from the second tune.
    I'm playing my Jungle Lord for months and never realized it

    You can correct this by changing line 840 in USBcontrol.ino from

    SoundSeries[2] = 1;

    to

    SoundSeries[2] = 0;

    then it should start with the right tune.
    But the machine dependent code will change significantly anyway. In the future it's going to be a modular approach which can also handle switch, lamp and solenoid based exceptions.

    But apart from that the APC generated sound is working 100%? No issues with bonus count down and end song?

    Quoted from RatShack:

    M100 is next after I wrap up GTB System1-80B.

    That means you're almost done with GTB System1-80B?

    #558 11 days ago
    Quoted from AmokSolderer:

    Well, you really have a sensitive set of ears.

    But apart from that the APC generated sound is working 100%? No issues with bonus count down and end song?

    Must be the musician in me....
    I can make the interim change for now, or just live with it

    Yes, sound via APC seems to be 100%, bonus countdown and end song included. It even plays the annoying taunts during attract mode!

    #559 11 days ago

    On my side, I'm in the middle of installing the APC in my Firepower... I'm improvising some supports for the board and have to cut some zip ties to reorganize the connectors to reach their locations on the board... But it's going well so far! I'll have an update shortly.

    Quick feedback (minor), on the connector layout drawing (APC_Connectors.png), a red cross is missing to indicate the pin to cut on sys7_2J5

    #560 11 days ago

    Question about RR8: can the 18K SIP9 be substituted with a 20K SIP9? When I ordered parts, the 18K was unavailable and I have some 20K from a different project. It looks like it's being used as a voltage divider, but I don't fully understand the schematic. Thanks!

    #561 11 days ago

    The Arduino is programmed and the APC board is finally installed in my Firepower, yes! I have at this point only the minimum harnesses (switches, displays, power), and no Pi.

    I'm trying to set up the display by following the instructions in "/DOC/Settings.md". The doc says to go through the options by pressing start until "a single 6 is shown on the player 4 display" (Firepower being a system 6 game, with 6 digit displays). Unfortunately I never get this "6" showing up in the 4th display...

    The 4th player display cycles through these values:
    "-0939-"
    "-306--"
    "-01066"
    "0-4---"
    "-00170"
    "-30093"
    "------"
    "------"
    and then back to "-0939-" but never "-----6" or "-----7".

    I suspect the issue is related to the 2 blank options ("------"), they might be where the "6" and the "7" should have showed up. Maybe the system tries to display the "6" or the "7" on the missing 7th digit... which results into an empty display...

    #562 11 days ago
    Quoted from AmokSolderer:

    That means you're almost done with GTB System1-80B?

    Yes. The 80B prototype board is still running strong. Testing the solid state flipper board for reliability issues.

    #563 11 days ago
    Quoted from waveman:

    It looks like it's being used as a voltage divider, but I don't fully understand the schematic.

    Yes, it's a voltage divider and with 20K for RR8 the voltage at the input pins of the Arduino will go up from 3.28V to 3.4V. In the Datasheet of the Atmel Controller they state an absolute maximum voltage of 4V, so you're still well below the limit. You might slightly reduce the lifetime of the controller, but I'd assume this to be negligible.

    Quoted from matiou:

    Maybe the system tries to display the "6" or the "7" on the missing 7th digit... which results into an empty display...

    Exactly, up to now System6 displays are treated the same way as System7 and according to the System6 schematics a number at strobe 16 in the lower display row will not produce any output. I also see that the handling of the credit display is different, so I don't expect the menu navigation to work either.

    This is not a big deal, but nevertheless it's probably going to take some iterations before these display are working perfectly. I'd therefore like to finish the exception handling I'm currently working on before we start with the displays. I hope this is OK for you.
    Until then I'd recommend to select the first "------" after "-30093" and play with it. My guess is that except of the missing 7th digit and the credit display it should work OK with this setting.

    Quoted from RatShack:

    Yes. The 80B prototype board is still running strong. Testing the solid state flipper board for reliability issues.

    Do you have a pic or a video to share?

    #564 10 days ago
    Quoted from AmokSolderer:

    Yes, it's a voltage divider and with 20K for RR8 the voltage at the input pins of the Arduino will go up from 3.28V to 3.4V. In the Datasheet of the Atmel Controller they state an absolute maximum voltage of 4V, so you're still well below the limit. You might slightly reduce the lifetime of the controller, but I'd assume this to be negligible.

    Thanks a lot for you reply. I'll give this a try with 20K

    #565 10 days ago
    Quoted from matiou:

    Quick feedback (minor), on the connector layout drawing (APC_Connectors.png), a red cross is missing to indicate the pin to cut on sys7_2J5

    Almost missed this. Thanks for the info, I'm going to correct it.

    #566 9 days ago

    As mentioned I've changed the handling of machine specific exceptions to a modular approach. This allows you to do individual changes to your machine in your own module.
    Take a look at

    https://github.com/AmokSolderer/APC/blob/V00.22/DOC/PinMame_howto.md#programming-exceptions

    to see how it works. As always, feedback is welcome.
    If you want to try it you have to switch to the V00.22 branch on GitHub.

    matiou V00.22 also features System6 display support. It's my first try, so don't expect too much, but please play around a bit and tell me what does work and what doesn't.

    #567 9 days ago
    Quoted from AmokSolderer:

    matiou V00.22 also features System6 display support. It's my first try, so don't expect too much, but please play around a bit and tell me what does work and what doesn't.

    Awesome, thanks! Unfortunately I won't be able to test much right now... As you may have seen in the news, Texas is a mess right now. I lost power/heat/water so cannot really play with pinballs... But I'm ok! I will let you know when I can get back to it.

    #568 9 days ago
    Quoted from matiou:

    As you may have seen in the news, Texas is a mess right now.

    Apparently I didn't follow the news closely, so I wasn't aware of the situation being that bad in Texas.

    My best wishes for you and your family. Looking forward to hearing from you when the power is back.

    #569 7 days ago
    Quoted from AmokSolderer:

    My best wishes for you and your family. Looking forward to hearing from you when the power is back.

    Thanks! Power and internet are back since yesterday night. I'll resume the tests soon! (I still have no water, but who needs water to play pinball )

    #570 5 days ago
    Quoted from AmokSolderer:

    matiou V00.22 also features System6 display support. It's my first try, so don't expect too much, but please play around a bit and tell me what does work and what doesn't.

    Ok so I installed 0.22 and now I can see the "6" when browsing the display options... yes!

    However the "credit" display is still messed up when i try to go through all the options, it does not show the option index correctly. The "player 4" display seems to work and shows the selected setting value... I managed to blindly go to "save settings" by counting my steps, and it worked (I successfully got a setting file created on the sd card)

    #571 5 days ago

    What happens exactly, does the credit display show anything at all? If yes does this change when you cycle through the settings?

    #572 5 days ago
    Quoted from AmokSolderer:

    What happens exactly, does the credit display show anything at all? If yes does this change when you cycle through the settings?

    yes, the credit display is showing some numbers... here is what i get when going through "system" options:

    credit / player #4
    ----19 / -----6 display type
    ----65 / -----3 active game
    -3--6- / -----3 nb of balls
    ----5- / -----1 free game
    ----34 / -----2 connect type
    -43--- / -----0 dim inserts
    --5-52 / ----00 speaker volume
    -3---- / ----00 led lamps
    -4--80 / -----0 sol ext board
    ----7- / -----0 debug mode
    --4-25 / ------ restore default
    -73-4- / ------ exit settings

    but i guess the most important is that now i can clearly see the selected values, so i'm no longer blocked (i just have to count my steps when going into the options)... thanks for the very quick fix!

    #573 5 days ago

    I think I found the problem. V00.22 has been updated, please try again.

    BTW, I've also changed the sound exception handling slightly to make it work better with Sys11 machines. The documentation has been updated accordingly:

    https://github.com/AmokSolderer/APC/blob/V00.22/DOC/PinMame_howto.md#programming-exceptions

    #574 4 days ago
    Quoted from AmokSolderer:

    I think I found the problem. V00.22 has been updated, please try again.

    Yep it's working, I now see the option numbers! Thanks again for a quick fix!

    I managed to go further into my tests... and have some issues, but they might be on my side.
    Display test works... Lamp test works but does not turn on all lamps... Solenoids are not triggered... Sound works but super loud...
    I need a bit of time to figure all this out!

    #575 4 days ago
    Quoted from matiou:

    Sound works but super loud...

    Are you using the digital volume control or the old pot on connector 10J4?
    It might be that Williams used another pot value for System6, so try to disconnect 10J4 and use the digital volume control instead.

    #576 3 days ago
    Quoted from AmokSolderer:

    Are you using the digital volume control or the old pot on connector 10J4?
    It might be that Williams used another pot value for System6, so try to disconnect 10J4 and use the digital volume control instead.

    Continuing my System 6 adventures:
    - I'm now using the digital volume control and it's working well... I'll debug later what was wrong with the pot.
    - The lamps are working well in "single lamp test", turning one by one. However, the lamp index on the display seems wrong (not incrementing well and many lamps are showing the same index)
    - For the solenoids... well I need to troubleshoot a bit more: the F2 fuse blew, I guess the board triggered a locked solenoid.

    #577 2 days ago
    Quoted from matiou:

    I'm now using the digital volume control and it's working well... I'll debug later what was wrong with the pot.

    Remember to set the volume of the digital volume control back to zero before you reconnect 10J4 or the volumes will add up. But I'd recommend to use the digital volume control anyway, as the old pots can be quite bitchy sometimes.

    Quoted from matiou:

    However, the lamp index on the display seems wrong (not incrementing well and many lamps are showing the same index)

    You're using the test mode of the Base Code, right? Looks like I have to add some System6 display support there also.

    #578 2 days ago

    The testmode of the BaseCode should now support System6 displays, so you could give it another try.

    #579 2 days ago
    Quoted from AmokSolderer:

    The testmode of the BaseCode should now support System6 displays, so you could give it another try.

    wow you're fast
    yep that fixed it... the lamp index is now incrementing nicely. thanks!

    little remark about lamp test, not blocking: in test mode 4, all the lamps turn on, one by one, no problem. in test mode 5, all the lamps turn on except the 8 first (first column of the lamp matrix).

    i will test the solenoids tomorrow... right now everybody sleeps in the house, I cannot make noise!

    #580 1 day ago
    Quoted from matiou:

    wow you're fast

    Yeah, usually it's not much work to do the changes, the problem is more to remember where these display related changes are necessary at all. Therefore it's good that you're pointing me to the right places.

    Quoted from matiou:

    in test mode 5, all the lamps turn on except the 8 first (first column of the lamp matrix).

    This is a relic from the past. I skipped the first column because the games I started with had the first column reserved for backbox lamps and I wanted only the playfield lamps to be flashing. But in the meantime I learned that there're a lot of games handling it differently (like your Firepower), so it doesn't make much sense to keep it this way and I just changed it.

    #581 1 day ago
    Quoted from AmokSolderer:

    (...) I just changed it.

    And it's confirmed working, all lights are now blinking!

    Ok now for the solenoids... I did not want to risk to blow the solenoid fuse again, so I decided to test with some LEDs... I built myself a little board with an old 9 pin connector:
    PXL_20210225_042701758 (resized).jpg

    Then I went to "test mode 3" with my board plugged in successively in 2J9, 2J11 and 2J12

    My results using this test mode:
    - no LED is staying locked on... good!
    - solenoids 1 to 16 are pulsed correctly (they turn on the matching LED)... good!
    - the special solenoids 17 to 22 (2J12) were not pulsed during the test mode (led stayed off)... maybe normal ?
    - every time solenoids 1 to 8 are pulsed, they're followed by solenoid 12 being pulsed as well... I tried to put "BC_ACselectRelay = 0;" in BaseCode.ino but it did not change anything

    #582 19 hours ago
    Quoted from matiou:

    every time solenoids 1 to 8 are pulsed, they're followed by solenoid 12 being pulsed as well... I tried to put "BC_ACselectRelay = 0;" in BaseCode.ino but it did not change anything

    Ok I found my mistake! I went to the game settings option and changed the ac relay option to zero and now the test behaves well (no more unwanted pulses on 12). So my only solenoid test issue left is about solenoid 17 and above not being pulsed.

    #583 19 hours ago
    Quoted from matiou:

    So my only solenoid test issue left is about solenoid 17 and above not being pulsed.

    Well, that sounds like U18 is not working. I guess we can assume that the IC was correctly soldered during manufacturing, so could you check whether you soldered pin 1 of P2 (at the Arduino) correctly? A missing solder joint there would cause the solenoids 17 - 24 to stay off.

    And please also check the soldering of the pins of Q17, Q18, Q23, Q24, Q29, Q30, Q35 and Q36. If you've accidentally created a short there it might have blown U18, although in this case I'd expect U18 to be visually damaged.

    #584 17 hours ago

    We're 8000km apart and you just located a cold solder joint on my board impressive!
    I fixed the joint arduino/p2 and now my leds are flashing!

    #585 16 hours ago

    Let's say I have my moments - not very often, but at least every now and then.

    #586 14 hours ago

    And you used km! Very scientific and collaborative of you!

    Promoted items from the Pinside Marketplace
    $ 54.99
    Cabinet - Shooter Rods
    Lighted Pinball Mods
    $ 159.99
    Lighting - Other
    Lighted Pinball Mods
    From: $ 25.00
    Various Other Swag
    Shoot Again Pinball
    $ 11.95
    $ 175.00
    Lighting - Interactive
    Professor Pinball
    From: $ 99.99
    Cabinet - Other
    Lighted Pinball Mods
    $ 90.00
    Lighting - Under Cabinet
    Rock Custom Pinball
    $ 4.49
    Electronics
    Yorktown Arcade Supply
    $ 20.00
    Playfield - Decals
    Flashinstinct
    $ 2.00
    Playfield - Decals
    Doc's Pinball Shop
    From: $ 129.95
    Lighting - Interactive
    Hookedonpinball.com
    $ 51.45
    Playfield - Toys/Add-ons
    Lermods
    $ 1,200.00
    From: $ 19.95
    Apparel - Unisex
    Pinball Wheezer
    From: $ 9.00
    Electronics
    nvram.weebly.com
    $ 48.00
    Cabinet - Other
    ModFather Pinball Mods
    $ 79.99
    Cabinet - Armor And Blades
    COINTAKER.COM
    $ 24.00
    Cabinet - Shooter Rods
    The MOD Couple
    $ 42.99
    Lighting - Interactive
    Lee's Parts
    $ 5.00
    Various Other Swag
    UpKick Pinball
    $ 5.00
    Cabinet - Other
    UpKick Pinball
    € 59.80
    Lighting - Backbox
    Freddys Pinball Paradise
    $ 175.00
    Lighting - Interactive
    Professor Pinball
    $ 29.00
    Gameroom - Decorations
    Pinball Photos LLC
    $ 69.99
    Playfield - Toys/Add-ons
    Lighted Pinball Mods
    From: $ 42.00
    Cabinet - Shooter Rods
    ModFather Pinball Mods
    $ 5,999.00
    Pinball Machine
    Classic Game Rooms
    $ 7.95
    Various Novelties
    PIC
    $ 36.99
    Playfield - Other
    Pinball Stuff
    There are 586 posts in this topic. You are on page 12 of 12.

    Hey there! Got a moment?

    Great to see you're enjoying Pinside! Did you know Pinside is able to run thanks to donations from our visitors? Please donate to Pinside, support the site and get anext to your username to show for it! Donate to Pinside