(Topic ID: 262290)

Trying to revive an old EM (Dealer's Choice) with OPP and MPF

By BENETNATH

4 years ago


Topic Heartbeat

Topic Stats

  • 62 posts
  • 8 Pinsiders participating
  • Latest reply 2 years ago by BENETNATH
  • Topic is favorited by 8 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

Capture (resized).JPG
panel-1013 (resized).png
The-Generic-STM32F103-Pinout-Diagram (resized).jpg

You're currently viewing posts by Pinsider benetnath.
Click here to go back to viewing the entire thread.

#1 4 years ago

Hi all,
I'm creating this topic to gather some help on this project.
I'm more a dot pinhead than EM, but I've got this old EM, staying in the basement, nearly working but not so well, noisy and damaged.
My decision is to remove the whole EM part and switch the pinball to a modernized version, using Open Pinball Project and Mission Pinball Framework.

I'm quite ok with all the wiring, electric and mechanic stuff, but newbie for the programming and OPP stuff.

I'seen that the main processor was changed recently to use ST FM cards, seems doc is not updated yet, so I hope to get some love for this topic and help from gurus ^^

I've listed the following :

* Coils : 4 flippers (double wiring), 2 slingshots, 3 bumpers, 1 ball tray, 1 knocker, 3 chime, 16 coils for the scoring system in the back box
TOTAL : 30 coils (34 including the double wiring, as it seems that each flipper coil shall be considered as 2 coils ( 1 for action, 1 for hold)

* Switches : 1 ball tray, 2 flipper buttons, 1 start, 4 slingshots, 6 lanes, 10 rollover, 9 targets, 3 tilts, 3 bumpers
TOTAL : 39 switches

* Lights : 12 GI, 31 active + 21 active in backbox

For the power, I've got the power supply from the original pinball, and also a 12V available, I'm not sure what would be the best option?

Based on the actual status, It seems that I'd need a Raspberry Pi 4 to run MPF, and various boards to have OPP onboard.

I've made a google sheet to list the items, feel free to comment
https://docs.google.com/spreadsheets/d/1vzkro9hwL-WgPowRw4Yw0BKa4h8rmFcFwTvIbnUgo/edit?usp=sharing

I've also started the config file :
https://docs.google.com/document/d/1z1HFS3mGmv9jtwkIsODIB2L21vW7ANxcwLEfe0AJaz8/edit?usp=sharing
(will setup a git later)

Boards :

A) Solenoid boards supports up to 8 solenoids :
1) 2 left flippers (double wired) + left slingshot
2) 2 right flippers (double wired) + right slingshot + ball tray
3) 3 bumpers (direct switch ?)
4) Player 1 and 2 scorings (4 coils each)
5) Player 3 and 4 scorings (4 coils each)
6) chimebox + knocker

B) Switchs boards supports 16 switches :
1) Lower part of the playfield (lanes, slingshots)
2) Median part of playfield (rollover + targets)
3) Upper part of playfield (lanes + targets)
4) flipper buttons + start button

NB : not sure about the role of the switch input on solenoid boards, especially for slingshot, flipper buttons and bumpers..Shall be direct switch that trigger the coils without going to the processor board ?

C) Incandescent Wing supports 8 lights :
it seems that i need at least 4 for the playfield and 3 for the backbox.

D) Power filter board : not sure if i need it ..

Can anyone confirm :
- how many ST card do i need (as i dunno how to plug board on them
- if my board count is ok
- if my item list seems also ok

That's just the starting point

Thanks

#3 4 years ago

Thanks,
I'll add some, just in case.
I've thought also about the scoring wheel during this night. I wonder if some switches are needed to detect the zero position.

Are there any exemples of EM working with MPF?

Edit : bingo, 1 switch per counter, 16 additional switches to handle

#5 4 years ago

No, thanks!!

#6 4 years ago

I was wrong with the counting, as solenoids wings are only for 4 coils and switches wings are for 8 switches.
I'll need more than expected !

Total updated in the spreadsheet with location of boards and wings.

Can anyone take a dive in it , please ? I'll take the order soon
thanks

#10 4 years ago

Thanks a lot to you both.
Most of my thoughts are currently placed in the Google sheet I've linked in the first topic.

I'll read all your posts and summarize my new questions

#13 4 years ago

openpinballproj cobra18t I've summarized my replies and questions here:

Yes, as made in the google sheet, i've tried to work on the location of each ST32 board, in order to reduce the wiring.
You can see that on the second sheet.

1 ) For solenoids in the backbox, i wonder how the direct input can be used for the zero position. I need these zero switches to reset the score on starting. Are these direct inputs accessible by coding too ? I thought they were only used to trigger directly the coil without programming, like slingshots, bumpers.. If so, I will need to have them on a switch board.

