(Topic ID: 239045)

Arduino Pinball Controller

By AmokSolderer

5 years ago


Topic Heartbeat

Topic Stats

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

    20240317_224906 (resized).jpg
    IMG_20220326_054355 (resized).jpg
    IMG_20220324_115019 (resized).jpg
    0803_1 (resized).jpg
    IMG_20220306_221732 (resized).jpg
    IMG_20220225_113217 (resized).jpg
    IMG_20220224_102209 (resized).jpg
    afficheur (resized).jpg
    bootok (resized).jpg
    20220225_100158 (resized).jpg
    20220225_100214 (resized).jpg
    20220225_084428 (resized).jpg
    U1wrongPol (resized).jpg
    453DBE7E-8CD8-4CAE-82B9-46E2E87021F9 (resized).jpeg
    32FCCD80-1C7F-4782-84A2-0C0FFE9F3D78 (resized).jpeg
    BA633E7E-D152-46C5-932E-E625D68C0A1F (resized).jpeg

    There are 959 posts in this topic. You are on page 3 of 20.
    #101 4 years ago

    Yes, I have heard of LISY. I only have the populated playfield (no cabinet or boards) of Tag Team and I rarely have Gottlieb machines anyway. The one APC board and some power supplies just seems easier to me than building up multiple Gottlieb style boards. Additionally, I just don't like edge card connectors.

    #102 4 years ago
    Quoted from cobra18t:

    The one APC board and some power supplies just seems easier to me than building up multiple Gottlieb style boards.

    I'm not familiar with Gottlieb machines, but the basic structure is probably the same. You have to pay attention to the details of course, because if the differences are severe enough to require a change of the HW driver then things might become cumbersome.

    At the moment I'm in close contact with the developer of the Lisy boards, as he is currently adapting PinMame to be used with the APC. So I'm just going to ask him what the main differences between Gottlieb and Williams are and if he sees some major problems for your hack.

    #103 4 years ago
    Quoted from AmokSolderer:

    So I'm just going to ask him what the main differences between Gottlieb and Williams are and if he sees some major problems for your hack.

    IMHO main differences are with Lamps & Switches. Williams do use a Lamp matrix where Gottlieb has one transistor for each lamp. For Switches I'm not sure if the Matrix is compatible, I know that Bally & Gottlieb have different concepts as Gottlieb do strobe with 'low' signal, resulting in different placements for the diodes in the Matrix between Bally & Gottlieb AmokSolderer can you explain how Williams do sense the switches?
    For the solenoids I see no problems, For Displays you have to use Williams Displays.

    cobra18t If you do not like edge connectors and do not have the Gottlieb driverboards you may think about 'LISY_Home'; just have a look at http://www.lisy.dev
    LISY_Home is a 'LISY80 clone', so the switches will work out of the box and for Displays & Solenoids I have designed a driverboard.
    For Lamps I do not have a Lampdriverboard yet, as for my LISY_Home project I plan to use LEDs.
    You can use LISY_Home with MPF but as a LISY80 clone, it is also possible to let run system80(B) pinmame romsets.
    However keep in mind that LISY_Home is in early testing phase ...

    hope that helps

    #104 4 years ago
    Quoted from bontango:

    I know that Bally & Gottlieb have different concepts as Gottlieb do strobe with 'low' signal

    Williams does also strobe with a LOW signal, so this should work. Are there any special switches like the Special Solenoid Switches in Williams machines?
    Alas, I'm unable to find a Gottlieb schematic, so I cannot look by myself.

    #105 4 years ago

    Thanks for the info bontango and @amoksolderer.

    I was already considering using addressable LEDs for lighting, so lamp differences are moot. I don't want to get too hung up on the Tag Team playfield as it is just a test bed. Think of it less as a 1985 Gottlieb and more as a convenient collection of solenoids, playfield machinery, and switches. My main focus is on the Williams machines that APC was built for.

    It is good to see that you two seem to have a collaboration in the works with LISY_Mini. I will keep an eye on that project.

    #106 4 years ago
    Quoted from cobra18t:

    I was already considering using addressable LEDs for lighting

    That's probably a good idea, I plan on doing the same with an old Firepower playfield that's currently getting an overhaul. As you have probably seen on my GitHub page, I have designed a small LED expansion board for this purpose.
    If you want to use the APC with MPF than you're probably better off with Facecandy, as it is already supported by MPF. But if you want to use the APC natively or with PinMame, then my expansion board might be worth a try. It's still in an early phase, but it is already implemented in the APC driver SW and can be activated in the settings menu. It does automatically take care about smooth turn on/off of the LEDs, because it hurts my eyes when LEDs are switching hard.

    Quoted from cobra18t:

    It is good to see that you two seem to have a collaboration in the works with LISY_Mini.

    Yeah, we found out that we're living quite nearby and working on similar stuff. So we decided to use the Lisy_Mini to run MPF or PinMame on and control the APC via USB.

    #107 4 years ago

    Any chance you will release the KiCad files for APC? I am interested in making mods to the board.

    #108 4 years ago

    I'd planned to wait until the APC has become a bit more 'established'. By this I wanted to avoid people getting confused by multiple versions circling around.
    What would you like to modify by the way? I'm always curious for new ideas.

    #109 4 years ago

    That is what I thought.

    I want the audio amp to be a plug in replacement, so some cheap class D amp board from China could be used. I also want a number of surface mount parts to reduce size, use more available parts, and make room for things like optional onboard alphanumeric LED drive, Ws2812 LED drive, etc.

    In short, I like customizing to my exact need.

    #110 4 years ago

    OK, I think I'm going to add the KiCad files to the next GitHub update. This will be earliest in two weeks, as I'm on vacation at the moment, without access to my design data.

    1 week later
    #111 4 years ago

    Update:
    There will be a new HW revision coming soon. Snux found an issue with the direct switches in Sys11a and b machines. Nothing severe, it can be fixed with a single wire, but if you're thinking about ordering boards better wait a bit for the new version to come.
    I'm going to post it here when the update is online.

    And some good news. Except from the mentioned issue Snux was quite successful in making his MPF controlled 'F-14 Second Sortie' work with the APC.

    #112 4 years ago
    Quoted from AmokSolderer:

    Snux was quite successful in making his MPF controlled 'F-14 Second Sortie' work with the APC

    So far everything is looking good. I had to make a small number of MPF config changes, mainly related to the special solenoids. Normally in F-14 and the other earlier Sys11 (and earlier generation) machines, the CPU doesn't get involved in firing coils for things like jet bumpers and slings. For those kind of devices you want the coil to fire as soon as the switch closes, otherwise it appears to lag. Williams were concerned that the CPU wouldn't be able to react quick enough to the switch closure, so they set up these "special" solenoids to fire immediately the switch closed, without any action from the CPU. Nice and snappy.

    APC is quick enough to not need that, so instead all the special solenoids need to be activated by the CPU. So I needed to add an "autofire rule" into the MPF config. This basically says "if switch x closes, fire coil y". Instead of MPF handling this, it's then sent to the controller to handle itself. Here is an example from my code for the jet bumper

    autofire_coils:
    
    jet_bumper:
    coil: c_jetBumper
    switch: s_jetBumper
    enable_events: mode_base_started
    debug: false
    ball_search_order: 0 # ball can't get stuck here
    disable_events: mode_base_ended`

    So adding those in only took a few minutes. I had some concerns over the latency, but as you can see from the video (not the best quality, sorry) it works really well. APC also has individual enables for the flippers, so that opens some interesting game play options where I could disable just the left or right flipper from software.

    I also spent some time getting the original F-14 display connected. We had to fix a couple of lines of code in MPF to get the segments mapped properly and now that works really well too. I added some simple attract mode text, and during the game it displays the score of player 1. I'm undecided at the moment what displays to put where. Maybe I'll the little matrix displays on the apron and keep the segment displays for the old school look, not sure yet.

    Mounting the APC board was a little time consuming. A lot of the connectors are in different places compared to the original MPU board (plus the board is only one third of the size) so I needed to cut open some cable ties to loosen off some of the wires. Still a little work to do to make that tidy, but no big issue.

    Anyway, here is a quick video. Starts in attract mode. You can see that MPF is running the show. On my F-14 the white inserts have RGB lamps behind them and are controlled from MPF via a small FadeCandy board. All the other lamps are regular matrix lamps and run via the Arduino Pinball Controller. They all stay in sync just fine. During the game you can see MPF with APC is controlling all the coils just fine, including the slings/jet, switches are reading fine. All looking good so far

    A huge thanks to Jan for the work in MPF and to "Black Knight" aka "AmokSolderer" for support on the hardware side.

    #113 4 years ago

    That's the news I was waiting for.
    Many thanks to Snux for his great work, he even overcame his fear of SMD soldering.

    Only thing not yet tested with MPF is the sound, but at least I've successfully tested that the APC plays the requested sound and music files if you send the corresponding commands via USB. So it should be OK from the APC point of view.

    As everything seems to work I have just released the new version, it contains HW V2.4 and SW V0.11. I also added the KiCad design files to DOC/Hardware.

    https://github.com/AmokSolderer/APC

    Note that the project page now features a status table showing which system generations have been tested and whether there's anything special to take care of. Below that table is a link to a changelog, which gives an overview about what has been done and why, also details to the new HW and SW versions are mentioned there.

    BTW, I got several questions like : I want to change the rules of my machine, does that mean I have to reprogram everything?

    Well that depends on the severity of the changes you want to perform. For small changes it might be enough to run your game in PinMame and just manipulate the interface. To understand what that means you have to know how the collaboration between PinMame and the APC works.

    In the system settings of the APC you can select which game SW shall be executed. If you want to use MPF or PinMame you'd choose USBcontrol since MPF or PinMame have to run on an external computer (PC or https://lisy.dev/lisy_mini.html) which controls the APC via USB. This is handled by the USBcontrol.ino program which is part of the APC software.
    To implement small gameplay changes you could write an own program which you select in the system settings. This program could act like a man in the middle and would normally just forward any event to USBcontrol.ino and back. But for certain events this program could act differently and introduce the desired gameplay change.
    Of course this only works up to a certain extend, because you always have to be aware about what PinMame is expecting to happen.

    It should work great for additional effects. Especially on older machines with no backbox effects you could put a LED strip behind the backglas and run a fancy lightshow depending on what happens on the playfield. If the machine has unused solenoid drivers you could even add flashers to such a machine (or someone has to develop an additional driver board for flashers and connect it to the HW extensions port of the APC).

    I hope that helped, now have fun with it

    Frank

    #114 4 years ago

    Excellent. Thanks for posting the KiCad files. That F-14 is looking good...time for some sound!

    1 month later
    #115 4 years ago

    Following this project closely, great work. I'm working on a pinmame-based cabinet that supports multiple hardware platforms and I need an interface controller that will accept remote commands from pinmame.

    The first platform I'm implementing is Gottlieb System 1. I was looking at LISY but the pinmame source looks like it only is able to communicate with the LISY board via the Raspberry PI's GPIO, and it didn't look like the ad-hoc command interface MPF uses is implemented at all in pinmame.

    Your project looks exactly like what I'm looking for! Looking forward to seeing where this goes.

    #116 4 years ago
    Quoted from RatShack:

    I'm working on a pinmame-based cabinet that supports multiple hardware platforms and I need an interface controller that will accept remote commands from pinmame.

    Happy to help when it comes to questions about LISY, can you give a bit more details on what you want to achieve?
    If you have a System1 plattform, LISY1 would IMHO be the best choice.
    It could work with pinmame OR with MPF via the integrated MPF Server.
    With APC you are more or less restricted to Williams Hardware.
    I have also created a more flexible plattform called 'LISY_Home', maybe thats what you are looking for?
    https://lisy.dev/lisy_home.html

    #117 4 years ago
    Quoted from bontango:

    Happy to help when it comes to questions about LISY, can you give a bit more details on what you want to achieve?
    If you have a System1 plattform, LISY1 would IMHO be the best choice.
    It could work with pinmame OR with MPF via the integrated MPF Server.
    With APC you are more or less restricted to Williams Hardware.
    I have also created a more flexible plattform called 'LISY_Home', maybe thats what you are looking for?
    https://lisy.dev/lisy_home.html

    I want to have a Windows PC running pinmame or MPF, controlling an interface board via USB/serial.
    LCD display, no original displays. With APC I'd probably end up making my own board because as you mentioned it is geared towards Williams hardware. In this setup I think a microcontroller is a better choice over a raspberry pi.

    #118 4 years ago

    I just released SW Version 0.12 to make the sound work with MPF.
    With these changes the APC should be all set for MPF, the next task is to make PinMame work also.

    You can find some more information in the changelog including a video showing my humble MPF (and filming) skills at work.

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

    Quoted from RatShack:

    With APC I'd probably end up making my own board because as you mentioned it is geared towards Williams hardware.

    It's probably mostly changing the connectors. Of course it would be great if you'd also make your board data available to others.

    #119 4 years ago
    Quoted from AmokSolderer:

    It's probably mostly changing the connectors. Of course it would be great if you'd also make your board data available to others.

    Of course, happy to share anything I come up with.

    I need to look at the latest Pinmame source, but if I end up having to implement anything I'll share my work with that project as well.

    #120 4 years ago

    I bought an Arduino Due, but noticed in your pics you have an Arduino Due R3. From what I'm reading, the regular Due is a 3.3V part and your schematic has 5V IO going to the Due off the 74HCT244.

    Did I get the wrong Arduino?

    #121 4 years ago

    Awesome stuff! I went a similar route, with a Teensy 3.5 as the realtime controller. I added a hack to pinmame to drive a DMD to emulate Scared Stiff, and I've got another similar project running MPF with the Teensy controller. I just got a couple of RGB DMD panels from China, so I'm waiting on another Teensy and a SmartLED board to build an RGB DMD for that machine.
    Rpi driving DMD:

    #122 4 years ago
    Quoted from RatShack:

    Did I get the wrong Arduino?

    Don't worry, all Arduino DUEs are operated with 3.3V.
    Apart from being bus drivers, the 74HCT244 ICs you've seen in the schematic act also as levelshifters from 3.3V to 5V. It's one of the main features of the HCT logic family that you can operate their inputs with 3.3V signals while supplying them with 5V.

    Quoted from ThatOneDude:

    I added a hack to pinmame to drive a DMD

    I also did some experiments with DMDs, because I thought about adding DMD support to the APC and a small DMD controller would be a good solution IMHO. You could control it via USB or the APC's hardware extension interface.
    I used an Arduino UNO to find out how to control the display, but this was just a test as it lacks the necessary processing power to control the display and simultaneously receive the data via USB.

    However, I still consider buying a Teensy and write the necessary SW, but to be honest I don't even know if there's any need for something like this.
    P1020627 (resized).JPGP1020627 (resized).JPG

    #123 4 years ago
    Quoted from AmokSolderer:

    Don't worry, all Arduino DUEs are operated with 3.3V.
    Apart from being bus drivers, the 74HCT244 ICs you've seen in the schematic act also as levelshifters from 3.3V to 5V. It's one of the main features of the HCT logic family that you can operate their inputs with 3.3V signals while supplying them with 5V.

    Good to hear! I have an official Due but ordered a cheap clone for testing & development.

    I later realized the 74HCT244's worked as level shifters, and it doesn't matter anyway because they're connected to outputs (don't drink and read schematics). To make sure I understand your design, in the switch driver section it's using R77-R85 and RR8 to get the 74BCT760 output to 3.3V?

    #124 4 years ago

    The nice thing about the Teensy is that most of the work is already done for you: https://docs.pixelmatix.com/SmartMatrix/shield-v4.html

    #125 4 years ago
    Quoted from RatShack:

    To make sure I understand your design, in the switch driver section it's using R77-R85 and RR8 to get the 74BCT760 output to 3.3V?

    Basically yes, but the 74BCT760 is an open collector driver and can only pull it's output lines to GND.
    Therefore RR7 does also belong to the resistive divider dropping the 5V down to 3.3V. With the BCT760 I just added a 9th switch row to the matrix to handle the direct and special switches.

    Quoted from ThatOneDude:

    The nice thing about the Teensy is that most of the work is already done for you:

    Yes, but my setup was meant for the old DMDs from the WPC era as I was thinking about controlling the old WPC DMDs with the APC. I've found several projects dealing with RGB LEDs, but I didn't find a small controller for the old DMDs. May be because it's too simple - with the UNO you don't even need additional HW. Or just because there is no need.

    #126 4 years ago
    Quoted from AmokSolderer:

    Yes, but my setup was meant for the old DMDs from the WPC era as I was thinking about controlling the old WPC DMDs with the APC. I've found several projects dealing with RGB LEDs, but I didn't find a small controller for the old DMDs. May be because it's too simple - with the UNO you don't even need additional HW. Or just because there is no need.

    The newer Stern monochrome DMDs seem to work fine with 3.3v, so any of the recent Teensy boards should be more than sufficient. WPC style displays are a compilation of 3 subframes, each 4k-bits long. You could feed this directly to a stock DMD. To drive an RGB pixel n with red as a the base color, multiply subframeX[n] by 85 and add the 3 results together. You will end up with #000000, #550000, #AA0000 or #FF0000 (assuming R is the first byte in your serial LED library) for the final pixel color. Should be easy to blast that out in real time with a Teensy. That was my plan if I end up using the color panels with my Scared Stiff project.

    #127 4 years ago

    This is how I update a DMD right now. I need to finish converting it to a threaded model, but it works from a Raspberry Pi 3 with the WiringPi library. The Pi was too fast for the DMD, so I had to introduce delays during testing.

    =========
    /* Take in array and update the DMD directly */
    void oppaUpdateDMD(UINT8 *dotData) {
    //printf("In update DMD\n");

    int row;
    /* Row data - This signal is the first line marker for the scan.
    This input should be held high to correspond to the first row
    of pixel data
    */
    digitalWrite(pinRowData, HIGH);
    for(row = 0; row < OPPA_NUM_OF_ROWS; row++) {
    int index;
    /* From Vishay doc: Once each frame the ROW DATA must be asserted to synchronize the column serial data with the beginning row */
    /* Latch the row of data */
    digitalWrite(pinColLatch, LOW);
    for(index = 0; index < 16; index++) {
    shiftOutSlow(pinDotData,pinDotClock,LSBFIRST,dotData[(row*16) + index]);
    //shiftOut(pinDotData,pinDotClock,LSBFIRST,3);
    //delayMicroseconds(40);
    }
    if(row == 0) {
    digitalWrite(pinRowData, HIGH);
    } else {
    digitalWrite(pinRowData, LOW);
    }

    /* Turn off the display while we latch in the this row */
    digitalWrite(pinDisplayEnable, LOW);
    digitalWrite(pinColLatch, HIGH);

    /* Advance the row pointer */
    digitalWrite(pinRowClock, LOW);
    /* Minimum 1us dip */
    delayMicroseconds(0);
    digitalWrite(pinRowClock, HIGH);

    /* Reenable display */
    digitalWrite(pinDisplayEnable, HIGH);
    delayMicroseconds(2);

    }
    }

    void shiftOutSlow(uint8_t dataPin, uint8_t clockPin, uint8_t bitOrder, uint8_t val)
    {
    uint8_t i;

    for (i = 0; i < 8; i++) {
    if (bitOrder == LSBFIRST)
    digitalWrite(dataPin, !!(val & (1 << i)));
    else
    digitalWrite(dataPin, !!(val & (1 << (7 - i))));

    digitalWrite(clockPin, HIGH);
    delayMicroseconds(1);
    digitalWrite(clockPin, LOW);
    }
    }

    1 week later
    #128 4 years ago

    From my point of view the APC is all set to be used with MPF or to be programmed natively.
    However after several questions concerning the population of the boards it has been become rather quite.

    At the moment I know of only two people actually using the board in their machines, so I wonder what has happened to the rest? Is the population of the board such a big problem, are you waiting for PinMame support or what else is making you hesitate to use it?

    I'm just curious so I'm going to start a poll about the problems you might have. Of course you're also welcome to post your opinion here.

    For me this feedback is important to learn whether further support is needed from my side. Alas there's not much I can to to support the PinMame development as I'm lacking the necessary knowledge to be of much help there. The USB interface is set up, but it seems that Ralf is busy with Lisy and has no time to continue his work on PinMame at the moment.

    #129 4 years ago

    Since I just discovered this project less than 2 weeks ago, I haven't had time to pull down the Gerber files and have a board made. I'm inclined to rework it slightly for a Teensy(since that's my main Arduino compatible board now). The Scared Stiff project mentioned above is meant to be driven from a Raspberry Pi connected to a Teeny via USB, so I may be able to help some with that part of the effort. I do have a Blackout that is currently under reconstruction(and a lead on a WCS with no boards), so I may be able to duplex some of the work for my projects. I opted to base my serial protocol on the LISY protocol in MPF. If you do the same, most of my work would be reusable on the pinmame side.

    #130 4 years ago
    Quoted from AmokSolderer:

    At the moment I know of only two people actually using the board in their machines, so I wonder what has happened to the rest?

    I guess I'm one of the two

    There are a few things which might make it more "user friendly", but I know for you this was never intended for "mass market", so these are just my thoughts and not intended as criticism. Your board is actually awesome, driving the original displays and being able to run game code locally is really cool.

    - The often discussed self-build with SMD. I'd done a lot of soldering before, but never SMD, but watched some videos and gave it a try. It is actually easier than it looks. But many people are "just software folks" and the thought of building something with through-hole is already scary. SMD adds a new dimension for them. I initially sold my Sys11 board just as a kit, but in the end support was so high that I used to spend a day building and testing maybe 6 of them and then sold them ready. I added a little "beer money" to the price. Those 6 would normally last a year, they never sold huge numbers.
    - Connector positioning and board mounting. On the board I developed for Sys11 that connected to the P-ROC, I tried hard to make it mountable on the positions that the Sys11 MPU had used. It was half the size, so used the right and centre mountings from the original board - see the photo below. That's the P-ROC on the left and my board in the middle. I also tried to get the connector positions "more or less" in the same position as the original, to avoid so much cable-binder removal and replacement. With your board this is harder I guess as it works with so may generations, although maybe the various WMS generations have their connectors in the same place? I can also see that moving the connectors on the board is quite a lot of work, although if the board was a little bigger (to fit the Sys11 mounts) there would be more space for tracks. To fit your board in my F-14 I had to do a lot of cable re-routing and it still looks messy.
    - Maybe add a few LEDs? My board has them for 5v,12v and 18v and also from the P-ROC enable line. The latter made it quite easy to see that software was running and connected. Maybe if you have a spare Due pin, connect that to a LED and just blink it when the code is running.
    - Pinmame is nice. When I started P-ROC with Sys11, someone has already built the link to P-ROC from Pinmame and I added the missing Sys11 support. It is then nice to play the original game code when you get frustrated with the ongoing development. I don't have time at the moment (which is why I've been really quiet lately) but once Ralf gets it working for LISY, it should be almost "plug and play" to build for Windows. Then you can either run MPF on the windows machine, or Pinmame, or run the local game code on the Arduino.

    DSCN4998 (resized).JPGDSCN4998 (resized).JPG

    Quoted from ThatOneDude:

    I'm inclined to rework it slightly for a Teensy

    You might find that the Teensy doesn't have enough pins - the Due has 54 of them and I think (but haven't checked) that they're fairly heavily used. The Teensy has 40 or thereabouts I think, depending on which version.

    #131 4 years ago
    Quoted from Snux:

    You might find that the Teensy doesn't have enough pins - the Due has 54 of them and I think (but haven't checked) that they're fairly heavily used. The Teensy has 40 or thereabouts I think, depending on which version.

    The 3.5 and 3.6 each have 62 I/O pins. For my OPPA project, I opted for i2c boards based on MCP23017 serial chips, since the 3.5 had 3 i2c buses(giving me 384 direct I/O pins, plus the rest of the Teensy pins for things like PWM). I used an i2c buffer chip on both sides and connected them via phone cord(RJ11 connectors).

    I'm also one of those mostly software guys who hasn't made the jump to SMD.

    #132 4 years ago
    Quoted from Snux:

    I guess I'm one of the two

    Your guess is right, good to have you back.

    Quoted from Snux:

    You might find that the Teensy doesn't have enough pins

    I think you can probably make it work with 40 pins, but using a Teensy instead of a DUE would still require some work. I see the main problem in the SW as you would have to change the HW driver. In order to speed it up it is accessing the DUE's registers directly instead of using the Arduino commands.
    Therefore I wouldn't change the controller unless I absolutely had to.

    Quoted from ThatOneDude:

    I opted to base my serial protocol on the LISY protocol in MPF. If you do the same, most of my work would be reusable on the pinmame side.

    I'm also using the Lisy protocol. It has proceeded to version 0.09, so you have to to switch the MPF documentation to the dev branch to be able to see it.

    Quoted from Snux:

    But many people are "just software folks" and the thought of building something with through-hole is already scary.

    Yeah, I expected that to become an issue. But to be honest I'm just not willing to solder boards in my spare time and then bother with shipping, customs and whatever might go wrong. For me it's just a hobby and I don't want it to become an obligation.
    But since I don't want to earn money with it, I wouldn't mind if someone else would build boards to sell. Who knows, when the PinMame stuff works and boards are available for sale, one day the numbers will probably go up.

    Quoted from Snux:

    maybe the various WMS generations have their connectors in the same place?

    Unfortunately not, they're completely different, so I optimized the layout for minimum crosstalk and ground bounce instead of trying to adapt it to one certain system generation. For example, if you take a look at the pic of Ralf's Comet in my changelog https://github.com/AmokSolderer/APC/blob/master/DOC/Changes.md it looks almost perfect. So the APC seems to fit much better in Sys9 than in Sys11.

    Quoted from Snux:

    The latter made it quite easy to see that software was running and connected.

    I got your point. Another way would be to make more use of the Arduino debug interface. This can send all kind of debug messages back to your PC. I have to admit that the SW doesn't support this feature very well at the moment. So one could also think about pimping the debug mode to send more meaningful messages to the PC.

    #133 4 years ago
    Quoted from AmokSolderer:

    I see the main problem in the SW as you would have to change the HW driver. In order to speed it up it is accessing the DUE's registers directly instead of using the Arduino commands.

    They are both Cortex ARM. M3 and M4. I think the conversion wouldn't be terribly hard.

    #134 4 years ago
    Quoted from AmokSolderer:

    For me it's just a hobby and I don't want it to become an obligation.

    This I understand 120%. Life is already too busy.

    #135 4 years ago
    Quoted from Snux:

    This I understand 120%. Life is already too busy.

    Absolutely. And if it means that just some nerds like us are going to use this board then so be it.

    1 week later
    #136 4 years ago

    Finally picked up my project playfields, at this point I'm working on Gottlieb System 80B first.

    Down the road I'll be working on Data East support as well, but that should be pretty straightforward as it's a copy of System 11.

    #137 4 years ago
    Quoted from AmokSolderer:

    I'm just curious so I'm going to start a poll about the problems you might have. Of course you're also welcome to post your opinion here.

    From my experience with LISY most people want to have a 'plug&play' solution or at least a 'Kit' with the PCB and all components included, and they do not want to read documentation A 'quick win' with basic functionality of the board is important, then in a second step 10% or so of the people start to read documentation and will try the advanced features.
    Also SMD components do scare people, I do have only ONE SMD component on my LISY board and most people would like to get rid of it.

    But I don't think that you can solve that without putting a lot of additional effort in your project.

    My personal wish list is (in that order)
    - put some DIP switches on the board ( e.g. to start direct with LISY/pinamme without the need to select that either in the source or via the menu)
    - integrate LISY onto the board, connected e.g. via I2C
    - split the APC board into different 'variations', so that the connectors fit with the original

    With all of that you would have a minimal 'plug&play' solution.
    O course I need to finish the pinmame integration, which I promise I will do, at least for System9, ASAP

    #138 4 years ago
    Quoted from bontango:

    But I don't think that you can solve that without putting a lot of additional effort in your project.

    Basically it would mean turning it into a professional product. This means a lot of non-fun work which would only make sense if I'd want to sell it.

    Doing an FPGA might be a compromise solution. This could replace most of the components on the board while adding some additional functionality. Of course this would spoil the open source character of the project, but it would certainly fit to the product idea. With a hot air soldering system the FPGA could be easily pre-mounted on the board and would therefore reduce the soldering work for the end-user to a minimum.

    This might be something interesting for long winter evenings, but when I look at the poll then I don't see any real demand, so I'm not going to pursue it with a high priority.

    4 weeks later
    #139 4 years ago

    I've been looking at this with interest. If I am understanding correctly, this board is doing the equivalent job of a p-roc except for system 11, etc.? I understand that p-roc does not work with system 11 without additional hardware so if the above is true then this is great and I want one.

    From what I am reading the experience should be similar to p-roc as far as hardware. Connect a host controller (pi or PC) and the app does all the interface. Am I understanding correctly?

    #140 4 years ago
    Quoted from jamescardona:

    If I am understanding correctly, this board is doing the equivalent job of a p-roc except for system 11, etc.?

    Exactly.

    Quoted from jamescardona:

    Connect a host controller (pi or PC) and the app does all the interface. Am I understanding correctly?

    Also correct, but it uses the Lisy USB protocol (http://docs.missionpinball.org/en/dev/hardware/lisy/protocol.html) which only works with MPF (http://missionpinball.org/) at the moment. There is someone doing the PinMame implementation, but it is not finished yet (Help from PinMame developers would be welcome).

    Quoted from jamescardona:

    I understand that p-roc does not work with system 11 without additional hardware so if the above is true then this is great and I want one.

    There's a catch I'm afraid: For me this is just a hobby and I'm not interested in manufacturing and shipping the boards. Instead I have put all the required information to order and populate the boards on my project page https://github.com/AmokSolderer/APC

    #141 4 years ago
    Quoted from AmokSolderer:

    Help from PinMame developers would be welcome

    When I started working on the code to run pinmame on a Pi and drive a physical DMD while talking to a Teensy running the playfield, I got zero responses from the core developers.

    #142 4 years ago
    Quoted from ThatOneDude:

    I got zero responses from the core developers

    It doesn't have to be one of the original core developers I suppose, just someone who knows how to deal with the USB interface.

    Bontango wanted to do this and I guess he's exactly the right person, because he has already done the PinMame interface for the Gottlieb machines and his Lisy Controller. His first attempt with System9 was very promising already. Unfortunately he's quite busy with other stuff, but I'm going to ask him when he expects to have time for this.

    I have to ask him anyway, because I'm thinking about some kind of Lisy-APC. This would be an APC with a Pi on board running the Lisy SW. With this you could run MPF and PinMame directly without the need of an additional PC or Pi connected via USB.
    But as a joined Lisy and APC project it only makes sense if Bontango has the time to support it.

    1 month later
    #143 4 years ago

    hi guys , just found this thread the other night , very interesting stuff going on here! , will be ordering some pcbs in the coming days

    #144 4 years ago

    Hi ledbetter, welcome to our thread.
    Before you order any boards, be sure to read the documentation. You're going to need some hardware and soldering skills to make it work.
    We had some people here who have announced to have ordered boards or even started populating, but most of them went silent so I assume they couldn't handle it.

    Which machines do you want to try it in? If you want to use with a certain machine only, you can spare at least some connectors.

    #145 4 years ago

    I'm trying to order a board from JLCPCB and they are asking for the dimensions of the board. Does someone have that? I haven't found it listed in the wiki so far.

    #146 4 years ago
    Quoted from ThatOneDude:

    I'm trying to order a board from JLCPCB and they are asking for the dimensions of the board. Does someone have that? I haven't found it listed in the wiki so far.

    i'm having the same issue, hopfully someone can enlighten us.

    Quoted from AmokSolderer:

    Hi ledbetter, welcome to our thread.
    Before you order any boards, be sure to read the documentation. You're going to need some hardware and soldering skills to make it work.
    We had some people here who have announced to have ordered boards or even started populating, but most of them went silent so I assume they couldn't handle it.
    Which machines do you want to try it in? If you want to use with a certain machine only, you can spare at least some connectors.

    i have a williams scorpion im looking at fixing up , have a mate with a phoenix aswell , have soldering skills , just have to work on my SMD skills hahah

    #147 4 years ago
    Quoted from ledbetter:

    i'm having the same issue, hopfully someone can enlighten us.

    In normal cases JLCPCB does calculate the board dimensions from the gerber data.
    But same issue here with the current Gerber data (0.12) but I remember with an older version it worked before.
    I will contact Amoksolderer and ask him if he can check

    #148 4 years ago

    My old APC gerber files also don't work any more, so I think it's a problem at JLCPCB. It seems to happen during the gerber processing, as it tells me that all of my files are OK, but it fails determining the board outline anyway.
    May be their server is overloaded because smaller boards seem to work fine.

    Let's wait until tomorrow, may be they get it solved.

    #149 4 years ago

    In the meantime watch my video of the first game with my Williams Comet (System9) controlled by LISY_Mini and APC, more to come ...

    #150 4 years ago

    just ordered my pcb's , dimensions i used are 200mm x 237mm

    There are 959 posts in this topic. You are on page 3 of 20.

    Reply

    Wanna join the discussion? Please sign in to reply to this topic.

    Hey there! Welcome to Pinside!

    Donate to Pinside

    Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!


    This page was printed from https://pinside.com/pinball/forum/topic/arduino-pinball-controller/page/3?hl=amoksolderer and we tried optimising it for printing. Some page elements may have been deliberately hidden.

    Scan the QR code on the left to jump to the URL this document was printed from.