Jump to content



Photo
* * * * * 7 votes

Pinscape expansion board support thread


  • Please log in to reply
1103 replies to this topic

#821 nevess

nevess

    Hobbyist

  • Members
  • PipPip
  • 49 posts

  • Flag: Portugal

  • Favorite Pinball: Indiana Jones

Posted 17 January 2020 - 10:35 PM

Correct - there should be no connection between the output pin and the JP1 ground pin.  So *that* must be the short circuit we've been looking for.  

 

Just to be sure we're on the same page here, this is the test:

 

* Remove Q4D entirely (nothing is in this slot in the circuit board now)

* Disconnect the output device from JP5 pin 16 (nothing is connected to this pin now)

* Disconnect all power plugs (JP1 and JP4)

* Using multimeter, measure continuity between JP5 pin 16 and JP1 ground pin -> CONTINUITY/zero ohms

 

Is that right?

If so, then you have a short somewhere between the output 16 pin and the JP1 ground pin.


One thing I'll add is that the JP1 ground pin is connected to the "signal ground plane", which is a big contiguous copper area that covers most of the unoccupied area of the board on the bottom side.  So check carefully around the JP5 pin 16 pad on the bottom.  Look for any sign that the solder on the pad is bridged to the "background" copper area surrounding the pin pad.  It's even possible that the board has a manufacturing defect that left a small connection in the copper itself. 

 

If you do confirm the continuity test as described above, so you're pretty sure that there really is an unwanted short circuit here, you might try taking an X-Acto knife and carefully carving out a ring around the JP5-16 pin pad area on the bottom side of the board to try to cut it off from the surrounding copper.  Whether it's some leaked solder or some remnant copper from the manufacturing process, that might break the short and get it working properly.


(The trace you do want to leave intact from pin 16 to Q4D is on the top of the board, so it should be pretty safe to carve out a ring on the bottom side to try to isolate the pad from the ground plane.)

 

I have done the test that you mention and there is continuity.

I have done some carving around the jp5-16 pin and there is still continuity. https://photos.app.goo.gl/GyyePPjEfcEqdKza8

I dont know if I havent carved deep enough or the problem lies in another place.



#822 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 17 January 2020 - 10:57 PM

I have done the test that you mention and there is continuity.

 

Great - I think we have the explanation, then.

 

 

I have done some carving around the jp5-16 pin and there is still continuity. https://photos.app.goo.gl/GyyePPjEfcEqdKza8

I dont know if I havent carved deep enough or the problem lies in another place.

 

You'll want to try to remove the copper DIRECTLY adjacent to the solder pad.  I mean right up against it - within 0.0000000000 millimeters of the solder pad area.  There's only a very small gap between the pads and the ground plane copper.  The area you etched is actually pretty far outside of that little gap on the top and right (oriented according to the photo), so that's outside of the gap area and won't help with breaking any bad connection.  The area you want to focus on is the little gap right around the pad.

 

It's awfully hard to tell from just looking at it visually, but looking at your photo, it kind of looks to me like the solder around the output pin might have spread a little beyond the pin pad area.  So the problem might be the solder itself.  If you have a tool to remove solder (such as solder wick or solder sucker), you might try removing all of the solder from the pin, or as much as you can get off, and testing the continuity again.   

 

The "solder mask" layer on the board normally prevents this kind of solder spread, and keeps the solder isolated to the pin pads, but maybe there was a manufacturing defect, or maybe you heated the board a little too long during soldering and removed some of the mask layer.  In the photo, do you see those tiny, sort of bubble-like beads around the perimeter of the solder pad?  That's the over-spreading area I'm seeing.

 

