Jump to content



Photo
- - - - -

Preview release: Pinscape Pico


  • Please log in to reply
180 replies to this topic

#161 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 435 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: I love them all

Posted 07 December 2025 - 07:22 PM

 

BTW- How does JLPCB prices compare to PCWay? 

Good question. I uploaded the Eagle board directly to PCBWay and then did a quick and dirty generation of Gerber / Drill files for JLPCB from my suspect Kicad import as a trial run. JLPCB is so cheap I have a hard time believing it is correct, even without the $6 off coupon they are giving me. The image file in my cart certainly looks correct on first glance.

 

jlpcbvspcbwayv20.jpg

 

Wow!  when I built 20 sets of PCBs from PCBWay back in January, the unit cost including shipping was close to $5 USD for each PCB.  Your cost without coupon is $3.20 CAD.  That is roughly half price!


Rickey

Intense Arcade

http://www.intensearcade.com

 


#162 DeKay

DeKay

    Hobbyist

  • Members
  • PipPip
  • 12 posts
  • Location:Canada

  • Flag: ---------

  • Favorite Pinball: Addam's Family

Posted 07 December 2025 - 10:15 PM

Wow!  when I built 20 sets of PCBs from PCBWay back in January, the unit cost including shipping was close to $5 USD for each PCB.  Your cost without coupon is $3.20 CAD.  That is roughly half price!

It isn't quite that sweet a deal because even though I specify my location as Canada, they still quote is USD.

 

My story above has a happy ending. After creating an enhancement request for providing the Gerbers on Github, mjr suggested I check out the free version of Eagle anyway. Turns out the free version won't let you edit the board, but it will let you view the board and (more importantly) run the CAM processor that creates the Gerbers. They upload to JLCPCB just fine. So for $27.42 USD plus less than $4 in taxes I see during checkout, I'd get five each of the main and power boards. Amazing.

 

Thanks again mjr!

 

jlcpcb.jpg



#163 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 435 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: I love them all

Posted 08 December 2025 - 04:56 AM

I just did a comparison for a project I was working on and I was quoted from JLCPCB $55 for 25 PCBs delivered.  PCBCART quoted me $142 and that doesn't even include shipping!  It does pay to shop around.  Thank you!!!


Rickey

Intense Arcade

http://www.intensearcade.com

 


#164 thainglo

thainglo

    Hobbyist

  • Members
  • PipPip
  • 38 posts

  • Flag: United States of America

  • Favorite Pinball: Indiana Jones

Posted 16 December 2025 - 10:24 PM

My vertical build is progressing along - cabinet complete with vinyl and pieces getting final-mounted inside.  I'm working on the control panel (adding arcade buttons and joysticks, plus the usual pinball controls) and realized I wasn't sure how the inputs are wired to the board.  In past builds I've used a common ground daisy-chained to all the buttons, then individual wires running from the other side of the microswitch to the control board.  I did not see any marking on the Pinscape Pico Main Board for the common that routes to the buttons.  Although, the marking for Buttons 1-8 has a total of ten terminals to connect to.  Can anyone provide some clarity?  I've searched the github and other posts and came up with nada.

 

Similarly, how is the plunger connected to the board?  I'm using the typical 10k slide resistor with three wires but see there are eight posts in the terminal block for the plunger.  I found this information on the KL25Z build guide that has a picture of the relevant wires to use - same connections with the Pico?

 

http://mjrnet.org/pi...ide.php?sid=pot


Mini cab with 24" PF, 19" BG and small DMD. Raspberry Pi Pico controller.

#165 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 16 December 2025 - 11:22 PM

 In past builds I've used a common ground daisy-chained to all the buttons, then individual wires running from the other side of the microswitch to the control board.  I did not see any marking on the Pinscape Pico Main Board for the common that routes to the buttons.

 

It's the same setup with a common ground for all switches.  The last (leftmost) pin on each button header is wired to GND, so there are four pins you can use for that.  They're all connected together, so you can use a single daisy chain from any of the four ground pins if you like.  The only reason there are four of them is purely for wiring flexibility and convenience, in case it's not convenient to wire it as one giant daisy chain.

 

 

Similarly, how is the plunger connected to the board?  I'm using the typical 10k slide resistor with three wires but see there are eight posts in the terminal block for the plunger.  I found this information on the KL25Z build guide that has a picture of the relevant wires to use - same connections with the Pico?

