Jump to content



Photo
- - - - -

Preview release: Pinscape Pico


  • Please log in to reply
150 replies to this topic

#141 MartCS

MartCS

    Neophyte

  • Members
  • Pip
  • 3 posts

  • Flag: Netherlands

  • Favorite Pinball: Back to the future

Posted 19 September 2025 - 03:59 PM

I created a custom PCB as an update to my "Basic Pinscape Pico" project, naming the resulting controller the "Pinscape Pico Lite".

 

I also documented this project at https://github.com/m...scape-pico-lite

 

The first PCBs have arrived, and I just built the first controller for the cabinet I am working on. Initial tests with the config tool look good, both the accelerometer and plunger are working. This first build revealed a small fix needed in the PCB design, which I have already updated in the documentation.

 

Thank you, mjr, for the tips you gave me; I use one I2C bus now which results in 2 extra available inputs. I also added a voltage divider with a double-ended input for the ADS1115 based on your thorough documentation.



#142 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 356 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: pinbot

Posted 22 September 2025 - 02:09 PM

I created a custom PCB as an update to my "Basic Pinscape Pico" project, naming the resulting controller the "Pinscape Pico Lite".

 

I also documented this project at https://github.com/m...scape-pico-lite

 

The first PCBs have arrived, and I just built the first controller for the cabinet I am working on. Initial tests with the config tool look good, both the accelerometer and plunger are working. This first build revealed a small fix needed in the PCB design, which I have already updated in the documentation.

 

Thank you, mjr, for the tips you gave me; I use one I2C bus now which results in 2 extra available inputs. I also added a voltage divider with a double-ended input for the ADS1115 based on your thorough documentation.

MartCS,

If you could provide an additional 6mm distance between the MMA8451 and the ADS115, it would allow you to use the generic LIS3DSH module (higher performance than the MMA8451) as an option.  Both modules appear to be pin to pin compatible, but the generic LIS3DSH module has a couple of extra pins (labeled ADC).  

 

My bad!  I realized that the MMA8451 has a built in 3.3V regulator and an output pin, hence not pin to pin compatible.  

 

Sorry,

 

Rick 


Edited by rickh, 23 September 2025 - 01:16 AM.


#143 Suikazz

Suikazz

    Enthusiast

  • Members
  • PipPipPip
  • 115 posts

  • Flag: Hungary

  • Favorite Pinball: GoT

Posted 22 September 2025 - 02:57 PM

MartCS,

If you could provide an additional 6mm distance between the MMA8451 and the ADS115, it would allow you to use the generic LIS3DSH module (higher performance than the MMA8451) as an option.  Both modules appear to be pin to pin compatible, but the generic LIS3DSH module has a couple of extra pins (labeled ADC).  

 

Rick 

 

 

Which one exactly? the adafruit ada2809 module has the I2 on the other side of the board ;)



#144 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 356 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: pinbot

Posted 22 September 2025 - 04:07 PM

 

MartCS,

If you could provide an additional 6mm distance between the MMA8451 and the ADS115, it would allow you to use the generic LIS3DSH module (higher performance than the MMA8451) as an option.  Both modules appear to be pin to pin compatible, but the generic LIS3DSH module has a couple of extra pins (labeled ADC).  

 

Rick 

 

 

Which one exactly? the adafruit ada2809 module has the I2 on the other side of the board ;)

 

https://www.aliexpre..._p_origin_prod:

 

There is a substantial difference between the LIS3DH and the improved LIS3DSH.  The LIS3DH module might be able to work, but it appears the Int1 and int2 are swapped.  BTW- I suspect the ADC pins mentioned are for changing the device I2C address. Update- You can purchase these modules for ~$2.00 USD each.  I have also discovered that Aliexpress sells a variant of the ADS1115 modules for under $2 USD, but the pinout is not compatible with the Adafruit version.


Edited by rickh, 22 September 2025 - 05:05 PM.


#145 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,260 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 22 September 2025 - 08:26 PM