If that STILL doesn't fix it, you might want to repeat the exercise with the Q4D drain pin.  That's the center pin on Q4D.  The photo makes it look like the solder has spread out a bi there as well, so the short might be there rather than on the output pin (or maybe it's in both places). 



#823 nevess

nevess

    Hobbyist

  • Members
  • PipPip
  • 49 posts

  • Flag: Portugal

  • Favorite Pinball: Indiana Jones

Posted 18 January 2020 - 09:51 AM

 

You'll want to try to remove the copper DIRECTLY adjacent to the solder pad.  I mean right up against it - within 0.0000000000 millimeters of the solder pad area.  There's only a very small gap between the pads and the ground plane copper.  The area you etched is actually pretty far outside of that little gap on the top and right (oriented according to the photo), so that's outside of the gap area and won't help with breaking any bad connection.  The area you want to focus on is the little gap right around the pad.

 

It's awfully hard to tell from just looking at it visually, but looking at your photo, it kind of looks to me like the solder around the output pin might have spread a little beyond the pin pad area.  So the problem might be the solder itself.  If you have a tool to remove solder (such as solder wick or solder sucker), you might try removing all of the solder from the pin, or as much as you can get off, and testing the continuity again.   

 

The "solder mask" layer on the board normally prevents this kind of solder spread, and keeps the solder isolated to the pin pads, but maybe there was a manufacturing defect, or maybe you heated the board a little too long during soldering and removed some of the mask layer.  In the photo, do you see those tiny, sort of bubble-like beads around the perimeter of the solder pad?  That's the over-spreading area I'm seeing.

 

If that STILL doesn't fix it, you might want to repeat the exercise with the Q4D drain pin.  That's the center pin on Q4D.  The photo makes it look like the solder has spread out a bi there as well, so the short might be there rather than on the output pin (or maybe it's in both places). 

I have removed the solder from the pads and try to remove the cooper around the pad. I still get continuity. 

I think I will not go further with the risk of damaging the board. I have 31 ports working and that is ok to me. My only fear is if the symptom in the pin of JP5 could lead to some malfunction in the board, even if I don't use it. I would say no has long I have removed the Q4D. Is this correct?



#824 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 18 January 2020 - 06:53 PM

I have removed the solder from the pads and try to remove the cooper around the pad. I still get continuity. 

I think I will not go further with the risk of damaging the board. I have 31 ports working and that is ok to me. My only fear is if the symptom in the pin of JP5 could lead to some malfunction in the board, even if I don't use it. I would say no has long I have removed the Q4D. Is this correct?

 

That seems like a good plan.  I don't think it'll cause any harm to anything else to use it like that, with the JP5-16 output disconnected and Q4D removed. 

Out of curiosity, where did you get the boards?  My best guess is that this is a defect in the board.  It's probably an anomaly that won't affect anything else - a little spur of copper that didn't get properly etched during the manufacturing process, or something like that.



#825 nevess

nevess

    Hobbyist

  • Members
  • PipPip
  • 49 posts

  • Flag: Portugal

  • Favorite Pinball: Indiana Jones

Posted 19 January 2020 - 11:57 AM

That seems like a good plan.  I don't think it'll cause any harm to anything else to use it like that, with the JP5-16 output disconnected and Q4D removed. 

Out of curiosity, where did you get the boards?  My best guess is that this is a defect in the board.  It's probably an anomaly that won't affect anything else - a little spur of copper that didn't get properly etched during the manufacturing process, or something like that.

I got the boards from https://jlcpcb.com/. This is the only problem I have found in the boards (not that I am very knowledgeable about PCBs). I have more boards from the same batch (minimal is 5), not yet assembled, and they don't show the same behavior in the continuity test. Also, I have assembled the 3 expansion boards and everything is working properly (according to my initial tests http://mjrnet.org/pi...x&sid=expanTest) apart from JP6-16 output in the power board.

 

I'm still far away from having a fully built pincab, but for know I have the pinscape expansion boards assembled by me a fully working. This was my first endeavor in assembly a soldering PCB boards and It could not be possible without your support in this forum and your excellent guide. I want to thank you for all the help you provided, it was priceless. 

 

FYI: I probably will have more questions in the future...  :dblthumb:



#826 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 02 February 2020 - 06:28 AM

Just setting up my Pinscape for my stand-up arcade machine and have run into a small issue.

 

I've got enough buttons and outputs that I'm pretty much using all inputs / outputs and have 3 x TLC5940 on a custom output board.

 

The problem I've struck today is that input PTE23 (J10-7) is mapped as an input that is a physical button. The button assigned to this input is constantly on.  If I remove all the cabling so that its just the header pins, then its still on.  I've reprogrammed the KL25Z, powered it off / on, it just keeps coming back as on.  All other inputs are working fine.

 

Testing with the DVM shows that J10-7 is at 0v (which is a key pressed) but all other inputs are at about 3V3.  So the pin is low and reporting as pressed, but why is the pin low?  With it all disconnected there is no short of J10-7 to ground, so no soldering issue measured or visualised.

 

Happy for any suggestions.


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

#827 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 02 February 2020 - 07:09 AM

You may have broken the input circuitry inside the Kl25Z microcontroller. Not much you can do except use a different input and ignore that one.


MikePinball (dba Oak Micros).

 


#828 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 02 February 2020 - 07:34 AM

You may have broken the input circuitry inside the Kl25Z microcontroller. Not much you can do except use a different input and ignore that one.

 

Thanks - That's where I was getting to logically as well, not sure how, maybe faulty to start?  I have also since tried J10-7 (PTE23) on another KL25Z (not reprogrammed as per the arcade setup ... yet) and you can definitely assign a digital input to PTE23, so it does seem to just be the one KL25Z being broken, confused, or a programming combination. 

 

Anyway, I don't have any spare inputs - I think.  I have J10-12, listed on my KL25Z cheat sheet card as PTC1, but the Pinscape Setup tool has it as CLKIN and will not let me assign it as a digit input.  Not sure which is right here, the KL25Z card or the Pinscape Setup program?  Other than that its a new KL25Z for me.

 

I may have to grab one of my other KL25Z boards and try it in the arcade machine to conclusively prove the input broken / not broken.  I would like to know about J10-12 (PTC1) though.


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

#829 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 02 February 2020 - 06:07 PM

I have J10-12, listed on my KL25Z cheat sheet card as PTC1, but the Pinscape Setup tool has it as CLKIN and will not let me assign it as a digit input.  Not sure which is right here, the KL25Z card or the Pinscape Setup program?

 

They're both right.  If you check the pinout in the Build Guide, you'll see what's going on.  That port is indeed wired to PTC1, but it's also wired internally on the KL25Z to the clock signal from the OpenSDA controller (the flash programmer interface that lets you download new firmware via the second USB plug).  That's why it always reads as low when you look at it with a voltmeter, and why you can't use it as an input.  At a hardware level, you can disconnect the hard-wiring between the pin and the clock signal by removing one of the little SMD resistors, but that would break the Pinscape software, because the mbed platform (the embedded mini-OS) actually depends on the clock signal coming in on PTC1 for its real-time clock, which it uses for time-based processes.  So the bottom line is that PTC1 is a non-usable pin.



#830 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 02 February 2020 - 07:18 PM

Anyway, I don't have any spare inputs - I think.  I have J10-12, listed on my KL25Z cheat sheet card as PTC1, but the Pinscape Setup tool has it as CLKIN and will not let me assign it as a digit input.  Not sure which is right here, the KL25Z card or the Pinscape Setup program?  Other than that its a new KL25Z for me.

So assuming you have already grabbed PTE20 and PTE21, there is one more input you could use - PTD1.

 

Currently it is used to drive the blue part of the on-board RGB LED. But you could use it by desoldering one of the small SMD resistors. The one you need to remove is R11 (220 ohms). As it quite separate from most of the other components, what you could try is putting your iron on top of the resistor and then flicking it off towards the touch sensor or J22. Don't bother if you aren't confident with an iron. BTW This is not a recognized SMD technique but will do in a pinch. The better method is to use a hot air soldering station which I have but most people do not.

 

kl25z_r11.jpg

 

Edit: Added note about SMD soldering station.


Edited by MikePinball, 03 February 2020 - 04:27 AM.

MikePinball (dba Oak Micros).

 


#831 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 03 February 2020 - 12:03 AM

 

Anyway, I don't have any spare inputs - I think.  I have J10-12, listed on my KL25Z cheat sheet card as PTC1, but the Pinscape Setup tool has it as CLKIN and will not let me assign it as a digit input.  Not sure which is right here, the KL25Z card or the Pinscape Setup program?  Other than that its a new KL25Z for me.

So assuming you have already grabbed PTE20 and PTE21, there is one more input you could use - PTD1.

 

Currently it is used to drive the blue part of the on-board RGB LED. But you could use it by desoldering one of the small SMD resistors. The one you need to remove is R11 (220 ohms). As it quite separate from most of the other components, what you could try is putting your iron on top of the resistor and then flicking it off towards the touch sensor or J22. Don't bother if you aren't confident with an iron.

 

 

 

 

Thanks, good thought.  Wouldn't I also need to disable the logic somewhere so that the pin is not being driven as an output?

 

 

 

I have J10-12, listed on my KL25Z cheat sheet card as PTC1, but the Pinscape Setup tool has it as CLKIN and will not let me assign it as a digit input.  Not sure which is right here, the KL25Z card or the Pinscape Setup program?

 

They're both right.  If you check the pinout in the Build Guide, you'll see what's going on.  That port is indeed wired to PTC1, but it's also wired internally on the KL25Z to the clock signal from the OpenSDA controller (the flash programmer interface that lets you download new firmware via the second USB plug).  That's why it always reads as low when you look at it with a voltmeter, and why you can't use it as an input.  At a hardware level, you can disconnect the hard-wiring between the pin and the clock signal by removing one of the little SMD resistors, but that would break the Pinscape software, because the mbed platform (the embedded mini-OS) actually depends on the clock signal coming in on PTC1 for its real-time clock, which it uses for time-based processes.  So the bottom line is that PTC1 is a non-usable pin.

 

Thanks mjr - makes perfect sense as to why its not available.


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

#832 MikePinball

MikePinball

    Oak Micros Pinball Products

  • Platinum Supporter
  • 416 posts

  • Flag: United States of America

  • Favorite Pinball: Space Invaders

Posted 03 February 2020 - 01:40 AM

So assuming you have already grabbed PTE20 and PTE21, there is one more input you could use - PTD1.

 

Currently it is used to drive the blue part of the on-board RGB LED. But you could use it by desoldering one of the small SMD resistors. The one you need to remove is R11 (220 ohms). As it quite separate from most of the other components, what you could try is putting your iron on top of the resistor and then flicking it off towards the touch sensor or J22. Don't bother if you aren't confident with an iron.

 

Thanks, good thought.  Wouldn't I also need to disable the logic somewhere so that the pin is not being driven as an output?

 

When you configure Pinscape to use PTD1 as an input, then it stops using it as a LED blue output. Some of the color status combinations change so that the blue LED is not used. Here is list of default status indications.

 

I didn't try them all but here are the changes:

  • Flashing blue/green (normal) becomes flashing green
  • Flashing blue (calibration mode) becomes flashing red
  • Solid blue (calibration in progress) becomes solid red

MikePinball (dba Oak Micros).

 


#833 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 03 February 2020 - 08:40 AM

Thanks @MikePinball, did the resistor mod and a quick re-cable when I got home tonight - working like a charm  :love39:


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

#834 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 03 February 2020 - 10:06 PM

 

Anyway, I don't have any spare inputs - I think. 

 

So assuming you have already grabbed PTE20 and PTE21, there is one more input you could use - PTD1.

 

Currently it is used to drive the blue part of the on-board RGB LED. But you could use it by desoldering one of the small SMD resistors. [...]

 

Just a note to people coming across this in the future - you actually can use PTD1 as a button input *without* even bothering to remove that resistor.   All you have to do is assign PTD1 as a button input in the Config Tool, wire a button to PTD1 just like you'd wire any other button, and you're set.  

 

The one wacky feature is that the blue LED will turn on whenever you press the button.

 

Freescale cleverly wired the blue LED segment so that it'll just look like an additional pull-up resistor if you use PTD1 as a digital input. Digital input ports already have internal pull-ups, so the additional connection to the LED won't affect the way PTD1 works as an input port, other than the side effect of turning on the LED whenever you ground the pin by pressing the attached button.

 

But removing R11 won't do any harm, either, assuming you don't mind permanently disabling the blue LED segment.  And it'll get rid of the side effect of the LED following the button.

 

If you want to use PTD1 for any other use apart from an output port or button input, then you probably do need to remove R11.  For example, I'd do that if you want to use it as a plunger sensor input pin or a TLC5940 control pin or anything like that.  The LED wiring might interfere electrically with those sorts of uses.  (I expect it would confound any attempt to use the pin as an analog input, at the very least, and the extra load might screw up high-speed signal I/O like the TLC5940 uses.)


Edited by mjr, 03 February 2020 - 10:10 PM.


#835 Gizmooo

Gizmooo

    Hobbyist

  • Members
  • PipPip
  • 10 posts

  • Flag: Germany

  • Favorite Pinball: Funhouse

Posted 06 February 2020 - 06:08 PM

The one wacky feature is that the blue LED will turn on whenever you press the button.

 

 

I have a useful idea for that. When I was testing screens I thought it would be interesting to measure the total input lag (time from button press to flipper reaction on screen). To do that one could simply connect the flipper button to PTD1 and then record screen and Pinscape with a camera. Then count the video frames between blue light and screen reaction. 


Edited by Gizmooo, 06 February 2020 - 06:10 PM.


#836 DDH69

DDH69

    Pinball Wizard

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

  • Flag: Australia

  • Favorite Pinball: Monster Bash

Posted 06 February 2020 - 09:10 PM

 

The one wacky feature is that the blue LED will turn on whenever you press the button.

 

 

I have a useful idea for that. When I was testing screens I thought it would be interesting to measure the total input lag (time from button press to flipper reaction on screen). To do that one could simply connect the flipper button to PTD1 and then record screen and Pinscape with a camera. Then count the video frames between blue light and screen reaction. 

 

 

You could.  I've done a little bit of delay timing myself, you might find this interesting.


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

#837 nevess

nevess

    Hobbyist

  • Members
  • PipPip
  • 49 posts

  • Flag: Portugal

  • Favorite Pinball: Indiana Jones

Posted 11 April 2020 - 12:37 AM

By the way, that 4-pin connector "JP12" is the "Expansion" connector.  The name is a little redundant - it's an expansion connector for the expansion board.  It doesn't have any specific purpose right now; it's there for future use.  It simply gives you direct connections to four extra GPIO ports that aren't used for anything else with the expansion boards.  You can use them for button inputs if you needed a few more buttons, for example (the setup program even knows about the header and lets you map button wires there).  The real motivation behind the extra connector was to allow for a data channel to additional peripherals, in case anyone thinks up clever add-ons in the future.

 

Hi mjr, how can I use this connector (JP12) has button inputs? 



#838 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,331 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 11 April 2020 - 01:15 AM

Hi mjr, how can I use this connector (JP12) has button inputs? 

 

You just wire them the same way as the other buttons - connect one terminal of button/switch to Ground, and connect the other terminal to one of the JP12 pins.

 

To set up in the config tool: 

 

- Go to Settings

- Scroll down to the button list

- In the last empty button slot, click on the "Not connected" box

- This should bring up the pin selector - on the board diagram, you should see green circles corresponding to the JP12 pins; just click the one you're talking about

- Or, you can find the pins in the list on the left under the "Extender" section

- Now assign the keyboard key or joystick button to the row as normal

- The tool will also add a new blank row at the end, so repeat for the other three pins as needed



#839 nevess

nevess

    Hobbyist

  • Members
  • PipPip
  • 49 posts

  • Flag: Portugal

  • Favorite Pinball: Indiana Jones

Posted 11 April 2020 - 09:53 AM

 

Hi mjr, how can I use this connector (JP12) has button inputs? 

 

You just wire them the same way as the other buttons - connect one terminal of button/switch to Ground, and connect the other terminal to one of the JP12 pins.

 

To set up in the config tool: 

 

- Go to Settings

- Scroll down to the button list

- In the last empty button slot, click on the "Not connected" box

- This should bring up the pin selector - on the board diagram, you should see green circles corresponding to the JP12 pins; just click the one you're talking about

- Or, you can find the pins in the list on the left under the "Extender" section

- Now assign the keyboard key or joystick button to the row as normal

- The tool will also add a new blank row at the end, so repeat for the other three pins as needed

Thanks



#840 MydknyteStyrm

MydknyteStyrm

    Hobbyist

  • Members
  • PipPip
  • 27 posts

  • Flag: United States of America

  • Favorite Pinball: Tales From The Crypt

Posted 18 June 2020 - 05:05 AM

Hello,

I am having a strange issue. I just hooked up my Pinscape AIO and wanted to test it out with the first contactor, the left flipper. Coming from a Sainsmart/LEDWIZ setup, everything was working fine and all I had to do was move the ground wires from the contactor to the Pinscape board.

Heres what I did.

Contactor works on 24v.
I tied the 24v ground and the 12v ground together and split them into the 12v Ground port.
I ran a 12v positive from the PSU to the 12v port to power the board
I ran 5v positives to both the Logic 5v and Power 5v
I ran 5v grounds to the same Logic and Power Ground ports.

The contactor is powered via 24v positive
Voltimeter checks out all lines are connected and power supplied.

On the Config tool, I choose Port 32 for the flipper, and when I click On, nothing happens.

Im confused as to what I did wrong. Any help?