Right - the plunger port on the Pico expansion board is identical to the KL25Z expansion board plunger port.  All of the expansion board plunger wiring diagrams in the Build Guide apply the same way to the Pico boards.

 

Note that for people wiring directly to the Pico (without expansion boards), the JSON Config Reference has diagrams of the direct Pico GPIO wiring for each plunger sensor type.



#166 thainglo

thainglo

    Hobbyist

  • Members
  • PipPip
  • 38 posts

  • Flag: United States of America

  • Favorite Pinball: Indiana Jones

Posted 17 December 2025 - 12:12 AM

Thanks for the quick response! I will be following those directions tomorrow.

Silly question: if the left pin is ground, and there are eight buttons, what is the tenth pin for?
Mini cab with 24" PF, 19" BG and small DMD. Raspberry Pi Pico controller.

#167 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 December 2025 - 12:34 AM

Thanks for the quick response! I will be following those directions tomorrow.

Silly question: if the left pin is ground, and there are eight buttons, what is the tenth pin for?

 

Each header (that isn't already a unique plug type) has an extra "keying" pin that's not connected to anything, and each keying pin is in a different position on each header.  It makes the pin layout unique per header.  The idea is that you cut off unused the pin from the header and stuff one of the little keying plugs (mentioned in the BOM) into the corresponding socket on the IDC housing.  That makes it impossible to plug a cable into the wrong header.  It's traditional practice on the Williams machines, to help prevent damage from plugging things in wrong after repair jobs - it makes it a little easier to get everything plugged into the right place again even if you didn't take notes when unplugging wires.



#168 thainglo

thainglo

    Hobbyist

  • Members
  • PipPip
  • 38 posts

  • Flag: United States of America

  • Favorite Pinball: Indiana Jones

Posted 17 December 2025 - 12:59 AM

Makes sense. I see the "X" marks for the output headers but nothing on the labeling for the input buttons. I have one of the early boards. Is there info somewhere that could point me to which header pin is the inactive one?
Mini cab with 24" PF, 19" BG and small DMD. Raspberry Pi Pico controller.

#169 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 December 2025 - 04:42 AM

Makes sense. I see the "X" marks for the output headers but nothing on the labeling for the input buttons. I have one of the early boards. Is there info somewhere that could point me to which header pin is the inactive one?

 

I should probably try to fit some markings on those headers - I think I intentionally omitted them because of the limited space available, but as it is you have to go look at the schematics to find the pin assignments.  They're pretty regular, though:  the pins are numbered from RIGHT TO LEFT, with Pin 1 at the right.  The keying pin positions are:

 

J8 (buttons 1-8) - Pin 3

J7 (buttons 9-16) - Pin 4

J6 (buttons 17-24) - Pin 5

J5 (buttons 25-32) - Pin 6

 

The GND/Common pin is always pin 10, the LEFTMOST pin.  The rest of the pins are the button numbers listed above, assigned in ascending order, right to left, always starting from Pin 1 at the right.

 

Here's a diagram with the labels crammed in...

 

buttonpins0.png


Edited by mjr, 17 December 2025 - 04:48 AM.


#170 thainglo

thainglo

    Hobbyist

  • Members
  • PipPip
  • 38 posts

  • Flag: United States of America

  • Favorite Pinball: Indiana Jones

Posted 17 December 2025 - 04:11 PM

Great picture!  Maybe post that on the github in the button mapping section?

I just checked my parts from the project and did not see any keying plugs in what was delivered from Mouser.  Were they in the original BOM?  


Mini cab with 24" PF, 19" BG and small DMD. Raspberry Pi Pico controller.

#171 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 18 December 2025 - 05:04 AM

I just checked my parts from the project and did not see any keying plugs in what was delivered from Mouser.  Were they in the original BOM?  

 

They must have been added later if you didn't find them in there.  The part numbers are:

 

  MTA-100 (0.1" pitch housings) - 641994-1

  MTA-156 (0.156" pitch housings) - 641623-1

 

Both part numbers are for 10-packs.



#172 DDH69

DDH69

    Pinball Wizard

  • Platinum Supporter
  • 3,605 posts
  • Location:DOFLinx HQ, Adelaide

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 25 December 2025 - 04:55 AM

And now with two decent sized PS Pico boards

 

25-Dec-25 14:36:50.863 * 2 Pinscape Pico device(s) found
25-Dec-25 14:36:50.867 - DOFLinx device: 1 Initializing as PSPico #1 with name=Penguin Arcade Control
25-Dec-25 14:36:50.883 - DOFLinx device:1 PSPico setup with 115 outputs
25-Dec-25 14:36:50.885 - DOFLinx device: 2 Initializing as PSPico #2 with name=Penguin Arcade LEDs
25-Dec-25 14:36:50.889 - DOFLinx device:2 PSPico setup with 40 outputs
 
Two boards with 155 outputs total and 40 inputs running with both Windows and Linux.

DOFLinx
Contributions for equipment to help with ongoing DOFLinx development can be made here

#173 MartCS

MartCS

    Neophyte

  • Members
  • Pip
  • 4 posts

  • Flag: Netherlands

  • Favorite Pinball: Back to the future

Posted 15 February 2026 - 05:29 PM

Next up is the plunger, I already set the Position Axis to OpenPinDev, but I need to move over the plunger from my tabletop cabinet first  :lol:

 

Well, it has been a long time, but I finally got time to work on my new cabinet and added the plunger. 

 

However, I am running into this problem where the ball sometimes does not launch as expected; it launches too slow. This happens on multiple tables and only some of the times... When I look at the plunger on-screen, it moves with the plunger when pulling it in all cases.

 

  • I used https://raw.githubus...ain/config.json as my config.
  • I setup VPX to use OpenPinDev for the position axis of the plunger and needed to check "Reverse" to make the plunger work (which seems odd?)
  • I calibrated the plunger, which resulted in these values:
    • Cal max: RAW = 42012, Z = 32767 (when the plunger is pulled out entirely)
    • Cal rest: RAW = 15138, Z = 0
    • Cal min: RAW = 8652, Z = -8000 (+/-) (when the plunger is pushed in)

My questions: Why did I need to check "Reverse"? Do the calibration values point to something wrongly connected or misconfigured? Might this explain the "misfires" I am experiencing?

 

Any help is appreciated!


Edited by MartCS, 15 February 2026 - 05:30 PM.


#174 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 15 February 2026 - 08:20 PM

> Why did I need to check "Reverse"?

 

I'm not sure, but I wouldn't get too hung up on that.  The arithmetic is just a convention, and the point of the "Reverse" box is to give you a way to match up the conventions when the device and VP disagree on the plus/minus direction.

 

VP handles the physics of the plunger interaction.  It has some parameters for adjusting the strength of the simulated plunger - there are global settings in the Keys options box, and there are also some parameters that you can change PER TABLE, in properties boxes for the Plunger objects.  If you're having trouble with specific tables being too weak, you probably have to adjust the physics parameters in the Plunger boxes for those individual tables, using the VP table editor.



#175 JLPicard001

JLPicard001

    Enthusiast

  • Members
  • PipPipPip
  • 270 posts
  • Location:Earth

  • Flag: United States of America

  • Favorite Pinball: Attack from Mars, Theatre of Magic

Posted 30 March 2026 - 10:27 PM

Is this the correct Accelerometer from Adafruit:  https://www.adafruit.com/product/2019 ? It IS the MMA8451, but with no 'Q' designator.



#176 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 435 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: I love them all

Posted 30 March 2026 - 10:55 PM

Is this the correct Accelerometer from Adafruit:  https://www.adafruit.com/product/2019 ? It IS the MMA8451, but with no 'Q' designator.

The MMA8451 is EOL.  The lower performing MMA8452 is still around in quantities, but it recently too, became EOL.  NXP appears to be getting out of the accelerometer business.  I don't know anything about the Q designation.


Edited by rickh, 30 March 2026 - 10:59 PM.

Rickey

Intense Arcade

http://www.intensearcade.com

 


#177 Suikazz

Suikazz

    Enthusiast

  • Members
  • PipPipPip
  • 133 posts

  • Flag: Hungary

  • Favorite Pinball: GoT

Posted 31 March 2026 - 06:49 AM

Is this the correct Accelerometer from Adafruit:  https://www.adafruit.com/product/2019 ? It IS the MMA8451, but with no 'Q' designator.

 

Yes, this is a module you can safely buy.


Edited by Suikazz, 31 March 2026 - 06:49 AM.


#178 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 435 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: I love them all

Posted 31 March 2026 - 11:05 AM

 

Is this the correct Accelerometer from Adafruit:  https://www.adafruit.com/product/2019 ? It IS the MMA8451, but with no 'Q' designator.

 

Yes, this is a module you can safely buy.

 

Thanks, I got lost in the weeds!


Rickey

Intense Arcade

http://www.intensearcade.com

 


#179 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,332 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 01 April 2026 - 02:05 AM

 I don't know anything about the Q designation.

 

My guess is that the Q is for the QFN packaging, and as far as I can tell from the NXP data sheets currently online, there's no such thing as an MMA8451 that's NOT a -Q, and no MMA8451 in any kind of packaging other than QFN.  There are lots of sites that use the term "MMA8451" without the -Q, but they all look like they're all actually talking about the -Q.  So I think you can consider the two terms to be interchangeable.



#180 DeKay

DeKay

    Hobbyist

  • Members
  • PipPip
  • 12 posts
  • Location:Canada

  • Flag: ---------

  • Favorite Pinball: Addam's Family

Posted 09 April 2026 - 02:14 AM

Hi folks. After filing an issue on Github with challenges getting my analog plunger to work properly on a Pinscape Pico with an ADS1115 ADC, it's become clear that the right way to do this is via openpindev instead of the gamepad interface. I'm on Linux running the latest master branch of 10.8.1 and VPX doesn't seem to give me the choice to select an openpindev device in the LiveUI.

 

I have set up a udev rule so that the hid interfaces are read / write for the world no problem.

 

[dk@vpin ~]$ ls -l /dev/hidraw*
crw-rw-rw- 1 root root 243, 0 Apr  8 19:28 /dev/hidraw0
crw-rw-rw- 1 root root 243, 1 Apr  8 19:28 /dev/hidraw1
crw-rw-rw- 1 root root 243, 2 Apr  8 19:28 /dev/hidraw2
crw-rw-rw- 1 root root 243, 3 Apr  8 19:28 /dev/hidraw3
crw-rw-rw- 1 root root 243, 4 Apr  8 19:28 /dev/hidraw4
crw-rw-rw- 1 root root 243, 6 Apr  8 19:28 /dev/hidraw6
crw-rw-rw- 1 root root 243, 7 Apr  8 19:28 /dev/hidraw7
crw-rw-rw- 1 root root 243, 8 Apr  8 19:28 /dev/hidraw8

 

I wanted to make sure that I wasn't confusing gamepad interfaces with openpindev interfaces so I turned those off in the json config and made sure the openpindev device was enabled.

 

    gamepad: {
        //enable: true,       // enable the gamepad emulation
        enable: false,       // enable the gamepad emulation
        //x: "nudge.x",       // connect the accelerometer X axis to the joystick X axis
        //y: "nudge.y",       // ditto for the Y axis
        //z: "plunger.z0",     // connect the plunger position reading to the joystick Z axis

    },

 

<snip>

 

    openPinballDevice: {
        enable: true,
    },


The openpindev device is seen by VPX. From the vpinball.log file

 

2026-04-08 19:41:39.809 INFO  [2322] [OpenPinDevHandler::OpenPinDevHandler@236] OpenPinDev input handler registered
 

Great. But when I hit F12 to enter the new LiveUI in 10.8.1 and navigate to either the plunger or nudge, VPX simply reports "No hardware sensor connected". Why? From the "Open Pinball Device User Guide" in the VPinball docs, it says "For the "axis" inputs - plunger and nudge - you connect an axis to an Open Pinball Device by selecting **OpenPinDev** in the drop-down list for the axis..."

I get the feeling I'm missing something here but I can't figure out what. I don't mind manually entering the vpinballx.ini file but I have no idea what the entry should look like.

 

**EDIT** A bit more info

 

I used all the usb vendor defaults recommended by mjr in his docs.

 

That one line mentioning openpindev in the vpinball log is the one and only line reporting openpindev details.

 

Output from hidapitester:

[dk@vpin hidapitester]$ ./hidapitester --vidpid FAFA:EAEB --list-detail
<snipping three previous entriles for usagePage / usage 1,6   c,1   6,0>

FAFA/EAEB: Pinscape Labs - PinscapePico
 vendorId:      0xFAFA
 productId:     0xEAEB
 usagePage:     0x0005
 usage:         0x0002
 serial_number: 50443405586DAF1C.09.01  
 interface:     5  
 path: /dev/hidraw6

 

Output from cyme, an lsusb replacement

[dk@vpin hidapitester]$ cyme -d fafa:eaeb -vvv
  1   4  0xfafa 0xeaeb PinscapePico 50443405586DAF1C.09.01 usb     12.0 Mb/s


 


Edited by DeKay, 09 April 2026 - 03:44 AM.