(Topic ID: 301359)

CE3K with a cobrapin pinball controller

By legtod2

2 years ago


Topic Heartbeat

Topic Stats

  • 39 posts
  • 6 Pinsiders participating
  • Latest reply 1 year ago by legtod2
  • Topic is favorited by 7 Pinsiders

You

Linked Games

No games have been linked to this topic.

    #1 2 years ago

    Close Encounters of a Third Kind with a Cobrapin pinball controller; oh my, here we go again.....

    This table was done once before and working and running with a Raspberry Pi and arduino combination solution.
    That solution provided me with a wealth of knowledge and experience in coding and understanding the principals of a working pinball machine.

    It taught me how to code a switch matrix, build a lamp driver and conduct a symphony of different hardware peices to talk together and sync.

    So why would I rip apart a working machine. Well for one thing, when I compare it against my just completed Phoenix conversion the difference shine thru quickly.

    My Phoenix machine acts and behaves like a 2021 Factory Pinball machine with modern sound, virtual dmd & display, Service Menu, and other modern components. It can be easily updated and modernized with addon's and eye candy over time. Its easily able to have updates to sounds, music, videos, effects or re-theming or customizing of game rules or behaviors.

    In a word the future looks brighter for this machine.

    In this thread I will document this journey and share with you the good, the bad and the ugly.
    Expect more pictures and youtube clips to document its progress.

    #2 2 years ago

    The Plan...

    1) The coding and configuration for MPF
    I intend to clone my existing Williams Phoenix cobrapin logic into my new game folder and modify it to fit the game rules and configuration that I want.
    The CE3K machine has a switch matrix so all I have to do is align my switches to the Gottlieb switch matrix layout and make adjustments to my coil.yaml,switch.yaml, and config.yaml. After making edits to base.yaml and creation of some new modules the Mission pinball frame work tweak should come together very quickly. In no time I should have a github repository for the new setup. A simple download of the playfield image and aligning the switches and lights and my mpf monitor will be working.

    2) The Hardware components
    Remove all of the former PI and Arduinio add-ons.
    Remove CPU controller lamps and replace with new LED
    Add Cobrapin pinball controller, PC monitor or TV for backglass, PC speakers, dedicated 5VDC power supply for the LED's.
    Re-use existing power transformer and bridge rectifiers to power coils and GI lamps.
    Repair or replace the rotor-target (This is the solenoid activated rotating switch target at the top right side of table).

    3) Replace AC power wire, toggle switches with new access inside of cabinet and to external wall outlet.

    #3 2 years ago

    Here we go...

    #4 2 years ago

    I need a backbox for one of those ... I planned on doing something similar .

    #5 2 years ago

    Megadeth2600,

    I would just build a box based on standard dimensions available on line.

    #6 2 years ago

    Today I am working on my mpf configurations...
    The job of translating the existing Gottleib switch matrix into a switches.yaml and config.yaml working files.

    the CE3K switch matrix likes to re-use a switch position for more that one purpose. If you replay my 1st youtube video in this thread and look closer to the play field in the bottom left corner you see a cluster of switch matrix wires with diodes. There you will see what I'm talking about the re-use of the same switch to do many things.

    For example Switch matrix for Pop Bumber [switch matrix index 11] actually serves the purpose for counting points for both pop bumbers. Perhaps this just saves on wiring two pops for the same thing.

    For example Switch matrix for 10 pts. There are 8 playfield switches for 10 points leading to a single wire to the matrix.

    Now for the complicated one ... The Switched Rotor target. A solenoid spins the target leaving 3 exposed targets of different values. There are 12 possible value on the rotor which each are a switch matrix position. AND ON TOP OF THAT they can ALSO BE A SWITCH LANE (Left outlane,right outlane).

    My rotor target is in need of repair or replacement. The leaf switches and copper rivets have come loose. Not sure if I will repair or replace it or remove it.
    To early to tell what I will do here with this decision yet.

    #7 2 years ago

    One thought I had on the spinning rotor target was to virtualize it as a mode and emulate the spinner.

    For those who have or played CE3K the rotor solenoid fires frequently and target wear of the spinner and switch can be problematic.

    Maybe I will just virtual display on the backglass the spinning target values and keep the target stationary. When a trigger for spinner occures I was adjust the value of the target dynamically.

    hmmmmmmm

    #8 2 years ago
    Quoted from legtod2:

    One thought I had on the spinning rotor target was to virtualize it as a mode and emulate the spinner.
    For those who have or played CE3K the rotor solenoid fires frequently and target wear of the spinner and switch can be problematic.
    Maybe I will just virtual display on the backglass the spinning target values and keep the target stationary. When a trigger for spinner occures I was adjust the value of the target dynamically.
    hmmmmmmm

    that sounds like cheating! I have most of a CE3K roto assembly minus parts like the targets and switches if you need parts. it's just living in a box.

    In my first homebrew (not completed yet) I built a roto-target like assembly using a multiple rotation servo (used in sailboat models) to run the target. it can go 3 full rotations then reverse direction as needed. I'm only using it for one target up at a time instead of 3, so only need one switch, and I know the value of which target is up because the servo positions are all mapped accordingly.

    #9 2 years ago

    BorgDog, I will be removing the target switch rotating disk assembly and share a picture of it. Mine is fairly complete. Some of the targets are bent, so when the disk rotates it drags causing it to not to want to rotate properly.

    #10 2 years ago

    I have a working mpf version of my code that plays virtually. A couple of challenges in translating the mpf monitor to properly reflect the game.

    The mpf monitor is only allowing me to place a switch name once on the virtual play field; however, the same switches are reused a number of times.

    Examples:
    Pop bumper counter (one switch re-used twice for top and bottom bumper)
    Middle inlane switch is re-used 3 times on playfield in same switch matrix switch number.
    Left and right outlane are re-used 4 times on the rotating switch target

    The top 3 lanes (A,B,C) and left target and 3 middle lane trigger the solenoid to spin the roto target.
    Not sure if I like this and it may become anoying. My modified rules may change this.

    The virtual spinning of the spinner target never rotates the target so the means the 3 visible targets never change in value.
    The true game will vary in value.

    Oh well things are moving along and I am nearly completed on the coding side.

    So now it's on to part two of my plan.

    #11 2 years ago

    Focused my energy on the playfield stripping out the playfield cpu controlled lamps and removing the excess wires associated with them.

    The wiring harness was bound with a waxed string and was tied a half inch intervals. The process of removing the string required patience and sharpe utility knife. Glad that job is done.

    On the bottom corner of the playfield are two solenoids one is a tilt solenoid the second is a game solenoid. In my humble opinion this looks like a throw back to an eletro mechanical switching to control game play and a source of many mechanical troubles. There are a mass of many wires to them and I am thinking of ripping them out and control them with my arduino relays. I will circle back and make a decision later.

    With the playfield off of the cabinet, I did my normal electrical change. The electrical cord that plugs into the wall goes to a new electrical box that has a power outlet and switch to master power on/off.

    CE3K cabinet has two power transformers, one for the coils, General Illumination and a 2nd small transformer. The 2nd transformer was toast with a pool off black melted material arround it. I removed the dead transformer and associated wires to it.

    For this project I am going with the existing power transformer for my coils and GI and use a PC power supply to power my 5vdc WS2811 LED's. If these show signs of problems I'll simply rip them out and install net new power supplies.

    For shits&giggles I have two CPU's one is a raspberry pi and the 2nd is a Intel Pentium3. Since I can swap them interchangibly I want to understand first hand what the difference in game play will be (pi powered or intel powered). More on that as this thread progresses.

    #12 2 years ago

    Youtube progress...

    #13 2 years ago

    One other item that has me scratching my head. The former on/off switch has 6 wires connected to it. ???!!!

    2 black wires, 2 brown wires, 1 blue, 1 green. I like to keep things simple and that's not in my mind simple.

    #14 2 years ago

    I picked up a pc to use and did a fresh install of Ubuntu 21.04 and mpf-debian-0.55.

    The PC is just a dual core PC with 4 GB memory. We will see how it goes.

    For today I intend to connect my 2nd cobrapin board and run it thru testing exercises.

    My mpf config for CE3K is all written and so now we see if the hardware and software are indeed ready

    1 week later
    #15 2 years ago

    I have decided to use my RGB DMD with teensy connection as my display instead of using a tv screen.

    From a deskside maintenance perspective I can always ssh and have a remote desktop config so that updates and upgrade are easier to conduct.
    Worst case senario a Monitor can be connected on an adhoc basis.

    At the end of the day this should be a headless server (NO Monitor, NO keyboard, NO Mouse) running Ubuntu linux.

    It will be interesting to use MPF instead of my own software to drive the DMD.

    #16 2 years ago

    I did a fair amount of work using the teensy 3.5 and arduino to drive a RGB display in my former Arduino/Pi pinball setup. Driving the display was a simple protocol message structure.
    You would send a prefix character and message. For example '5' + 6digit score for player 1 or '6' + 6digit score for player2 or 'G' + 1 for play Gif file InsertCoin.gif. That simple protocol allowed me to have standardized Frames for score board display and movies or gifs handled on the teensy side rather than saturating the USB bus serial coms.

    The teensy 3.5 has an onboard sd card holding gif files movies etc. It processed the received serial message and rendered the rgb dmd display efficiently without issues.

    Now that I am moving to MPF and re-using the teensy 3.5 and rgb it will be interesting to try out it's interface to the hardware.
    My master PC will need to drive 3 USB ports (2 for Cobrapin board) and one for the teensy to drive the rgb display.

    Very curious to see how well the MPF dmd score displays with color and gifs playing over serial port work out.

    Details of MPF documentation found here https://docs.missionpinball.org/en/latest/hardware/smartmatrix/index.html.

    The example code on this page did not include local sd card to store gifs, this leads me to beleive gifs are frame transmited over the usb serial port.
    Time will tell when I set up and test the configuration. This should be fun,

    #17 2 years ago

    Sound like a really cool project! I love teensies. They can do everything.

    3 weeks later
    #18 2 years ago

    Spent the weekend working on setting up my Ubuntu 21.04 to communicate with the teensy 3.5 and SmartMatrix shield.
    Here is part one to get the teensy and RGB LED to work. The web site instructions on mpf are a bit dated due to SmartMatrix library changes.

    Step1 (Install Arduino IDE):
    Install the Arduino ide 1.8.16 https://www.arduino.cc/download_handler.php?f=/arduino-1.8.16-linux64.tar.xz
    Open a terminal session
    tar -xvf ~/Downloads/arduino-1.8.16-linux64.tar.xz .
    cd arduino-1.8.16-linux64
    sudo ./install.sh

    Step2 (Install Teensyduino):
    https://www.pjrc.com/teensy/td_download.html

    Download the Linux udev rules (link at the top of this page) and copy the file to /etc/udev/rules.d.

    sudo cp 00-teensy.rules /etc/udev/rules.d/
    Download the corresponding Teensyduino installer.
    Run the installer by adding execute permission and then execute it.

    chmod 755 TeensyduinoInstall.linux64
    ./TeensyduinoInstall.linux64

    Step3 (Follow the instructions for mpf)
    https://docs.missionpinball.org/en/0.54/hardware/smartmatrix/index.html
    I have the smartmatrix shield attached to the teensy which makes life a bit easier to connect up the hub.
    My mini usb cable plugs into the teensy and my 5VDC powersupply is my ubuntu's ATX power supply.

    Step4 (Download the teensy source code for mpf to drive the dmd)
    Here is the link https://raw.githubusercontent.com/missionpinball/mpf/dev/tools/smart_matrix_dmd_teensy_code/smart_matrix_dmd_teensy_code.ino
    You will need to make changes to the first two lines of code due to the Smartmatrix version 4 changes

    Step5 (Download the Smartmatrix Library)
    https://github.com/pixelmatix/SmartMatrix (I downloaded the linux 64 zip file)
    Additional information here are the Pixelsite https://docs.pixelmatix.com/SmartMatrix/library.html
    Launch your arduino ide and install the Library zip file you just downloaded

    Step6 (Setup your arduino ide)
    Identify your teensy board to the arduino ide. I have a teensy 3.5
    Open your file you downloaded (smart_matrix_dmd_teensy_code.ino) and allow it to create a dedicated folder to host the project in.
    Click the check mark to compile the code. If compile successful the teensyduino box appear and it asks you to push the button on teensy to upload the new code.

    Step7 (Setup your mpf config file to talk to the teensy)
    See part 4 of this link https://docs.missionpinball.org/en/0.54/hardware/smartmatrix/index.html
    Your mpf config will vary if you are using linux or windows. I am using linux so my port is /dev/ttyACM0

    #19 2 years ago

    More pictures and youtube updates to come.

    I removed my mother board, powersupply and SD HD from the pc chassis and mounted the board onto the backbox of the pinball cabinet.
    Its happily running vertically mounted on the wall of the backglass cabinet. Added my power/reset button to the motherboard to power up the PC.

    Now that the pc is mounted I can start to run the wiring to the cobraboard.

    This pinball machine will have no TV/Monitor screen (unlike my list pinball project Phoenix). It will only have the RGB dmd.

    Any maintenance activities will come from remote ssh connection to the host or if I get lazy I can still connect a monitor to the back of the host.

    #20 2 years ago

    Video quality is showing the refresh of dmd... Yuck

    You can see PC mounted in backbox

    #21 2 years ago

    I replaced my source code for the teensy with the code example given on the MPF DMD site ...
    https://raw.githubusercontent.com/missionpinball/mpf/dev/tools/smart_matrix_dmd_teensy_code/smart_matrix_dmd_teensy_code.ino

    These two lines don't work with the latest SmartMartrix library and I replaced them with the correct includes
    #include <SmartLEDShieldV4.h>
    #include <SmartMatrix3.h>

    And I lowered the baud rate to 115200 for this line below.
    Serial.begin(2500000);

    All the updates and changed to the teesy source code and my config.yaml file will be posted in my github page for the source code.

    It's really cool to see my rgb DMD working alongside of my Ubuntu 21.04 MPF server and teensy 3.5 with a smartmatrix shield.

    Next I need to get my networking for remote desktop working and everything else ....

    #22 2 years ago

    One of the great things about MPF is if I tire of the the DMD display I can easily rip out the DMD and replace it with a computer monitor or TV screen.
    After some minor changes to my config.yaml for displays and the dmd is removed.

    1 week later
    #23 2 years ago

    Today was the first day I had my cobraboard powered and connected to the dual usb connections to my ubuntu host.

    My two serial ports (/dev/ttyACM0 and /dev/ttyACM1) had permission problems when they are created Owned by root and dialup group.
    Adding my user to the dialup group remedies this issue.

    After that issue is out of the way running "mpf hardware scan" lets me know that the host can see the board and all the ports.
    Out of the box my board was pre-programmed to have a switch matrix and for the led's light string to glow blue on boot up.
    This is good for me because my system uses a switch matrix ...

    Next up I added my 5vdc power supply connections and 36 vdc Transformer power supply connections to the board.

    I launched "mpf both" to see if my led lamp string was working for my attract mode and all was working perfectly.

    Since the cobraboard is not yet wired to my cabinets wiring harness I need to test my switch matrix and service button connections using a jumper wire.
    To test I use the jumper wire to bridge the connection momentarily between one switch matrix rows and one switch matrix cols connectors to simulate a switch activation. To see if this is working I launch a terminal session "mpf both". By bridging row1 and col 2 I see I am adding credits.

    Tomorrow I will use two terminal sessions to test my coils ("mpf both" and "mpf service").
    Once my board testing is completed I will transplant the board into the cabinet and start connecting the cabinet wires to the cobra board.

    Progress.

    #24 2 years ago

    My amazon purchase of a usb network wifi arrived
    https://www.amazon.ca/BrosTrend-600Mbps-Wireless-Internet-AC2/dp/B01GC8XH0S/ref=sr_1_7
    My pc has been decased and mounted inside the backglass area. Now I plug in my new trusty usb wifi connector and try out my new wifi connector ...
    No network connectivity. Ok this should not be a problem probably need to install a device driver or ubuntu app to config it. Nope, the instructions say I need to perform an "sudo apt-get update" then install the dkms and linux-headers*. The kicker was the instruction say I need to use a network connection to install the usb network card. (Isn't that sort of the cart before the horse issue ?).

    I shake my head and disconnect my SSD drive from its mounting place and I opened up my Ubuntu desktop pc. Switched my SSD drive from my pinball cabinet with my Ubuntu desk top machine (which so happens to have a cat5 cable connected internet connection). Next I booted up my desktop machine with the other drive and "internet connected"... Finally I can download the required packages by issuing "sudo apt-get update" and "sudo apt-get upgrade" then install the dkms and linux-headers*.

    With all the required Ubuntu packages installed onto my hard disk I shutdown the machine and swapped the hard drives back into their respective hosts.
    Great now lets boot up the pinball machine and try out the new USB Linux wifi...
    The USB board was now recognized and by going into setting --> Wifi I enabled the correct wifi sid for my internet connection and entered the wifi join password. SUCCESS !!!!!!!

    You may ask, why bother having network access to your pinball cabinet ? Well my cabinet is going to be "headless" meaning no keyboard and no mouse and no monitor. To manage the Ubuntu host side of things I will be using remote desktop and a graphical interface on my desktop Ubuntu machine.

    I have a Virtual Pinball cabinet and a few raspberry pi Jukeboxes that use the same methodology. The headless maintenance allow me to do away with connecting a keyboard and mouse and monitor to the device for maintenance and trouble shooting.

    #25 2 years ago

    Just a side note. My avatar show one of my converted 1945 Radio's that I converted into a raspberry pi touch screen jukebox.
    It can stream music stations, play local mp3's. Using the touch screen or web browser to control it. I even added text to speach to anounce what songs it was about to play. This device has it's maintenance done using remote desktop or also known as a headless server.

    I have a beautiful Jukebox that plays 45 rpm records. It too is a raspberry pi and arduino controlled device.

    Love my linux and raspberry pi's and arduino's and teensy's and stm32's and esp's they are cool to work with.

    #26 2 years ago

    One of my favorite reads was the openpinballproject https://openpinballproject.wordpress.com/. I learned alot from reading the posts and blogs present there.
    Kinda miss the regular updates but I find myself going back there and re-reading many of the interesting write ups.

    One other comment is I wish I had the opportunity to travel and meet some of the other pinball communities. Many amazing people out there. Damm Covid restricting travel and of course we need to keep safe and prevent the spread.

    Guess my bucket list has grown to include traveling to pinball events and meeting the people who make pinball great.

    Finally my last miscellaneous comment that for me ... one of the coolest homebrew machine for 2021 is Cup Head. While I have never seen it in person, I have had the opportunity to play a Virtual Pinball version of it. While the backglass version of it is not the same, the playfield layout is there. My family plays the Virtual pinball cabinet version of it regularly. The home brew version mimics a profession grade build which far exceeds my ability to produce. Hats off to your accomplishment.

    Sorry for rambling but I was reflecting ....

    #27 2 years ago
    Quoted from legtod2:

    Spent the weekend working on setting up my Ubuntu 21.04 to communicate with the teensy 3.5 and SmartMatrix shield.
    Here is part one to get the teensy and RGB LED to work. The web site instructions on mpf are a bit dated due to SmartMatrix library changes.
    Step1 (Install Arduino IDE):
    Install the Arduino ide 1.8.16 https://www.arduino.cc/download_handler.php?f=/arduino-1.8.16-linux64.tar.xz
    Open a terminal session
    tar -xvf ~/Downloads/arduino-1.8.16-linux64.tar.xz .
    cd arduino-1.8.16-linux64
    sudo ./install.sh
    Step2 (Install Teensyduino):
    https://www.pjrc.com/teensy/td_download.html
    Download the Linux udev rules (link at the top of this page) and copy the file to /etc/udev/rules.d.
    sudo cp 00-teensy.rules /etc/udev/rules.d/
    Download the corresponding Teensyduino installer.
    Run the installer by adding execute permission and then execute it.
    chmod 755 TeensyduinoInstall.linux64
    ./TeensyduinoInstall.linux64
    Step3 (Follow the instructions for mpf)
    https://docs.missionpinball.org/en/0.54/hardware/smartmatrix/index.html
    I have the smartmatrix shield attached to the teensy which makes life a bit easier to connect up the hub.
    My mini usb cable plugs into the teensy and my 5VDC powersupply is my ubuntu's ATX power supply.
    Step4 (Download the teensy source code for mpf to drive the dmd)
    Here is the link https://raw.githubusercontent.com/missionpinball/mpf/dev/tools/smart_matrix_dmd_teensy_code/smart_matrix_dmd_teensy_code.ino
    You will need to make changes to the first two lines of code due to the Smartmatrix version 4 changes
    Step5 (Download the Smartmatrix Library)
    https://github.com/pixelmatix/SmartMatrix (I downloaded the linux 64 zip file)
    Additional information here are the Pixelsite https://docs.pixelmatix.com/SmartMatrix/library.html
    Launch your arduino ide and install the Library zip file you just downloaded
    Step6 (Setup your arduino ide)
    Identify your teensy board to the arduino ide. I have a teensy 3.5
    Open your file you downloaded (smart_matrix_dmd_teensy_code.ino) and allow it to create a dedicated folder to host the project in.
    Click the check mark to compile the code. If compile successful the teensyduino box appear and it asks you to push the button on teensy to upload the new code.
    Step7 (Setup your mpf config file to talk to the teensy)
    See part 4 of this link https://docs.missionpinball.org/en/0.54/hardware/smartmatrix/index.html
    Your mpf config will vary if you are using linux or windows. I am using linux so my port is /dev/ttyACM0

    Would that be something for the MPF docs?

    #28 2 years ago

    Jabdoa,

    Yes I will share in this thread and my GitHub post of source code. The pixel art library header ref changed and I change the baud rate.

    1 month later
    #29 2 years ago

    My cobraboard was going thru its testing phases over christmas/new years holidays. All of my solenoid ports have been tested on the board using the mpf service command.

    For this machine I am using the original power transformer pushing 40 vdc. The Transformer has a high and low tap (think it's on the high tap).
    For my LED's & DMD I am using my PC's power supply for the 5 vdc,

    My decision to go with a 128x32 DMD instead of a tv screen is working out so far. Man that thing is bright.

    Need to attach all my LED's under the table and wire them up.

    #30 2 years ago

    Pretty cool Project. Very Happy to follow

    #31 2 years ago

    One of my issues with this machine versus my previous was the use of the teensy board and the cobrapin board.

    This implies that 3 USB connections are made when the operating system boots.
    /dev/ttyACM0
    /dev/ttyACM1
    /dev/ttyACM2

    The Cobrapin uses ACM0 & ACM1 and the teensy uses ACM2.

    Unfortunately there is no guarantee that these names bind as described. So I am using the following method to bind the names as follows...

    udevadm info /dev/ttyACM0

    This will show you the DEVPATH. Now replace the last part ttyACMX with an asterisk and add an udev rules like this in /etc/udev/rules.d/opp.rules:

    SUBSYSTEM=="tty", ACTION=="add", DEVPATH=="/devices/pci0000:00/0000:00:14.0/usb1/1-4/1-4.1/*", SYMLINK+="ttyOPP1", GROUP="adm", MODE="0660"
    After a reboot you should get a /dev/ttyOPP1 device if you connect an OPP device to that specific USB port. You can use that port in your config.

    On Ubuntu: Stop ModemManager

    ModemManager tries to initialise all /dev/ttyACMxx devices as modem. That might cause delays after attaching OPP hardware and might also leave the hardware in a weird state with garbage on the bus. If you do not use any modems just disable and stop ModemManager:

    sudo systemctl disable ModemManager
    sudo systemctl stop ModemManager

    Now I should have /dev/ttyOPP1 and /dev/ttyOPP2 instead of /dev/ttyACM0 and /dev/ttyACM1 for the cobraboard (Footnote, don't forget to update config.yaml with new dev names).
    Also my teensy port will become /dev/ttyACM0. Of course I could do the same thing having a udev rule for the teensy and call it something different too.

    #32 2 years ago

    Today I will be enabling my network connection to the cabinet and setting up the headless server configuration for maintenance.

    An ssh connection for command line remote connection and the ability to have an xrdp session.
    Of course I can alway just connect a vga cable to a monitor and connect a usb keyboard and mouse and do it that way too.

    But if you have been to my house and seen all the raspberry pi devices, ubuntu devices and projects (Jukeboxes, radios, pinball, arcade machines) then you understand the need to do remote network connection; otherwise always having to lug a monitor and keyboard to another project.

    Will add a brief blurb on how I configure that on my ubuntu host.

    1 week later
    #33 2 years ago

    Now for my least favorite choir ...
    soldering.

    The playfield was originally wired with hardware automated solenoid switches for the bumper, slingshot, and flippers.
    There is a solenoid under the playfield that enables power to those solenoids.

    So when the bumper switch is hit, power is instantly given to the bumper. Same is true for the slingshot and flippers.

    I have had to re-wire the solution such that when the switch is hit the cobra-board will trigger the solenoid to fire.

    There can be a pro and a con for doing this...
    Con:
    Loss the instantenous on/off of direct switching

    Pro:
    Gain control of the strength of firing the solenoid.
    Gain the ability to use flippers to navigate my dmd menu (High score entry, diagnostic menu)

    Got that all done and working. Now I need to wire up me led lamps on the playfield (Urgggggg)

    #34 2 years ago

    It's alive and flipping. Played several games with my son. Lots of tweaks and cable management tidy up left to do.

    Since I have a color dmd, I want to experiment with more color and more effects and sounds.

    Gonna try to use dental floss to tidy up and bind the wires under the playfield. Originally the Gottlieb wires were bound with some form of waxy thick string (looks like dental floss to me).

    My spinning rotor target is not behaving, the target circle sometimes drags and stops it from spinning properly. Many of the spring target are bent. Wish I could find a replacement target circle.

    Need to play arround with the playfield light show and come up with something better.

    My pop bumpers and slingshot strength are not were I want them yet, so I will experiment with different pulse settings. This makes me really happy that I re-wired to automatic switching of the pop bumpers and sling shot to allow me to dial in the strength of these solenoids.

    It's amazing how much louder the table is with the playfield glass off the table. Those solenoids sounds so much louder with the glass off.

    Going to add a couple of pc fans on the back to exhaust the heat from inside the cabinet.

    #35 2 years ago

    Cast my vote for the TWIPY awards and voted for Cup Head as the best homebrew. My Virtual pinball machine has Cuphead on it and we play it regularly. It would make a fine addition if I could have the real table in my stable of machines.

    1 week later
    #36 2 years ago

    Machine is working, my son and I have play multiple games on it.

    Now I am tweaking software, music, sounds, animation.

    Occassionally my Color DMD will not properly draw the bottom line of the display.

    The teensy receives the data via the serial port and draws it fine for all of my mp4 videos.
    Its just the bottom line of the display example "Player 3 Ball 1"

    Besides that I have my led computer control in place under the playfield and all the GI lighting working.

    Pretty soon I can mark my second Cobrapin powered pinball machine as completed.

    5 months later
    #37 1 year ago

    The machine has been running flawlessly. Got my issues with the bottom line dmd drawing properly.

    I have decided to make tweaks and changes to this machine.

    1) Top Lanes A,B,C will change with the left and right flippers
    2) Add a computer monitor and include animation on computer monitor for the roto spinner
    3) Change rules on what happens with the drop targets
    4) Multiple spin roto lanes will change scoring and other backglass animations.

    I think having a combination backglass and dmd will be cool.

    Also I will update my github posting and provide youtube update of progress.

    #38 1 year ago

    Progress so far,

    I got my Top lanes A, B, C to change when the flippers are active and to do a short 5 sec show when all three completed. For an older game this really added a big smile to my face. Also I worked on my roto target wheel. Boy that was buggered up. The wheel would never spin due to allen screws not being tight enough and dirty contacts. Nice to have the roto targets registering again.

    Next I had to pump up the strength of my drop target solenoid. Sometimes the reset would not stand up all of the targets (they would simply fall down again).

    I want to completely change the back glass artwork and hide the virtual dmd from my backglass. Need to read the docs to get that part addressed.

    1 month later
    #39 1 year ago

    Got wild and crazy and swapped out my host computer that was a 2cpu old and slow machine with a quad core, 12 gigabyte machine that I paid a whole $80.00 for.

    Next I decided I corrected my usb device names. Under random conditions I found that the serial usb devices /dev/ttyACM0, /dev/ttyACM1,/dev/ttyACM2 would be created in a different order. This caused my teensy serial device to not start properly.

    Using the udevadm command I reviewed each ttyACM* device and captured the serial number of each of my STMicroelectronics (STM32 boards) and the manufactures name for the Teensy and used these unique identifiers to create my symbolic device names of opp1, opp2, and teensy.

    Now my two udev rules look like this ...
    File1: /etc/udev/rules.d/00-opp.rules
    KERNEL=="ttyACM*", ATTRS{idVendor}=="0483", ATTRS{serial}=="024EBDC94743",ATTRS{manufacturer}=="STMicroelectronics", SYMLINK+="opp1", MODE:="0666"
    KERNEL=="ttyACM*", ATTRS{idVendor}=="0483", ATTRS{serial}=="0157D1EB4743",ATTRS{manufacturer}=="STMicroelectronics", SYMLINK+="opp2", MODE:="0666"
    File2: /etc/udev/rules.d/00-teensy.rules
    KERNEL=="ttyACM*", ATTRS{idVendor}=="16c0", ATTRS{manufacturer}=="Teensyduino", SYMLINK+="teensy", MODE:="0666", RUN:="/bin/stty -F /dev/%k raw -echo"

    With the new hardware I immediately noticed quicker boot and shutdown times.

    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/ce3k-with-a-cobrapin-pinball-controller?hl=mightygrave 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.