(Topic ID: 204675)

Open Pinball Project Boards

By jwilson

6 years ago


Topic Heartbeat

Topic Stats

  • 26 posts
  • 9 Pinsiders participating
  • Latest reply 5 years ago by jwilson
  • Topic is favorited by 5 Pinsiders

You

Linked Games

No games have been linked to this topic.

    Topic Gallery

    View topic image gallery

    IMG_6284 (resized).jpg
    DSC00542---Copy_thumb1 (resized).jpg
    IMG_4615 (resized).jpg

    #1 6 years ago

    Per a discussion in another thread, I'm starting up a new one to talk about some new designs for OPP boards.

    I'm a big fan of the OPP boards, but one double edged sword - the small size of the boards means they don't take up as much room and can fit in small spaces under the playfield, but the small size also makes it difficult to work on the boards once set up. Also, the odd shape makes mounting a little more difficult.

    openpinballproj posted in that other thread:

    Quoted from openpinballproj:

    I could never figure out what a good standard configuration should be. On Van Halen the boards are 4 incand, 2 incand + 2 inp, 2 sol + 2 inp, and 1 sol + 3 inp. SS3 is 2 hi incand + 1 sol + 1 inp, (2 copies of this config) 1 hi incand + 1 sol + 2 inp, and 2 hi incand + 2 inp. It's a pretty wide swath of different types of boards.

    I'm not suggesting replacing the existing boards, just adding another option for some "standard" layouts.

    Another option would be maybe making a "breakout" board that allows you to modularize it a bit more. Soldering the wings directly to the controller makes for difficult diagnostics.

    Quoted from openpinballproj:

    The inputs are really nice because they just fit on the processor board and it makes a really small footprint for the card under the playfield.

    If you're just doing inputs it's fine to use the existing one I suppose. Another argument is that the connectors are packed so close together, and don't have any provision for keying connectors, so hooking them up wrong or even offset to one way or another is common - ask me how I know!

    Quoted from openpinballproj:

    that would mean the raw board price would be $3ish and then with markups, you would have to sell it for at least $10 or $12 each.

    I'm personally not super concerned about a board costing $12 if it has everything in one, spaced out so I can replace a single MOSFET - for example, on the incandescent boards, I can't get my desoldering tool in near the ones close to the controller board because it gets in the way.

    Other plusses would be having everything "prewired" so I don't have to run power and ground from the interface board to the controller, it could just be traces on the all-in-one.

    Besides, I sent the gerbers for the boards off to SEEEED myself and got them made, if someone doesn't want to pay a middle man that's the best option.

    #2 6 years ago

    Creating standard layouts would not be very difficult at all if we could figure out what standard layouts make sense. That is what I couldn't figure out when I made the original boards. While Cypress did a great job while laying out the board, the left side and the right side are not 180 degree rotated images. That would make the board even better.

    The OPP boards were made for maximum flexibility because I couldn't figure out what populations made the most sense. I also 100% agree that wiring the ground and 5V over to the interface board stinks big time. (I spend more time on that wire than actually populating the whole interface board) Extending a right side board (on the interface side of the PSoC 4200) 200 mil taller would give access to Gnd and 5V. Extending a left side board 100 mil would give access to Gnd.

    The wing boards need the following signals:
    interface wing: provides 5V and Gnd processor board
    solenoid wing: needs Gnd for pulldowns
    incand/low incand wing: none
    hi incand: 12V and Gnd
    input wing: none

    Just so you know, there is actually a keying option for the ribbon cables. I never bothered writing it up, but there is an unused pin on each of the connectors. If that unused pin is cut, and the connector is glued/stuffed so another pin can't go in there, it poka-yokes it. That would also make sure that the ribbon cable isn't offset.

    Knowing now what I didn't know then, I might move the interface connectors from a ribbon cable to a rj-45 style connector. I don't mind the cables that much, but they are difficult to plug in and disconnect. An rj-45 enet style would be better.

    #3 6 years ago

    In my game, I used only three basic layouts - 2 solenoid / 2 switches, 2 solenoid / 2 lamps and 4 lamps. I think doing up layouts like that would cover most situations, maybe one or two others. If you do up the four wing layouts, spread out the components a little more, should be fairly easy to create multiple "node" boards in KiCad by cutting and pasting. I mean, it's work which part of the reason I haven't done it myself.

    RJ-45 would be a good choice but the connectors are pretty big, so it would probably only work on the "node" board. The 8-pins make sense for the compact interface board.

    #4 6 years ago

    How about splitting it in half instead of doing a full board? So you have "planks" that cover two wing positions, or two wing positions + interface board. So for the interface planks they would be either two solenoids + interface, or two lamps + interface. For the non-interface it would be the same, two solenoids or two lamps without the interface board portion. If it fits on a 5x10 cm board, there would be a whole bunch more space to give some extra space so it would be much simpler to work on. (There would be almost double the board area that is currently available).

    #5 6 years ago

    Part of the idea is also stability of the board and not having to solder the controller to the wings - it could just sit in a socket. I blew up so many controller boards figuring the system out, soldering and desoldering was such a huge pain in the ass.

    All blownAll blown

    The stability part comes in having a single board with mounting holes, all on the same level. No flex - the current design wobbles all over the place - no soldering jumpers to join them, just a single board to mount.

    #6 6 years ago

    I'm using the solenoid boards with a arduino, and they are fairly MC agnostic. However, I think that an 8x solenoid board might be useful for busier playfields.
    A few questions for Hugh
    1) if someone were to design a variant of an OPP board, would you want it rolled back into the project or hosted independently?
    2) similarly, if someone were to write a system which was code compatible with the OPP platform but based on a different architecture, would you want to roll it into the project or keep it separate for simplicity? I'm not sure that my code will be clean enough for use outside of my limited audience, but I'm conceptually against hoarding code that was based on OSS.
    3) finally, I'm an admin of a github instance at work, so it's what I'm used to. Any thoughts on putting it on github? Understand that this is a question, not a request( I know people who have deep opinions about their source code tools, so I'm not trying to step on toes).
    Finally, perhaps some stupid questions, but I'm still figuring out kicad with no experience in PCBs, so I just wanted to do a sanity check. Pins 0 - 3 should go low when a direct switch is fired, correct? Do I drive the other four pins low to fire solenoids? How do you deal with switches like pop bumpers that are usually fired for a set time but also use auto fire? If you drive a pin low on the auto fire, what happens if you also drive the corresponding header pin?

    #7 6 years ago

    So I threw the "plank" term out there in hopes that it would gather traction or somebody else would come up with a better name. (Wing came from the fact that the board looks like a dragonfly with the boards on it to me...but maybe that is just me.) The planks would be a lot more stable because instead of being 3 boards with only outer edge points adding to their stiffness, it would be a single board. (I don't know how the Mezel's ship boards, but if I'm putting two solenoids on a side, I actually don't break the boards apart which gives them more stability). You would still have to solder the board to processor board, but each side would be much more stable. The idea would not make things completely stable because it still doesn't cross the processor which would give up-down stability also.

    jwilson it would be great if you could tell me what went wrong with each of those boards. Wiring issues? Plugging connectors in wrong? If there is anything that can be done to poka-yoke stuff to make sure it doesn't happen to others. Your updates to instructions have hopefully helped others to not make as many wiring mistakes since your pictures make things much clearer.

    Onto ThatOneDude stuff.
    1. I don't mind rolling it into the project. At one point somebody tried to send me an all in one layout in Eagle. I couldn't throw that in the repository because my reading of the Eagle license says that selling boards at cost would be illegal. That is why Eagle is a no go for any open source project in my opinion. (Kicad has no such restrictions).
    2. No problem with rolling code back into the project. It should be released under GPLv3 because the original base code was GPLv3 and that is what is required of the license.
    3. It would be a pain to move the repository again, and I would want to guarantee that the history is not lost. I'm not sure if github could do that. Currently most of my work is in github, but I'm one of those people that likes the subversion work flow much better. I could go into a 20 page rant about it, but I'll simply say I like subversion better.
    4. Yes, direct inputs to the processors are pulled up by the processor (reduces part count). An active signal is when the input is grounded or low. On the falling edge, it fires the solenoid which means making the driving pin from the processor high (since they are N channel MOSFETs). It only holds that pin high for the programmed amount of initial kick, then drives it low regardless of the input pin state. At that time, the input must transition from high to low again before it will refire the MOSFET. That eliminates the possibility that an input stuck low will cause shotgunning of a solenoid and burn out the solenoid.

    #8 6 years ago

    Just some thoughts..

    Quoted from openpinballproj:

    1. I don't mind rolling it into the project. At one point somebody tried to send me an all in one layout in Eagle. I couldn't throw that in the repository because my reading of the Eagle license says that selling boards at cost would be illegal. That is why Eagle is a no go for any open source project in my opinion. (Kicad has no such restrictions).

    I believe DipTrace is this way as well. (I prefer DipTrace, only because I leanred on that, never had an installation of KiCad. And, personal preference, I never cared for KiCad's schematic output. )

    Quoted from openpinballproj:

    3. It would be a pain to move the repository again, and I would want to guarantee that the history is not lost. I'm not sure if github could do that. Currently most of my work is in github, but I'm one of those people that likes the subversion work flow much better. I could go into a 20 page rant about it, but I'll simply say I like subversion better.

    IMHO, Subversion is good for when you do not have a lot of people working on the same code at the same time. Nor, have a lot of different 'branches'. Because subversion doesn't have individual merging of other branches/checkins, once you branch off (i.e. v30_HWAddition), and make changes, and the original branch is changed, merging the two back together is a headache.
    There are ways to get the whole history and branches and such from SVN to GIT; my office is actually in the process of doing this right now.

    #9 6 years ago

    Various things contributed to those boards blowing - floating grounds, too much current, shorting coil voltage to switches, etc. all related to my various power supply misadventures. The only thing that plugging connectors in wrong did to me was offsetting lamps and switches in confusing ways.

    Mezel ships them all separated. I also received my SEEEED order with them all separated.

    I think it's possible to do a layout that is both space efficient and allows some more space between parts to make diagnostics and repairs easier. If the controller is socketed, it would be okay to put parts under the controller and just have connectors on the edge, for example.

    #10 6 years ago

    I've worked on subversion projects up to about 30 people. It works best if you are able to separate the code properly into logical units and people are only working on one logical unit at a time and they don't step on each other. Of course we all remember hand merging code back in the day without any tools and regardless, merging on either svn or git seems pretty simple. (I've run into issues on both repositories that I scratch my head and wonder why it can't merge the code automatically because it is such a simple merge, but the auto merge runs into issues) People sometimes mess up their local git repository and it takes a while to figure it out, while I rarely see that happen on svn. Each their own. Git does make doing pull requests much simpler if you are working on a model where you don't trust contributors. It keeps those untrusted people off by themselves which means that the main repository doesn't get cluttered which is nice. That is definitely a shining point in git hat!

    @coyote, you list your location as Harper's Ferry. I had a high school teacher (Mr. McKinley) who lived in the historic section of the town. He taught high school honors English. As a hobby he taught diction to Miss America contestants. Exceedingly interesting teacher and I only wish I was a good enough English student to do him proud. (Unfortunately, I turned into an Engineer, and well, that says it all). If you happen to know him, it would be nice if you would tell him how I appreciated him as a teacher.

    Back to OPP boards. How much space is needed to comfortably work on a board. I don't have a good idea of home much space needs to be between parts to make them easy to work on. My rework skills are so atrocious, that it is almost easiest for me to rebuild another board, than to desolder/resolder a single component unless it is a MOSFET.

    #11 6 years ago

    I'd say 1.5 the current spacing now would be plenty (half the current spacing added in) . It's more important on smaller parts like the BS170s, it's nearly impossible to get the tip of my desoldering gun in there.

    #12 6 years ago

    That seems like that would be achievable. @jwilson, do you think it would be good enough to do a plank and not have a whole board. That would reduce the number of options down to four. Intf + 2 sol, Intf + 2 lamp, 2 sol, or 2 lamp. Is a plank good enough or do you really need nodes? I think if I was clever, I could make the intf version version non-interface versions the same card. That would mean only two different types, i.e. 2 sol or 2 lamp, and depending how it is soldered onto the processor board it has the interface functionality or it doesn't have the interface functionality.

    With planks, there would need to be more versions. 2 sol + 2 lamp + intf, 4 lamp + intf, 2 sol + intf with input connectors. Is there really enough demand for that? I saw that you didn't mention a 4 sol + intf version so I'm assuming that isn't interesting.

    I don't even know how to judge the interest in this stuff. Doing a kickstarter probably isn't in the cards because it is a royal pain in the butt. I'd feel that I'd have to do a video and write up stuff, and that is a lot of time for really no money. (The first kickstarter was interesting to me because I had never done one before. Now the novelty has worn off). Nice part about a kickstarter is that tells you if there is interest...but you still have to do the video even if there is no interest.

    I guess that is the main issue. I can't tell if there are enough people that are interested in it to spend the couple days it would take me to lay out the cards and order them, etc.

    #13 6 years ago

    Yeah, I can't tell you the level of interest other than for myself, maybe a few others. The reason I didn't bring it up to you directly because it was a "would be nice" list and not really "needed".

    Planks might work, but not sure how you'd have the interface in there since the power is on one side and the interface on the other. I'd hope to not have to mess with wires on the controller, just plug and play.

    #14 6 years ago
    Quoted from jwilson:

    The stability part comes in having a single board with mounting holes, all on the same level. No flex - the current design wobbles all over the place - no soldering jumpers to join them, just a single board to mount.

    I like the idea of a larget board the OPP controller could basically be dropped into.

    That’s the approach I’m going with on my Arduino project. The nice thing is when I want to work with the Arduino I can simply pop it off and then when I’m ready to use/test it pop it back on.

    I also really like the idea of using RJ-45 connectors. Cable is plentiful and patches are a breeze to make and its neat and tidy.

    #15 6 years ago
    Quoted from jwilson:

    Planks might work, but not sure how you'd have the interface in there since the power is on one side and the interface on the other. I'd hope to not have to mess with wires on the controller, just plug and play.

    If it was a plank, I would simply extend the top of the interface two extra connections to get access to Gnd and VDD. That would get rid of the wires on the interface side. On the non-interface side, the plank is simply rotated 180 degrees and the interface is portion of the card is simply not populated. When that happens what was P4.3 as the interface becomes a ground, so a 3-pin jumper (either jumper wire or normal 100 mil jumper on 3 100 mil spaced post) could switch between those functions. No external wires needed at all.

    P4.3 is currently a bussed signal that goes to all boards, but it is not used for anything in the firmware itself.

    Yeah, I'm doubting that those boards will happen at this point. I don't think that enough people are interested to really waste the time to do it. Maybe when I start the next project I'll need it, and I'll end up building the boards anyway, but there are no such plans at this moment.

    #16 6 years ago

    Guess it's time to fire up KiCad and figure it out myself!

    #17 6 years ago
    Quoted from merccat:

    That’s the approach I’m going with on my Arduino project. The nice thing is when I want to work with the Arduino I can simply pop it off and then when I’m ready to use/test it pop it back on.
    I also really like the idea of using RJ-45 connectors. Cable is plentiful and patches are a breeze to make and its neat and tidy.

    I'm doing something similar. The solenoid boards are going on a perf board, with an Arduino Mega variant sitting in the middle.
    I was also looking at running Rj45 cables between the backbox and playfield for switch signals. There are some breakout boards on ebay that look like a good route.

    RE: Kicad - it just occurred to me to look for some tutorials to force me to pick up kicad faster. I found this one: https://www.udemy.com/learn-kicad-printed-circuit-board-design/
    I'll take a look at it tonight.

    #18 6 years ago

    Kicad is nice and works really well. You just have to remember keyboard actions. Only the library is a bit complex to use. Don't forget to enable the push and shuffle router option in the pcb designer. Soo handy to make more space for extra tracks. Seems to default off.

    On my pinball controller board I also use a RJ45 connection. DSC00542---Copy_thumb1 (resized).jpgDSC00542---Copy_thumb1 (resized).jpg In the picture above I had not mounted the RJ45/transformer component, but you can see its footprint. But instead of running some RS485 serial protocol, I use full blown Ethernet. That has a nice bandwidth (100Mbit!) and is even galvanic isolated what helps to reduce the effect of ground bounce when coils are firing.
    This board has: 6 power outputs, 14 switch inputs, 2 servo and 2 serial LED outputs (capable of driving >200 leds). And lots more: debug serial, iic spi, usb, sdcard, adc etc.

    #19 6 years ago
    Quoted from DDDwingmaster:

    Kicad is nice and works really well. You just have to remember keyboard actions. Only the library is a bit complex to use. Don't forget to enable the push and shuffle router option in the pcb designer. Soo handy to make more space for extra tracks. Seems to default off.
    On my pinball controller board I also use a RJ45 connection. In the picture above I had not mounted the RJ45/transformer component, but you can see its footprint. But instead of running some RS485 serial protocol, I use full blown Ethernet. That has a nice bandwidth (100Mbit!) and is even galvanic isolated what helps to reduce the effect of ground bounce when coils are firing.
    This board has: 6 power outputs, 14 switch inputs, 2 servo and 2 serial LED outputs (capable of driving >200 leds). And lots more: debug serial, iic spi, usb, sdcard, adc etc.

    Nice board! I’m curious as I was recently looking at them... what ethernet chip/controller did you opt for?

    #20 6 years ago

    Kicad is great for doing hobbyist type stuff. (No pesky restrictions on what the output can be used for!) Knowing the hot keys is definitely a must. (Otherwise you are always trying to move between menus when routing signals from layer to layer).

    DDDwingmaster You may have fallen into the same trap that I fell into on my first generation boards. Each solenoid/switch input is a separate connector. From a debugging and testing standpoint, that is great. When wiring a machine, that is a nightmare. As much as possible, a single connector is much better because it means that there are less chances of plugging the wrong connector into the wrong spot and mixing them up. After wiring my first pinball machine, I corrected that issue as much as possible. (Single connector for each wing unless high/low current wires and then continue to split them).

    #21 6 years ago

    Altium has circuit maker now.. free for public designs. It's pretty good if you know altium. Easy to collaborate as well (cloud)

    #22 6 years ago
    Quoted from merccat:

    Nice board! I’m curious as I was recently looking at them... what ethernet chip/controller did you opt for?

    Thanks. I used the LAN8720A phy. It was the only small phy that has a PLL in it to create the 50Mhz clock from the 25MHz the cpu runs at. Only pitty that it just came in a QFN package. So small! And you can't see the pins any more. But surprising, I had no issues with soldering this chip. The CPU QFP gave much more grief.

    Quoted from openpinballproj:

    You may have fallen into the same trap that I fell into on my first generation boards. Each solenoid/switch input is a separate connector.

    For an one off pinballmachines are the individual connectors very handy. If I need to remove a mech or switch from the playfield, I can just unplug it. Because I 3d printed most mechs, it is likely that this will happen regularly. There is no need to unsolder or extra connectors. Also if needed you can prewire all the switches and coils on the work bench. So there is less need to solder on the back of the playfield. Also you can buy ready made cables saving the hassle crimping the cables yourselves. I have written the connector number on the plugs, so hopefully it will be easy to plug it all back in on the correct place. But of course there is a higher risk of misplacing a connector.
    Largest drawback of the individual connectors is that they take more space on the PCB compared a combined connector. But then I run out of PCB space to place more components anyhow: the pcb is 100x100mm - with this size the Chinese almost give them out for free :->

    6 months later
    #24 5 years ago

    Planks did in fact get released. The gerbers are in the repo.

    Lamp and CoilLamp and Coil

    #25 5 years ago
    Quoted from jwilson:

    Planks did in fact get released. The gerbers are in the repo.

    mezel mods lists them for sale also.

    #26 5 years ago

    I've got a few since the minimum order is 10, if anyone wants them I can throw them in a bubble mailer.

    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/open-pinball-project-boards 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.