Rick - if you haven’t already looked at physical instances of the LIS3DSH boards on AliExpress, you might want to check to make sure they’re really selling LIS3DSH.  The -SH has been out of production for a long time, and all of the Amazon sellers that are claiming to sell them seem to really be selling the newer (and lower performance) LIS3DH.  The chips are roughly pin-compatible (although the breakout boards need not be, obviously), so it’s hard to be sure which you have from just looking at the board - the board might have “LIS3DSH” silkscreened on it but really have a LIS3DH installed.  You can’t really be sure until you interrogate its WHO_AM_I register via I2C.  The Pinscape software will do that during startup and report what it finds in the log, so that’s an easy way to check.

 

I bought one of those claimed -SH boards on Amazon a few months back and got not only an -H, but a defective -H at that. It would start up and generate erratic readings for a minute or two and then just stop responding to I2C.  I’d guess it was either a counterfeit or from a factory batch that failed QA testing and got thrown in the trash, and someone decided it would be clever to “recycle” them instead by selling them to Amazon customers.  Adafruit only has the -H boards, but at least they’re legit.


Edited by mjr, 22 September 2025 - 08:31 PM.


#146 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 356 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: pinbot

Posted 23 September 2025 - 12:49 AM

MJR,

 

Thanks for the correction. I now recall we had this conversation back in February.   The markings on these tiny chips are almost illegible.  On these LIS3DSH module there are four digits on top row 2141, 2nd row C3H, 3rd row QD0CV.  On the real LIS3DH Adafruit module the top row 8117, 2nd row C3H, 3rd row 0QXMB.  Now here is the real kicker, both of these chips are EOL.  The LIS3DH is now called the LIS3DHTR and the difference appears to be the packaging options.  I forgot all about this until I pulled up my old schematic and board layout.  So I will need to look at the 0F register (WHOAMI) to see what are these modules really are, but I bet the are all LIS3DHTR.

Anyway, the LIS3DH is roughly on par with MMA4512 (the later having better resolution), and having provisions for both modules on a PCB would only make it better. 

 

 

 

Rick



#147 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,260 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 23 September 2025 - 02:00 AM

The current EAGLE plans on github have an additional slot for MMA8451Q, which is definitely a much nicer chip than LIS3DH - the specs for noise are much better, and the difference is pretty noticeable just watching it in the nudge viewer.  But LIS3DH works; it’s just a lot noisier.  It’s nice that Adafruit still has MMA8451Q boards available, since that part being long out of production is why the new KL25Z boards are shipped sans accelerometer.

 

As far as I can tell, LIS3DHTR is just an ordering code variation for LIS3DH (I believe the TR suffix is for “Tape & Reel”), and is the identical chip that they ship in different packaging from the base LIS3DH.


Edited by mjr, 23 September 2025 - 02:01 AM.


#148 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 356 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: pinbot

Posted 23 September 2025 - 11:15 AM

MJR,

 

Thank you for your detailed tutorial.  I have never played with a MMA8451, I only compared the specs of each and read a few comments I found on a couple sites comparing the two.  I did read that the MMA8451 has superior noise filtering, but it is not switchable.  The LIS3DH has switchable filtering, but is not as effective as the MMA8451.  Honestly, this is way beyond my pay grade, but please correct me if I am wrong.  BTW- after looking at the pinout of the MMA8451 module in detail, I determined that LIS3DH generic module is not pin to pin compatible, but I will make accommodations for both modules on my board.

 

Thanks again,

 

Rick



#149 mjr

mjr

    Pinball Wizard

  • Members
  • PipPipPipPipPip
  • 3,260 posts

  • Flag: United States of America

  • Favorite Pinball: Medieval Madness

Posted 23 September 2025 - 05:45 PM

I have never played with a MMA8451, I only compared the specs of each and read a few comments I found on a couple sites comparing the two.  I did read that the MMA8451 has superior noise filtering, but it is not switchable.  The LIS3DH has switchable filtering, but is not as effective as the MMA8451.

 