2 ) For the incandescent that are only GI, i do not plan to have them connected to the OPP parts, justs linked to the power.

3 ) Flippers are not staged (that's a part of the gameplay and it's a drainer!), and they are indeed double wound, so I've considered them as 2 individual coils, as mentioned in MPF, one for action, other for hold. Each flipper has his own coil, so 4 coils for 4 flippers, considered as 8 total coils

4 ) For neopixel, i won't wait for that and just use my actual incandescent lights.

5 ) I won't use the credit wheel at all

6 ) About flippers, I totally understand the direct switch idea to reduce timings, but what if i want to add a reverse flippers, or no hold flipper, How is it coded? Again, it's linked to the fact that a direct switch is still accessible at the programming level, or really activating the coil without central interaction. Also, what if i don't want flippers to be active on attract mode ?

7 ) I'm using for my research pinballmakers, MPF and google groups as basis

8 ) for the planks, i get that i can still use the 4 planks on a board, but that i will need to add wires as stated. But physically, are the other pins still attached to the ST32, or shall i consider i'll need to wire each pin ?

9 ) For the planks, I was considering Mezelmods indeed, even if it's overseas, but at the end, I may try to find a French maker to avoid shipment taxes. SYS6
that's interesting to know, you are totally welcome here . Any european seller to recommend ? Which schemas are the good ones ? In the repository, ther are quite a large number of them.. Which Gerber files are the good ones to create individual boards ?

10 ) for the power, What's your advice ? Keep the actual power unit from Williams for the coils and lights (6.3V?) , and add a PC power unit to get the 12V, 5V
Or discard everything and purchase all new, even for coils.

11 ) "if you don't need the processor to be able to disable the high voltage" . What kind of scenario would be for this ? a 'no bumper' mode ?

EDIT : I've made a basket at mouser, detailed in the Basket Order sheet. 183 € for the whole thing, but two ref are missings : P - Channel MOSFET and High voltage 5mm (T-1 3/4) indicator LED. Any alternatives ??

#16 4 years ago

KenLayton i was initially working in this direction.
But bonus unit is damaged and i failed to get one. and when i made some hack to have it working, I found at the end that nobody in the family was enjoying the huge noise nor the basic gameplay. As the playfield is ruined with painting collapsing, I will sand it down and offer a new life, with additional gameplay and rules and a real family project around that, as we have been doing by the past when we built our arcade. I want this pinball to be played, not only repaired and last here to collect the dust. But that's really a decision based on the state of the machine, and the use i want for it.

openpinballproj :
1. great, so i can use direct input for flippers too. And you confirm that the activation of the direct input switch will not activate directly the coil, it has to be validated by the processor, right ?
3. As there are dual-wound coils, i was just using the basic tutorial of MPF here : http://docs.missionpinball.org/en/latest/tutorial/3_get_flipping.html

coils:
c_flipper_left_main:
number: 0 #
c_flipper_left_hold:
number: 1 #
allow_enable: true
c_flipper_right_main:
number: 2
c_flipper_right_hold:
number: 3
allow_enable: yes

flippers:
left_flipper:
main_coil: c_flipper_left_main
hold_coil: c_flipper_left_hold
activation_switch: s_left_flipper
right_flipper:
main_coil: c_flipper_right_main
hold_coil: c_flipper_right_hold
activation_switch: s_right_flipper

I thought that would be ok to plug each positive wound to one of the coil pins available, separately for each wound. So 2 pins per coils, 8 pins used total for 4 coils.

5. Amen, i agree, will update my sheet on that ^^

8. ok, i don't need planks, just wings, i got the difference now ! bad wordings for me ($my_posts =~ s/planks/wings/

