(Topic ID: 239045)

Arduino Pinball Controller

By AmokSolderer

2 years ago


Topic Heartbeat

Topic Stats

  • 810 posts
  • 60 Pinsiders participating
  • Latest reply 3 days ago by AmokSolderer
  • Topic is favorited by 105 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

    View topic image gallery

    453DBE7E-8CD8-4CAE-82B9-46E2E87021F9 (resized).jpeg
    32FCCD80-1C7F-4782-84A2-0C0FFE9F3D78 (resized).jpeg
    BA633E7E-D152-46C5-932E-E625D68C0A1F (resized).jpeg
    257C7AE7-F22E-45D1-9BD9-ECF10BC10B75 (resized).jpeg
    Riverboat (resized).png
    DE (resized).png
    APC-Init3 (resized).jpg
    APC-Init2 (resized).jpg
    APC-Init1 (resized).jpg
    APC-Install (resized).jpg
    Complete (resized).JPG
    firepower2 (resized).jpg
    1810171024_Guangdong-Hottech-APM4953_C181099.pdf (PDF preview)
    1810061025_Infineon-Technologies-IRF7316TRPBF_C55887.pdf (PDF preview)
    20210722_181324 (resized).jpg
    20210714_110844 (resized).jpg

    There are 810 posts in this topic. You are on page 14 of 17.
    #651 7 months ago
    Quoted from SYS6:

    Has anybody else had this problem or got any tips?

    Yes, this is a known issue. For some reason the JLC preview fails with the APC board data.
    Just enter 200mmx237mm as board dimensions to get a reasonable quote and proceed with the ordering process. You wont be able to see the board preview, but the rest works.

    Quoted from matiou:

    Maybe this part is not emulated well in this pinmame version.

    Yeah, probably. We still have not understood why PinMame fails with sending the correct sound commands for the Rollergames, so we know that the emulation still has issues.

    However, if PinMame fails you can still do it by yourself. The PinMameExceptions offer much more than just sound manipulation.
    One example: I don't know which display shows the countdown effect, but let's assume it to be display 4. Then you could add the following code to your Ex_firepower:

    case WriteToDisplay4:
    if (PlayingMultiballSound)
    return(1);
    else
    return(0);
    break;

    This will intercept any PinMame commands to this display as long as your multiball sequence is running. Instead you could control the display by yourself and sync it to the sound. You could do the same with the coils if you like. A list with the names of the supported case instructions can be found at the top of PinMameExceptions.ino
    The preliminary documentation is in the 0.22 branch on Github:

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

    #652 7 months ago
    Quoted from AmokSolderer:

    However, if PinMame fails you can still do it by yourself. The PinMameExceptions offer much more than just sound manipulation (...)

    Oh yes I see... That could be quite powerful!

    But in fact I decided to start writing my own code from scratch! I'm going to try to implement the Firepower rules into a new Firepower.ino and then add extra. There is a "deluxe rom" version of Firepower floating around with extra rulesets... It could be interesting to implement those with APC.

    Depending on my other activities, it will take me something between 2 weeks and 2 years

    Quick question, not sure if it was discussed here yet or no... Which IDE are you using to code ? The Arduino IDE works ok but I wanted to try to use vscode and I have difficulties to build the APC code with it... Any advice ?

    #653 7 months ago
    Quoted from matiou:

    But in fact I decided to start writing my own code from scratch!

    You might consider to start from the Base Code, then you wouldn't have to start completely from scratch.

    Quoted from matiou:

    Which IDE are you using to code ?

    I'm using Eclipse with the Arduino plug-in from Jantje:

    http://eclipse.baeyens.it/

    It also includes a debugger. It's for the Arduino UNO, so you have to remove all DUE specific code, but it saved me more than once.

    #654 7 months ago
    Quoted from AmokSolderer:

    Yes, this is a known issue. For some reason the JLC preview fails with the APC board data.
    Just enter 200mmx237mm as board dimensions to get a reasonable quote and proceed with the ordering process. You wont be able to see the board preview, but the rest works. ....

    Thanks AmokSolderer, but no success with this. It is not that I don't get a preview, it is that the upload fails. Manually entering the size does not change anything. It just does not seem to be uploading the gerber. As I say other gerbers are uploading without trouble.

    Has anybody tried to upload the APC gerber recently, perhaps somebody could try this for me?

    Thanks, David.

    #655 7 months ago
    Quoted from AmokSolderer:

    You might consider to start from the Base Code, then you wouldn't have to start completely from scratch.

    Of course! I got started with the base code... Quite some progress already today! Fun!

    Quick question... About bumpers and slingshots... are they handled like everything else (some main loop in my code should detected the relevant switch and trigger the matching solenoid) or is there some kind of interrupt to set up for these ?

    Quoted from AmokSolderer:

    I'm using Eclipse with the Arduino plug-in from Jantje

    Thanks, I'll try it out.

    #656 7 months ago
    Quoted from SYS6:

    Has anybody tried to upload the APC gerber recently, perhaps somebody could try this for me?

    I tried it and I could klick on 'Stop waiting' during the upload. After that I had to enter the dimensions again, but then I could proceed.

    The weird thing is that it didn't ask me to choose a replacement for the 74HCT273 which is out of stock. Apparently it was about to skip it completely.

    I'd recommend to wait for my next APC release, because I'm going to change the part number of the 74HCT273 to a type they still have in stock. The release should happen within the next days.

    Quoted from matiou:

    are they handled like everything else

    Yes, like everything else. You can find the slingshots and the Bumper in the game_main of the BlackKnight.ino. Case 65, 66 and 67 are the corresponding switches.

    #657 7 months ago

    Could this be made to work with Hyperball ?
    I believe it uses 96 lamps instead of 64 - not sure if that is the only difference ?

    I would want to run it with Pinmame.

    #658 7 months ago
    Quoted from AmokSolderer:

    You can find the slingshots and the Bumper in the game_main of the BlackKnight.ino. Case 65, 66 and 67 are the corresponding switches.

    Oh yes thanks... I was using the scoring switches of the bumpers instead of the special switches (with indexes > 64)... now it works better!

    #659 7 months ago
    Quoted from Zigzagzag:

    Could this be made to work with Hyperball ?

    I cannot judge how much work it is to make it work with PinMame, but I guess it should be possible.

    From a first glance to the Hyperball schematics I'd say that the APC can run a Hyperball, but it would take some effort.
    You'd need a small lamp driver board to handle the additional lamps - could be driven by the HW extension interface of the APC.
    The display is special also. It seems to be based on a normal System7, but with an alphanumerical 12 digit display. Apparently, the driver circuits for this alpha are not on a display board, but on the special Hyperball Power Driver Board. That means you'd either need this circuitry on an additional board or you'd have to change a Pinbot type LED replacement set to fit in.

    BTW, you had a Pinbot, right?
    Did you try it with the APC? PinMame works quite well with it and the next SW release will also support the music looping.

    #660 7 months ago
    Quoted from AmokSolderer:

    I cannot judge how much work it is to make it work with PinMame, but I guess it should be possible.
    From a first glance to the Hyperball schematics I'd say that the APC can run a Hyperball, but it would take some effort.
    You'd need a small lamp driver board to handle the additional lamps - could be driven by the HW extension interface of the APC.
    The display is special also. It seems to be based on a normal System7, but with an alphanumerical 12 digit display. Apparently, the driver circuits for this alpha are not on a display board, but on the special Hyperball Power Driver Board. That means you'd either need this circuitry on an additional board or you'd have to change a Pinbot type LED replacement set to fit in.
    BTW, you had a Pinbot, right?
    Did you try it with the APC? PinMame works quite well with it and the next SW release will also support the music looping.

    Ok, I might be in luck and get a set of boards in unknown condition, so I'll wait and see.

    Yes, I had a Pinbot - but I have sold it ...

    #661 7 months ago

    I’m finally getting back to this project, dragged my feet doing a cabinet... should end up looking kinda neat.

    66933565-BC7C-4169-BC7B-F9B405142B14 (resized).jpeg
    #662 7 months ago

    Still working on my Firepower code for APC... And I enjoy it At this point I'm creating classes to make my ruleset-code cleaner and easier to manage. I love the boot duration when using native Arduino code............. 2 seconds

    Quick questions for you AmokSolderer, about blinking lamps in APC...........
    - If I don't know the status of a lamp (on, off or blinking) and i want to turn it off.. do i have to call RemoveBlinkLamp() AND TurnOffLamp() ? or is TurnOffLamp() enough ?

    #663 7 months ago
    Quoted from Kneissl:

    I’m finally getting back to this project, dragged my feet doing a cabinet... should end up looking kinda neat.

    Is this Gameplan HW somehow compatible to Williams or do you have to build some adapters?

    Quoted from matiou:

    do i have to call RemoveBlinkLamp() AND TurnOffLamp() ? or is TurnOffLamp() enough ?

    You have to do RemoveBlinkLamp() first and then TurnOffLamp(). The reason is that there's a list of blinking lamps and if RemoveBlinkLamp() doesn't find the lamp number in there then it will leave the lamp untouched. Hence you need the TurnOffLamp() command additionally.

    #664 7 months ago
    Quoted from AmokSolderer:

    Is this Gameplan HW somehow compatible to Williams or do you have to build some adapters?

    I’m running sys11 boards and mostly Williams mechs, i think the only gameplan bits are the pop bumpers. Would be neat to try and run gameplan hardware I spose, but I never had any.

    #665 7 months ago

    I've released the new SW and updated the documentation. Take a look at the changelog for details

    https://github.com/AmokSolderer/APC/blob/master/DOC/Changes.md

    #666 7 months ago
    Quoted from AmokSolderer:

    I've released the new SW and updated the documentation. Take a look at the changelog for details
    https://github.com/AmokSolderer/APC/blob/master/DOC/Changes.md

    awesome!

    On my side I'm starting to work on the attract mode for Firepower... I would need the capability to address lamps 1 to 8 in the patterns... (they are playfield inserts). Could you please help with this ? (it's not urgent at all!)

    #667 7 months ago

    I think it still makes sense to exclude the backbox lamps from the attract mode patterns.
    From System7 onwards the backbox lamps belong to lamp column 1, but for the earlier games like Firepower this seems to be column 8. That would mean we just need a setting that determines whether column 1 or 8 is used for the backbox lamps.

    Can you confirm that there're 8 lamps in the backbox of the Firepower which all belong to column 8?

    #668 7 months ago
    Quoted from AmokSolderer:

    Can you confirm that there're 8 lamps in the backbox of the Firepower which all belong to column 8?

    Yes I confirm, you are right!

    #669 7 months ago

    I've added System Setting 10 to SW branch V00.23

    https://github.com/AmokSolderer/APC/blob/V00.23/DOC/Settings.md

    If you switch this setting to 1 (Column 8 ) then your backbox lamps should be unaffected by LampPattern, but all playfield lamps should work with it.

    #670 7 months ago

    Making good progress on Firepower... I believe rules are 100% implemented now... I still have to add attract mode, sound, multiball display animation.
    But..... the pinball power supply board just died... I guess I have to pause the project a little bit to fix it. Maybe the 40 year old electronic did not like the many power on/off cycles due to debugging.

    #671 7 months ago
    Quoted from AmokSolderer:

    I've added System Setting 10 to SW branch V00.23
    https://github.com/AmokSolderer/APC/blob/V00.23/DOC/Settings.md
    If you switch this setting to 1 (Column 8 ) then your backbox lamps should be unaffected by LampPattern, but all playfield lamps should work with it.

    sweet, thanks! I'll test that as soon as my power supply is fixed.

    #672 7 months ago

    System 6 power supplies are pretty cheap to fix and buy. Grab a spare
    ebay.com link: itm

    #673 7 months ago

    I have parts on order to fix my power supply.
    Thanks ThatOneDude , you're right I'll make sure to have a spare (the one you linked is missing the big capacitor though)

    AmokSolderer, in the meantime, do you think I can use a 5VDC power supply to power the APC board (it seems only the 5VDC side of my power supply is down)

    #674 7 months ago
    Quoted from matiou:

    the one you linked is missing the big capacitor though

    I always change all the caps out regardless.

    If you use a separate 5v source, i would imagine that the main concern would be to tie the grounds together. I've done that with switching power supplies but never a transformer and a switching ps.

    #675 7 months ago
    Quoted from matiou:

    do you think I can use a 5VDC power supply to power the APC board

    Yes, even a USB charger should do the job as long as the APC is the only board supplied by this 5V, so no LED displays and such.

    Quoted from ThatOneDude:

    i would imagine that the main concern would be to tie the grounds together.

    I agree that depending on your 5V supply that might be a problem.
    Do you have a lab supply? Those are galvanically isolated and therefore well suited. But as I said, I'd even try it with an USB charger, preferably not the cheapest no-name device.

    #676 7 months ago

    While this is likely not the fix for matiou, you can use a board like this to buffer the high voltage current and safely ground multiple power supplies: https://www.multimorphic.com/store/circuit-boards/power-entry/

    #677 7 months ago

    Hi all,

    Had this project bookmarked for a while now and I think it's time to dive in. I've got everything ordered, but I was curious: with the Due starting to get long in the tooth, is there a reason to continue using that particular model? I remember hearing something about the ARM processor having a higher number of available interrupts compared to the Atmega-based boards, but I don't know if that's still true (if it ever was) two years later since the world of microcontroller dev boards seems to move faster than I can keep up with.

    I went ahead and ordered a Due to start with just to minimize complications on the inaugural build, but since I've got four other boards to play with I'd like to experiment with other more widely-available options if there are any.

    #678 7 months ago
    Quoted from Insanity_Falls:

    is there a reason to continue using that particular model?

    At the time some of the reasons for using the DUE were:

    - It's part of the Arduino family which means libraries (for SD and audio) and IDEs are available
    - The DUE is a lot faster than the average ATmega Arduinos and has more memory
    - It has enough pins (which was more important for the first APC protoype as from HW version 2.0 the architecture of the APC was changed)
    - Inbuild DAC with two 12Bit channels which could directly be used for audio
    - Very low price; chinese rip-offs are available for a litte more than 10€

    Quoted from Insanity_Falls:

    I'd like to experiment with other more widely-available options if there are any.

    Not really. The APC (expecially the SW) is tailored to the DUE, so it would require quite some effort to adapt it to another controller.

    #679 7 months ago

    Got it, thanks for the detailed response!

    #680 7 months ago

    I’m flippin!
    img-2718-tQs8d72n-2-2.gif

    90604CAD-DC40-40B3-9F56-7BA2F4A23025 (resized).jpeg
    #681 7 months ago

    I fixed my system 6 power supply... now back in business! yeah!

    Quoted from AmokSolderer:

    I've added System Setting 10 to SW branch V00.23
    https://github.com/AmokSolderer/APC/blob/V00.23/DOC/Settings.md
    If you switch this setting to 1 (Column 8 ) then your backbox lamps should be unaffected by LampPattern, but all playfield lamps should work with it.

    I just tried this and.... unfortunately putting the settings to "1" is messing up the lamp assignments... both in pinmame mode and in native mode, the game lamp indexes are shifted... and so it's not the right lamps that are turned on and off on the playfield (during both attract mode and gameplay). Or maybe i'm doing something wrong ?

    #682 7 months ago
    Quoted from Kneissl:

    I’m flippin!

    Looks good. What are you using, PinMame, MPF or C?

    Quoted from matiou:

    Or maybe i'm doing something wrong ?

    No, it was my bad. Please try again.
    I hope we don't need too many iterations. The problem is that the weather here is too good for coding at the moment, so this is my kind of garden work.

    #683 7 months ago
    Quoted from AmokSolderer:

    No, it was my bad. Please try again.
    I hope we don't need too many iterations. The problem is that the weather here is too good for coding at the moment, so this is my kind of garden work.

    Thanks, I'll try tonight... And as I said earlier, this is for my Firepower attract mode, not critical at all! Enjoy the weather!

    #684 7 months ago
    Quoted from AmokSolderer:

    Looks good. What are you using, PinMame, MPF or C?

    C
    I just hacked the pinbot code to run my coils and switches and have the ball trough feed a perpetual game. Once I rig up some sounds and wire the rest of the switches I’ll work on a proper game.

    #685 7 months ago
    Quoted from AmokSolderer:

    No, it was my bad. Please try again.
    I hope we don't need too many iterations. The problem is that the weather here is too good for coding at the moment, so this is my kind of garden work.

    Looks good now! Thanks!

    #686 7 months ago

    Picked up a Bally Star Trek that has a problem with the MPU board.

    Looks like I have a test machine for a drop-in APC board for Bally/Stern.

    #687 7 months ago

    So you're moving on to Bally. That makes me curious of course.

    May I ask what the status of your Gottlieb version is? Is there some code or schematics you'd be willing to share?

    #688 7 months ago
    Quoted from AmokSolderer:

    So you're moving on to Bally. That makes me curious of course.
    May I ask what the status of your Gottlieb version is? Is there some code or schematics you'd be willing to share?

    Not moving on yet. Side project. I can't just have 1 project going at a time, I need 4 or 5. Star Trek is getting an Alltek board until I have time to build a new APC board.

    Gottlieb development is still on-going. I am working on adding System 1 support to my boardset, which has required some design changes. I've built a LISY module for my modular boardset but that is not running yet. Goal is to be able to switch between LISY and MPF without any reconfiguration.

    I have not modified the APC code for a long time, I am going to update to the latest version and bring my new code over.

    Noteworthy changes:
    -8x8 lamp driver.
    -Options to disable each section of the boardset.
    -Write to the solenoid driver on every update cycle. Prevents locked on coils caused by spurious signals (from protoboard + HV coils).

    #689 7 months ago

    This Bally MPU board looks interesting, with J5 exposing the CPU bus.

    I'm going to attempt to do the same thing as this, using the APC in USB mode as a bridge to MPF. A few legs broke off my 6800 when reseating chips so step #1 is already completed.

    https://pinside.com/pinball/forum/topic/replacing-the-m6800-in-a-stern-mpu100-with-an-arduino

    #690 7 months ago
    Quoted from RatShack:

    This Bally MPU board looks interesting, with J5 exposing the CPU bus.
    I'm going to attempt to do the same thing as this, using the APC in USB mode as a bridge to MPF. A few legs broke off my 6800 when reseating chips so step #1 is already completed.
    https://pinside.com/pinball/forum/topic/replacing-the-m6800-in-a-stern-mpu100-with-an-arduino

    It actually works really well! Have it setup for Meteor and it is nice to be able to run the original native code or put the original MPU to sleep and let the Arduino drive. Quite a few other Bally and Stern games are already done. I am going to use it for Elektra and one other project.

    1 week later
    #691 6 months ago

    I got an E-Mail from Digikey. Apparently the TDA7496 audio amplifier IC is about to be discontinued by the manufacturer.

    That means it might be getting more difficult to get these parts in the future.

    #692 6 months ago

    I have uploaded a new video which shows an example of how to use the PinMameExceptions functionality of the APC to change the rules of your game even though it's running under PinMame control.

    The corresponding code can be found in PinMameExceptions.ino in the AmokPrivate branch on Github.

    Feedback is welcome.

    #693 6 months ago

    Very cool! When I was going to try this with Scared Stiff, I was thinking of a similar approach to enabling the kicker for "Saved by the Spell." Basically, if saved by the spell is active and the left outlane switch activates, fire the kickback and catch the next trough launch and ignore it.

    #694 6 months ago

    Yeah, that's exactly the kind of stuff that can be done very easily with these exceptions.

    The combination of exceptions and the solenoid expansion board could also be fun, as you could just add additional HW toys and use the exception rules to trigger them.

    1 week later
    #695 6 months ago

    I finally got around to finishing my new APC board.
    Just in time to pick up some sys 11 playfields with intact wiring harnesses.

    20210714_110844 (resized).jpg20210715_010609 (resized).jpg
    #696 6 months ago
    Quoted from ThatOneDude:

    I finally got around to finishing my new APC board.
    Just in time to pick up some sys 11 playfields with intact wiring harnesses.
    [quoted image][quoted image]

    Nice score!

    1 week later
    #697 6 months ago

    Successful location test of the GTB APC board tonight. Thank you so much Amok for your hard work and making it open source.

    20210722_181324 (resized).jpg
    #698 6 months ago

    Thanks for the feedback. Now I'm curious of course.

    What kind of machine is/was it originally? From the monitor in the backbox I'd guess it's now MPF running on a PC and controlling your GTB APC via USB, right?

    #699 6 months ago

    Correct. It currently runs MPF, I am updating the boardset for the LISY module. One of these days it will run pinmame on a PC.

    This was an empty Cirqus Voltaire cabinet someone tried making into a virtual pin. I removed everything but the LCD screen.

    Rock playfield is unmodified except for the mounting hardware and converted to molex connectors.

    #700 5 months ago
    Quoted from RatShack:

    It currently runs MPF, I am updating the boardset for the LISY module.

    I know Lisy can run MPF, but I don't know what it would take to make this setup work with the APC, too.
    It is on our to-do list, but up to now nobody seemed to need it.

    bontango Ralf, do you have an idea how much effort would be required to do this?

    There are 810 posts in this topic. You are on page 14 of 17.

    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