I'm not sure where you're finding that, but it's not really consistent with what's in the datasheets.  I think the noise differences are a little more fundamental - if you could get the same performance out of the two devices by applying filtering, you could just apply more filtering to the LIS3DH data on the MCU side and call it even, but you can't do that because filtering comes with an inherent reduction in resolution and signal fidelity. I'm pretty convinced based on observed performance that the noise differences are either inherent in the engineering of the physical MEMS sensor and/or ADC embedded in the chips, or they're coming from a higher internal oversampling rate on the MMA8451.  I suspect it's the latter, because they actually document the OS rate on the MMA8451Q. That fits with the generally higher noise levels of the newer-generation devices, since oversampling costs power, and if you look at any newer device's data sheet, they ALWAYS lead with "Ultra Low Power" in the bullet list of virtues - that seems to be what sells these devices these days.  Cranking down the OS rate at the expense of higher noise is the right trade-off if the main thing you care about is reducing power.

 

 

BTW- after looking at the pinout of the MMA8451 module in detail, I determined that LIS3DH generic module is not pin to pin compatible, but I will make accommodations for both modules on my board.

 

Yeah, there's unfortunately no standard layout for these breakout boards.  Every one has its own peculiar pin layout.  Makes it hard to provide a generic plug-in slot for different chips on a main board.  Adafruit has adopted a fairly uniform pin layout that they use with nearly all of their STEMMA boards, so a main board with a slot for the Adafruit LIS3DH module will likely be compatible with future Adafruit accelerometer breakouts.  But that doesn't work with their own MMA8451Q board, because that pre-dates the uniform STEMMA layout and has its own unique footprint.  For the DIY board, I just added two headers side-by-side, one for the STEMMA layout and one for the Adafruit MMA8451Q layout.


Edited by mjr, 23 September 2025 - 05:49 PM.


#150 MartCS

MartCS

    Neophyte

  • Members
  • Pip
  • 3 posts

  • Flag: Netherlands

  • Favorite Pinball: Back to the future

Posted 24 September 2025 - 06:02 PM

I created a custom PCB as an update to my "Basic Pinscape Pico" project, naming the resulting controller the "Pinscape Pico Lite". I also documented this project at https://github.com/m...scape-pico-lite

The first PCBs have arrived, and I just built the first controller for the cabinet I am working on. Initial tests with the config tool look good, both the accelerometer and plunger are working. 

[...]

 

Yesterday I setup the Pinscape Pico Lite in my new cabinet project. Buttons worked fine but nudging did not. I did not have enough time to look into it more but today I had another look. First of all, the joystick view was buggy. Luckily I found the menu in the Pinscape Pico Config Tool under Device > Repair JOY.CPL display which fixed this.

 

Then I didn't get the nudging to work through the joystick. Switching the X axis (L/R) and Y axis (U/D) to OpenPinDev fixed the issue. I still have to play with gain, I have to push really hard to make the ball move in play (but it works!).

 

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:

 

But so far, so good!

 

This is my first PCB design and I am not very proficient with electronics (I am a computer science nerd that does a little electronics on the side as a hobby). I'm quite proud of what I achieved so far but I'm not sure if I have the skill or the time to adjust the PCB design to other breakout boards. If someone wants to pick up on that they can use my design as a starting point, hence the BSD 3-clause license. I am also more than happy to accept Pull Requests for any non breaking changes.



#151 rickh

rickh

    Enthusiast

  • Gold Supporter
  • 356 posts
  • Location:Raleigh

  • Flag: United States of America

  • Favorite Pinball: pinbot

Posted 25 September 2025 - 02:46 PM

 

This is my first PCB design and I am not very proficient with electronics (I am a computer science nerd that does a little electronics on the side as a hobby). I'm quite proud of what I achieved so far but I'm not sure if I have the skill or the time to adjust the PCB design to other breakout boards. If someone wants to pick up on that they can use my design as a starting point, hence the BSD 3-clause license. I am also more than happy to accept Pull Requests for any non breaking changes.

The PCB looks great and since it is through hole technology it should be very forgiving.