Main > Project Announcements
MEEP: A Minimal Mini-VPin Project [Completed!]
<< < (3/5) > >>
PL1:

--- Quote from: jeremymtc on September 17, 2024, 11:41:15 pm ---The buttons in place are mostly placeholders for the ones I intend to use, however those will also be LED lit.

--- End quote ---
Are you planning on using microswitch buttons for the flippers?

The downside to that approach is that the hysteresis of microswitches (top) is more likely to affect pinball gameplay than leaf switches. (bottom)



You might want to consider leaf switch buttons like GGG's LED friendly Electric Ice 2 buttons with True-Leaf Pro switches, X-Leaf switch assemblies that replace regular microswitches, or non-LED Class-X buttons with True-Leaf Pro switches.


Scott
jeremymtc:
Hey Scott, thanks for the input on the "input"  :lol

The flipper buttons won't be illuminated, but for now they are microswitch buttons. Leafs may be a future addition though, and Randy's stuff is usually the first I look at for quality parts. As it is, this machine is very much set up with hardware of the lowest common denominator kind in all aspects, so I'm not sure if infinitesimal gains in terms of precision and latency will be very noticeable. 
jeremymtc:
Bit of an update here - the cabinet is now about 98% complete, needing only the addition of dust filters and exterior trim bezels for the intake vents in the base. I will try to get some good photos of it uploaded in the next couple of days. I will say that it has cleaned up remarkably well, and its function/performance has exceeded my expectations. Chuffed.

I haven't shown much of the internals of the cab yet, and now is as good a time as any for a rundown. Below are some work-in progress photos from an earlier date - please excuse the poor lighting and sawdust/debris, and keep in mind that wire management hadn't really been attempted at this point.



The PC powering this build is a Firebat T8 (Intel N100 Alder Lake) mini running what is basically a stripped down Linux installation. Although it's a very low-power PC with integrated graphics, after installing a lot of tables and doing a lot of playtesting I've found that it really works quite well at 1080p/60Hz resolution. If you're contemplating a build using one of these, I'd say that it works great so long as you're not trying to push 4K.

Some of the early testing I had done was with more recent tables (such as those from VPW) set up for 4K high-refresh monitors, and some of those ran pretty poorly - typically 20-30fps or so. Using some of the less hyper-detailed VPX tables as alternates, performance has been fine and totally playable with solid framerates and more than acceptable display quality.

This is a screenshot of btop (a system monitor application) running via ssh from my desktop computer, with the pinball cab running Monster Bash in a game session with multiball active. The little N100 4-core system is chugging right along at 16% utilization. The only time I see CPU utilization approach even 50% is during game selection and loading from the frontend; at the left of the CPU histogram the burst of activity shown is the game being selected and loaded:



The mini PC's cooling solution is pretty tightly integrated in its very small case, with an intake fan that draws air in from the bottom and exhausts through one side. It didn't make much sense to decase the PC for this build as it would lose the benefit of what's basically a fitted duct channeling air directly through the CPU heatsink. The PC has been oriented so that its exhaust is mostly inline with the cabinet's exhaust fan, but it's rotated slightly out of plane in order to keep all of the i/o ports more easily accessible.

I needed to break out a couple of functions from the motherboard in order for it to function seamlessly in the cabinet, but this was definitely made trickier due to the very tight packaging of components inside the mini PC case. I went with a 3-pin audio cable with the JST connectors snipped off the ends to solder to the motherboard V+ and ground contacts for the power switch, and to the +5V lead for the cooling fan header. A small hole was drilled in the case to allow passage for the cable:



The PC is powered by a laptop-style switching power brick, but this one is 12V rather than the more common 19.5V laptop power supplies. Since the PC only needs 12V, I was able to power the relay module used to run the cabinet's exhaust fan without stepping the voltage down before it reaches the relay. Instead, a buck converter was installed on the output side of the relay to act as a fan speed controller of sorts. The relay is triggered by the +5V signal coming from the mini PC's fan header, and output voltage to the cabinet's exhaust fan was adjusted to ~7.8V for best acoustics. System temperature hasn't exceeded ~65C in testing so far:



There was a need for multiple +5V outputs to power the amplifier board, DMD screen, and various button LEDs, and I spent some time thinking about how to manage those. The SJ@JX USB encoder is "capable" of supporting about a dozen LEDs on its own, but the cabinet didn't need quite that many. I considered using some of those encoder outputs to power the amplifier and DMD, but had some concerns about combined amperages and ground loops. Rooting around in a junk drawer netted a handful of small 1 amp USB AC adapters which were pressed into service to power the amplifier and DMD instead, and these are plugged into the power strip mounted into the rear of the cab.

In the photo below the button LEDs are plugged into the +5V encoder outputs, but I've switched those up based on the desired behavior of the system when different power states are taken into account. By default all of the USB ports are powered during suspend, and while there may be a BIOS switch to alter that behavior I've decided that it's actually easier to handle what I want to do in hardware instead:



Typical for this sort of installation, the PC is set to suspend/hibernate with a short press of the power button, and it shuts down with a long press. The power button is illuminated, and its conditionals for lighting pretty much follow what the encoder board outputs during suspend and power-off, so it alone is powered from the encoder. The control panel button LEDs instead receive their power from my fan control circuit so that they only illuminate when the system is active.

Most i/o to the cabinet is handled wirelessly with a bluetooth keyboard, RF wireless mouse, and a PS3 controller connected via BT to remotely navigate Emulation Station menus. I threw a 4-port USB extender into the cab mainly for convenient reach to plug in USB thumbdrives for bulk file transfer.

I hope to post photos of the more or less completed unit tomorrow or the next day  :cheers:
minorhero:
Just finished reading this thread, really nicely done!

Since I am currently finishing up my first arcade cabinet build, seeing a vpin build is very timely for me :)

Any top tips for someone thinking of going down a similar road?
jeremymtc:
Thanks, minorhero! Very kind.

My number one tip for a vpin would be to use Windows instead of Linux. My #2 tip would be to plan your build around standard PC parts with a discrete GPU instead of a mini-PC. Basically, do everything exactly opposite to what I've done and you should be golden  :laugh2:

I had asked a similar question here in the software forum when I was in the planning stages for this one, but it ended up more a monologue in which I answered my own question and gave some reasoning for it.

Why use Windows? Because 97% of the visual pinball speaking world is pretty sure that you're using Windows, and that's where all of the software, utilities, features and toys are located.

Why use standard PC components? Because you won't be artificially constrained by hardware and have greater upgrade potential.

A third consideration would be to have clear target for your goals before budgeting for a machine. A 4K resolution build will cost (at least) an order of magnitude more than a 1440 or 1080p build due to the PC hardware and display required, and for that reason it doesn't really make a lot of sense to try to build a 4K mini - you're much better off going full size at that point. 

I don't regret the hardware or software choices made for this build one bit, and quite the contrary, I'm really stoked on this machine. But, it was more an exercise in learning and hacking which I find to be enjoyable in a kind of masochistic way, and it enabled me to build the machine for astonishingly little cost (less than $75 USD in direct costs, and well under $200 in total if repurposed existing parts are taken into account).

Hope this helps in some way!  :cheers:

Navigation
Message Index
Next page
Previous page

Go to full version