Skip to content

Portable VPX pinball handheld controller with DMD display

License

Notifications You must be signed in to change notification settings

bartdesign/PinPal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 

Repository files navigation

PinPal

PinPal is a handheld device that acts as a controller for your iPhone. It has four hardware buttons and a DMD display. It is made specifically for the newly released VPX (Visual Pinball X) app on the Apple iOS App Store.

The VPX iOS app has built-in support for a ZeDMD display device, and I've built specific firmware for the Lilygo T-Display S3 AMOLED device. The display refresh speed is high enough for enjoyable gameplay, and there are also different scaling modes available to simulate a DMD pixel display. The ZeDMD firmware has full support for colorized DMD with the help of Serum.

Gameplay:

VPX Gameplay

DMD close up:

VPX DMD

There are 4 different scaling methods available; this is using the 2x2 pixel mode ( this is drawn in a 4x4 black pixel block to simulate the DMD effect ).

Pictures:

Progress

-- Update 22-10-2024

  • Changed the flipper buttons to the top of the unit; it works a lot better then the old version.
  • 2 extra buttons for nudging. I plan to make a sqeeuze to nudge function in combination with the accelerometer in the future and use these buttons for magnasave.
  • Added a cable guide system in the bottom plate to easily wire up the unit.
  • The dmd display cutout has been changed to a bigger bezel and the mounting solution has been improved and optimized for the lilygo T-display amoled v2.0 solderless.

Todo:

  • Better usb-c connector mount, need to lower it a bit and but the connector back a bit.
  • In rare cases buttons get a little stuck, need to fiddle some more with tolerances

After weeks of tinkering, I've completed the first prototype of my portable pinball handheld device. While it still has some rough edges, it fully works as I originally envisioned. The current version is designed for the iPhone Pro Max series with a USB-C connector. Moving forward, I plan to release four versions:

iPhone 15/16 Pro Max (USB-C) — already released
iPhone 15/16 Pro (USB-C)
iPhone 13/14 Pro Max (Lightning)
iPhone 13/14 Pro (Lightning)

At the moment, I'm experimenting with different button configurations to improve comfort, as I'm not entirely satisfied with the current layout. I’ve also developed firmware for the ESP32 Zero that emulates a keyboard for the hardware buttons. In the next iteration, I’ll be converting this firmware to function as a game controller, which should resolve the issue of the on-screen keyboard interfering with gameplay.

I’ll be releasing all of my 3D printable files in both STL and STEP formats. I’m not a professional 3D modeler; so the models are not perfect :-)
I encourage others to take my designs, improve upon them, and make the project better or start their own versions of this concept!

BOM (Bill of materials)

Description Amount Link
T-Display S3 AMOLED V2.0 Non-Soldered Pin [H713] 1x https://www.lilygo.cc/products/t-display-s3-amoled?variant=43506902368437
ESP32-S3-Zero 1x https://www.waveshare.com/esp32-s3-zero.htm
Soft dome tactile push buttons (4PIN) version 4 buttons (buy a 20 pack) https://aliexpress.com/item/1005005384244944.html
USB-C female 5 pin connector 2x https://aliexpress.com/item/1005006260700701.html
Cylinder head screw M4 6x - I ordered these(the site has all the exact dimensions): https://www.rvspaleis.nl/bouten/binnenzeskant/din-7984/din-7984-[-]-a2-[-]-m4/7984-2-4x12_1
- USA Link of something equivalent: https://belmetric.com/m4x0-7-a2-stainless-din-7984-allen-socket-low-head-cap-screw/?sku=BSH4X12LOWSS
Sleeve Nut M4 6x - I ordered these(the site has all the exact dimensions): https://www.rvspaleis.nl/moeren/hulsmoeren/verzonken-binnenzeskant/9062-2-4_1
- USA link of something equivalent: https://belmetric.com/sleeve-nut-flat-head-stainless/?gad_source=1&gclid=CjwKCAjwjsi4BhB5EiwAFAL0YEJn1d-U1o56CrpPKzjxZ5y5co3S5-NrORw0wPohaRkb9woiMzEqkhoCX0kQAvD_BwE
Small copper insulated wires +- 70 cm I cut op an old broken USB lead and recycled those wires

Build instructions

Stay tuned, i will document this later.

Setup instructions

  1. Install VPX from the Apple iOS store.
  2. Click the cog at the right top to open the VPX Settings.
  3. Change the DMD type to "ZeDMD-WiFi".
  4. Fill in the IP Adress and use the default port number 3333.
  5. Tap Done in the top right, load up a table and have fun!

Thanks

I would like to thank the following people for help on this project, without them this wouldn't have been possible:

About

Portable VPX pinball handheld controller with DMD display

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published