9. I've checked https://jlcpcb.com/ and i can directly send gerber files by wings, prices are ok. But I'm missing gerber file for power and incandesc. only found 1013-SolDrvG2\Gerber\Gerber.zip . Does anyone have the 1014-IncandBrdG2\Gerber and 1018-PwrFilter\Gerber (correct one ?)
Shipment are really cheaper than mezelmods, and prices are at 1€ / board.

10. Same ^^ So I'll reuse the transfo for coils (the coils are really acting well with it, juicy and fast) and GI, and put a PC power for 12V and 5V. Seems feasible ?

Any items to suggest as alternative for the missing ones in the mouser references ,as in my EDIT above.

Thanks a lot !

#18 4 years ago

You rock, thanks

For the dual wounds and 1-2 MOSFET, that was my understanding. But I agree that with an EOS, that's feasible. My only concern is to know how I'll connect my coils to the Mofset. I can have my two dual wounds coils connected on the same, for left, and same for right?

And for the gerber, thanks also, it seems the easier way, as mezelmods are more expensive and not available. And between wings and planks, the shift to st32 seems to point me in the 'wing' direction. Especially with the set-up I've designed on my layout, see my spreadsheet. (still miss the credit coil)

#21 4 years ago

openpinballproj
thanks for your replies.
About neopixels, would these ones works for our inserts : https://www.adafruit.com/product/2762 ?
I don't now which flavor I'd go but I'm thinking of RGB for some attract modes and missions too.

For dual wound, i've been reading this : http://docs.missionpinball.org/en/latest/mechs/coils/dual_vs_single_wound.html
and also this: https://howtobuildapinballmachine.wordpress.com/2014/12/20/playfield-hardware-flippers/ especially the schema (Typical End-of-Stroke switch setup and function)

And that paragraph on MPF :
Downsides to using this “old style” EOS switch
No fine tuning. Since the transition from the power to the hold winding is purely mechanical, you can’t change the power of the mechanism unless you physically switch out the coil and/or change the voltage used.
For flippers, you don’t get any “novelty” flipper modes. You can’t do things like “weak flippers” or “no hold flippers” since the flipper behavior is mechanically controlled.

Base on that, I was thinking to just wire each coil to a specific MOSFET and deal as stated before.
I think i understood the EOS mechanism, and I don't understand how the 'no hold' function could be done without having both wounds wired to the wing.

EDIT : thanks for the gerber files ! will give a try to get wings done and do a feedback

#26 4 years ago

diode are already on these coils , as EOS are.
I've place the order for ST32 and wing boards (thanks to the gerber files which seems working without a glitch, openpinballproj ).
Now is waiting time. Meanwhile, I'll continue my readings.
About the 1 or 2 coils.. I will see how I handle that. I took spare cards, so I might just test various options to decide what i like the most.

cobra18t I like your led ribbon + laser cut panels. Would you mind to share the laser cut file, as a friend of mine can do that for me ?

#27 4 years ago

openpinballproj SYS6 spoke too fast, the order for the PCB went back and was refused as : there is no solder mask in the order.
I just uploaded the gerber file 1013.zip, 1014.zip and 1018.zip.
Did i miss anything ?

EDIT : pic of the gerber viewer

Capture (resized).JPGCapture (resized).JPG
#28 4 years ago

I installed Kicad and created a valid Gerber with solder mask, but It uses 4 layers in the jlcpcb interface. How many layers is it supposed to use ?

sorry for the noobiness

#31 4 years ago

These new ones are good.
1013, 1014, and 1018 wings are valid in my Gerber viewer.

#32 4 years ago

I took some time to progress on the coding.
At least the first steps.
I'm finishing to populate the switches, then will move to the coils and lights.
I must say that I REALLY love the tutorial section of MPF.
That's well explained and covers plenty of scenarios. A pleasure to follow.
I don't know how has written that but that's really user-oriented.

2 weeks later
#33 4 years ago

Hello openpinballproj and folks .
due to COVID19, I'll some spare time at home and I'd like to place the order of components.
One is EOL in mouser and I'm not sur about the alternative ?
511-STF10P6F6 : MOSFET P-CH 60V 0.13Ohm 10A STripFET VI

The potential alternative is 511-STU10P6F6 (It's a TO-251-3 instead of a TO-220FP-3 and Vgs th - Gate-Source Threshold Voltage is 4V instead of 2V)
Do you think that would work ??

#35 4 years ago

Yes it is.sorry I missed your post.
I can take this one for the power board?

#36 4 years ago

Hello,

I've received my STM32F103 cards and I'm awaiting the ST-link v2 (chinese clone) to program it.

then when programming, i need to put Boot 0 = 1, and Boot 1 = 0
I've seen the folder Stm32Workbench\Gen3Images . Is it the correct place to go to program the bluepill ?
I shall use the ST-link utility to flash the OppStm32.2.0.0.0.elf firmware, right?
And after that, i need to load the wing config if the process is still the same (the step seems to be optional as I'm planningto config with MPF, what are the advantages in setting everything now ?

Referring to https://pinballmakers.com/wiki/index.php?title=OPP i should use Gen2Test but that might just not be updated. I think it's still ok as there is a stm32SwMatrix.py config in the folder and STM32 updates in BrdIntf.pdf.

My first board is supposed to wear 3 coil wings and 1 switch wing,
So i should do this config :
wingCfg = [ [ rs232Intf.WING_SOL, rs232Intf.WING_SOL, rs232Intf.WING_SOL, rs232Intf.WING_INP ] ]

the coil config is not clear for me yet, as if i'm correct, i need to define for each coil if it is using a direct switch or not, but What if i want to allow not using the direct switch capability (eg : for potential change in the flipper action)?
What is the default parameter for coils, ON_OFF_SOL ?

Sorry but i've got no knowledge in that field

4 weeks later
#37 3 years ago

for followers, plenty of questions and answers on my topic here : https://groups.google.com/forum/#!topic/mpf-users/MCgyK--Hfpk

openpinballproj rocks

#38 3 years ago

A lot of things have been progressing.
first wings were soldered and put on the STM32 that I'll use for the flipper driver.
I'll post more info once i've got time.

Result is here, in whitewood mode (without MPF, only OPP hardware working)

https://photos.app.goo.gl/J2uhnv7h7TcmMUj36

SO GREAT !!

3 months later
#40 3 years ago

Mmh.. Yes, I have purchased a deadpool and a turtles...
I lack spare time so it's a bit on hold

#42 3 years ago

Yes, I'm still checking mpf from time to time.

7 months later
#43 3 years ago

Hello ! Finally back on track.
Still plenty of other projects ongoing but sons and I have found new motivation.
I took some time to add thicker wires for my 24V + and -, and also to reduce the resistance value for the NTC .
And BANG, this pinball is now really alive, snappy and powerful.
This major improvement gave us a good shot of motivation and we have added 2 STM32 for the score reels that are now fully functional and tracking the score as they should.

One main issue had to be solved, counter 10k switches had to be set as "type : NC" as they are open on all positions except on zero ; which is the opposite behavior as all other switches.
Jan and atum helped me on that (thanks again ! the MPF google group is a great place !)

Now, we have :
- all coils
- all switches

perfectly working !

Time to add some lights.
The only current one is the LEd ribbon on neopixel wing, but it's behaving strangely, as it's reacting to the flipper activation that are on the same STM32.
I suspect a ground issue but it was not reacting like that when no inputs were added on Wing0..

I will also update my 3 initial STM32 as they are still on 2.0.x. I think i can upgrade them directly with a Gen2test.py command, not sure how, will have to find.

#44 3 years ago

Addition of a RULESET !! All coders help will be needed here !!

https://github.com/BENETNATH/mpf_dealers_choice/blob/master/Ruleset.md

I cherrypicked ideas here and there (Thanks to openpinballproj and cobra18t discussions) !
all comments are welcomed, and if you rock at MPF, I'd be glad to have you onboard as I am a complete noob on that..
I'll focus on the classical ruleset for now then expand

#46 3 years ago

Hi @treybo69
I've removed everything from the old machine, wires and power unit.
I kept coils, switches and mechanics.
I'm using a 24V DC, no AC mix in there.
The power board from OPP provides a nice filter and buffer.
Initially, I had put too thin wires and the flipper coils were working but too weak to be playable.
I added now thicker wires, don't know the gauge ; and now the ball is flying as it should.
I did not notice major heat on the coils

#48 3 years ago

Coils that are present :

Flippers are FL20-28, indeed AC coils fed with DC. Not sure about the potential issue.

Slingshot and Bumpers G23-750DC
Drain A22-550

I made a quick video today

#49 3 years ago

Code added for ball save is working
All scores on in-game play are working.
Need to works on skill shot, tilt addition and to debug the leds

#51 2 years ago

Hi,

yes, the Leds are driven by a STM32, with a 3.3 to 5V converter.
They are working in whitewood with the correct colors as expected, and also working well in MPF.
But activating the flipper impacts the led colors and seem to 'disconnect' them from the STM32, as if the data line was reacting.
The wire is less than 15 cm between the converter and the first led.
I'll give a try about the suggestions mentioned.
STM32's are on 2.0.x firmware, where there modifications in the recent firmwares about that ?
Could you confirm the gen2test python command to upgrade directly the opp firmware without having to put the serial interface ?

thanks again

#54 2 years ago

Indeed, I'm leaning to a GND interference.
I have diodes on the coils, but the ground are common with STM and 24V. I'm not sure about the meaning of inverse diodes ?
I'll isolate a specific ground for the leds.
the wire for the neopixels is surrounded by plenty of wires, but switches mostly, but the flipper coils are in the vicinity (around 20cm, so I may end by dedicating a STM solely for lights to avoid interference

do you confirm that I can upgrade the firmware through gen2test.py ? or maybe it's an old pre-STM32 leftover ?

then do I need to put back the serial interface for flashing the new firmware??

#56 2 years ago

Ok, so I've updated the STM32 with the serial. Was feasible but did no change anything in the actual behavior
Then I've modified the wires to have a separate GND but that was not better.
Finally, I've used a new STM32, totally separated , changed my config and bam worked without a glitch, even if it's in the same area.
I'm wondering if my 1st STM32 was just overloaded (2 coils wings (4 flippers + slingshots + drain) + switches on all remaining slots.
Anyway, it's now working as it should and stable.
Time to put some lights everywhere
One surprising thing : the led show is perfectly running in mpf monitor, however it has a different behavior in real.
as you can see in https://github.com/BENETNATH/mpf_dealers_choice I've got a attract mode lightshow that works perfectly well.

I'll do a video to explain it better.

#57 2 years ago

Here is the video:

#59 2 years ago

it seems it's not a white issue.
I've replaced FFFFFF by white and it's now working well.
The new issue is now when Adv_Bonus token reach >30 , all led lights go out even if the lightshow should continue..
I need to troubleshoot my code.

2 weeks later
#60 2 years ago

More progress, with help from MPF, OPP and cobra18 (thank you again!)
Yesterday, I managed to code the rules for bonus multiplier, and lights.
That was a real journey for a non-coder like me.
But now, we have a working bonus counter with leds, plus a working 1-9 rollover completion for double then triple bonus.
And we have a lightshow on attract mode, thanks to the GREAT showcreator for MPF.

Still a lot to do, and a lot of questions to ask, but that's going in the good direction!!

#61 2 years ago

Now that I have a correct logic, I can make more progress and fine-tuning on the classical rules.
I made a post to clarify all rules as I made some mistakes :
https://pinside.com/pinball/forum/topic/willimas-dealer-s-choice-some-rules-questions#post-6242143

1 week later
#62 2 years ago

All classical rules have now been coded and tested. That's really great.

I've spent a lot of time to code a way to switch between classic and modern rules, today's commit on the github shows how I'm dealing with that and it seems to be working now. https://github.com/BENETNATH/mpf_dealers_choice
I'll now code for modern rules !

Promoted items from the Pinside Marketplace
From: $ 5.95
Playfield - Protection
The Pinball Scientist
Protection
From: $ 1.00
Playfield - Other
Rocket City Pinball
Other
From: $ 12.99
Cabinet - Other
The Pinball Scientist
Other
$ 55.95
Boards
Allteksystems
Boards
$ 19.99
Cabinet - Other
Maine Home Recreation
Other

You're currently viewing posts by Pinsider benetnath.
Click here to go back to viewing the entire thread.

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/trying-to-revive-an-old-em-dealer-s-choice-with-opp-and-mpf?tu=benetnath 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.