- View New Content
-
Getting Started
-
Tutorials
Tutorial Categories
Tutorials Main Page Installation and Setup Downloadable TutorialsROM Adjustments
Number of Balls Adjustments Volume Adjustments
-
Visual Pinball Tables
VP 8 Desktop Tables
All VPM Recreations VP Recreations VP/VPM MODs VP Originals ROMsVP 9 Desktop Tables
All VPM Recreations VP Recreations VP/VPM MODs VP Originals ROMsVP9 Cabinet Tables
All Full Screen Cabinet Full Screen B2S Cabinet Spanned Cabinet Tables Media Packs ROMsVPX Tables
All VPinMAME Recreations VPX- - /VPinMAME - MOD Tables VPX Recreations VPX Originals Media Packs ROMs VR
-
Frontend Media & Backglass
Media Packs
Complete Media Packs Wheel Logos VideosBackglasses
dB2S Animated Backglasses UVP Animated Backglasses Topper Images
- Future Pinball Tables
-
Design Resources
Main Resources
Table Templates Playfield Images Image Library Sound Library Key CodesVP Guides
VP8 Guide - English VP8 Guide - Deutsch VP9 Guide - English VP9.1.x Guide - English VP Object Guide VPM DocumentationFuture Pinball Resources
Playfield Images 3D Model LibraryFuture Pinball Guides
FP Script Guide Big Draco Script Guide FP Table Design Guide FP DMD Guide
- Other Features
- Bug Tracker
- Image Gallery
- Blogs
-
More

'Little Bang' A New Open-Source Virtual Pinball Interface
Started By
rickh
, Apr 28 2024 06:21 PM
Pinscape visual pinball game controller pinball controller Little Bang
38 replies to this topic
#21
Posted 29 November 2024 - 02:55 PM
Without the lis3dh module I'm still unable to get pot readout for plunger, which is leading me to believe I'm having library issues. I used the included .zip and v2 instruction set. I am however using a pico W (pinouts the same though).
When you load the code into MU and run it does it stop at "X module missing"?
In the meantime I think I'll verify the adafruit lis3dh on its own.
When you load the code into MU and run it does it stop at "X module missing"?
In the meantime I think I'll verify the adafruit lis3dh on its own.
#23
Posted 06 December 2024 - 01:57 PM
Without the lis3dh module I'm still unable to get pot readout for plunger, which is leading me to believe I'm having library issues. I used the included .zip and v2 instruction set. I am however using a pico W (pinouts the same though).
When you load the code into MU and run it does it stop at "X module missing"?
In the meantime I think I'll verify the adafruit lis3dh on its own.
ModelM,
Sorry for the late response. What version of circuitpython (.UF2) did you use? I have been having grief with version 9.1.4. The one that I used for this project is 9.0.5.
Regards,
Rick
#24
Posted 10 December 2024 - 07:38 PM
Without the lis3dh module I'm still unable to get pot readout for plunger, which is leading me to believe I'm having library issues. I used the included .zip and v2 instruction set. I am however using a pico W (pinouts the same though).
When you load the code into MU and run it does it stop at "X module missing"?
In the meantime I think I'll verify the adafruit lis3dh on its own.ModelM,
Sorry for the late response. What version of circuitpython (.UF2) did you use? I have been having grief with version 9.1.4. The one that I used for this project is 9.0.5.
Regards,
Rick
Hey Rick, I can confirm that 9.0.5 displays 32 buttons and no XYZ axis under USB game controllers.
#25
Posted 10 December 2024 - 10:32 PM
Without the lis3dh module I'm still unable to get pot readout for plunger, which is leading me to believe I'm having library issues. I used the included .zip and v2 instruction set. I am however using a pico W (pinouts the same though).
When you load the code into MU and run it does it stop at "X module missing"?
In the meantime I think I'll verify the adafruit lis3dh on its own.ModelM,
Sorry for the late response. What version of circuitpython (.UF2) did you use? I have been having grief with version 9.1.4. The one that I used for this project is 9.0.5.
Regards,
Rick
Hey Rick, I can confirm that 9.0.5 displays 32 buttons and no XYZ axis under USB game controllers.
This is a weird situation. I have notified this issue to the circuitpython discord and I am reporting the issue to github for the circuitpython joystick XL. I only recently found this issue after a windows update for win11. My PCs in my shop both have win 10, but are not on the network and hence no updates. I'll keep everyone apprised of my progress.
#26
Posted 11 December 2024 - 05:55 PM
I got a response back from the Joystick XL library author. Long story short; he can't find anything with the code that could be causing this anomaly. Here is his response:
I tried your code on a Pico running CircuitPython 9.0.5 (to match the version in your boot_out.txt) as well as CircuitPython 9.2.1 (the latest available) on two different Windows 11 machines, and I get the X, Y and Z axes as well as the two buttons in the Windows "Set up USB game controllers" properties dialog. Have you tried connecting your controller to a different Windows PC to verify that the issue isn't specific to the Windows installation on your development machine?
One thing I did notice (although it shouldn't cause the issue you're experiencing) is that you've renamed __init__.py in the /lib/joystick_xl folder to __version__.py, which results in <module 'joystick_xl.__version__' from '/lib/joystick_xl/__version__.py'> getting written to boot_out.txt instead of the actual JoystickXL version number.
It's also worth noting that your code doesn't actually stay running on my Pico; it errors out because I don't have an accelerometer connected to the appropriate pins. (Again, this shouldn't matter - the USB descriptor reports the axes/buttons you've defined whether or not any code is actually running.) I can, however, run a JoystickXL test console from the CircuitPython REPL and confirm that all axes and buttons register correctly:
> from joystick_xl.tools import TestConsole
> TestConsole()
I offered to send him a complete board to evaluate. Perhaps he might want to build a VP cabinet. In the meantime, I will continue to look into this issue.
Regards,
Rick
#27
Posted 01 January 2025 - 03:11 PM
Cool project. I am still using a KL25Z, but I read that it introduces about 10ms of latency, meanwhile the PICO should be somewhere around 1-2ms.
If true, then that closes the KL25 chapter for me.
Having the lowest possible flipper latency is a top priority, especially as someone that also has real pins, you just notice that it ain't quite right.
I'll keep you all posted on my findings. If anyone even cares
#28
Posted 01 January 2025 - 09:06 PM
Giovanni,
I am clocking around 5ms on this project. I can go faster using a C library, but at the moment, I'm using circuitpython which is slower. I recently contacted the guy that wrote the Joystick library and he mentioned that the X/Y/Z axis are 8 bit. This was a slight disappointment, as the accelerometer axis are 10 bit and the plunger uses a 16 bit ADC.
Anyway, I have another batch of PCBs for the basic PCB. Contact me if interested.
Happy New Year!!!
Rickey
Cool project. I am still using a KL25Z, but I read that it introduces about 10ms of latency, meanwhile the PICO should be somewhere around 1-2ms.
If true, then that closes the KL25 chapter for me.
Having the lowest possible flipper latency is a top priority, especially as someone that also has real pins, you just notice that it ain't quite right.
I'll keep you all posted on my findings. If anyone even cares
#29
Posted 01 January 2025 - 09:18 PM
Happy New Year!
I wish to use this thread to introduce a new open source project I am pursuing. I have designed an enhanced pinball interface that has both inputs and outputs. I call it the Bang Plus. This board boast 11 button inputs, ball shooter, 2 axis accelerometer, and 12 high current PWM outputs. I understand that this doesn't sound like much, but it maximizes the diminutive I/O of the RP Pico and should be very inexpensive. I haven't had time to add the output coding, but it will be DOF compliant. The board itself is very compact at 157mm x 103mm. It will be open source, the schematic, PCB gerbers, and eventually the code will be added to my GitHub in a couple weeks. In the meantime, here is a image of the artwork:
Please share your thoughts on this.
Cheers!
Rickey
#31
Posted 04 January 2025 - 03:09 AM
Looks great! Is the pico through hole? Could add solder assist pads for flush mount like my Bluescsi desktop devices (bluescsi.ca)
Are you working in kicad, easy eda or eagle? Excited to see this!
Thanks for the great questions. You caught my mistake, I forgot to change the Pico footprint for through hole! The other components are mostly SMT. I am using KiCAD, it is free, very powerful and easy to use. BTW- That blueSCSI is really cool!
Rick
#32
Posted 04 January 2025 - 11:46 AM
A great work !
My documentation for installing vpin software with PinUpsystem (Baller installer): https://mega.nz/fold...wAXZlOEMQGbdutQ
Files and PDF-docu in the subdir "Installation vPin-Software with Baller-Installer"
#33
Posted 12 January 2025 - 06:35 PM
Hi folks!!!
I have uploaded my Bang Plus, open source to my GitHub account at github.com/rmhorwitz/Bang-Board-Plus
T his design is for review. Your comments and suggestions are very valuable to me.
As for software, I had someone very special offer me a configuration script to run their software on this project. I'll elaborate more on that later. Again, your comments and suggestions are important to the success of this project.
Best regards,
Rick
Edited by rickh, 12 January 2025 - 06:37 PM.
#34
Posted 22 February 2025 - 04:08 PM
Folks,
A small update. First, special thanks go out to MJR for catching a couple of issues he discovered during a design review. I recently received a batch of these Bang + PCBs and I should have a hand stuffed PCBA completed by the end of February. As hinted in my previous post, MJR created a script so that Pinscape Pico can run on this board. If successful, I'll adapt it to the Little Bang! as well. Honestly, Python has performance limitations beyond a basic pinball interface board. I was hoping that someone with stronger programming skills could take this project to the next level while keeping it open source. However, Pinscape already does all this. So going forward, any hardware designs I release will be Pinscape complaint.
If anyone is interested in a pinball interface that supports more I/O (inputs/outputs), I suggest looking at MJRs new Pico Pinscape project which should be released soon as a DIY friendly project.
Regards,
Rick
#38
Posted 19 July 2025 - 02:32 PM
Hi rickh,
your project is great and i try to build it. unfortunaly i have som problems, followd you instuctions. The pico appears in device manager as an extra HID Compliant Consumer Control Device, HID Compliant Game Controller. When i start joy.cpl it is listet as Circuit Python HID, but there are 32 buttons an axes. I used all the files from yout github. Then i tryed the steps from thainglo with the same result. Tested the included adafruit-circuitpython-raspberry_pi_pico-en_US-9.1.4 and the adafruit-circuitpython-raspberry_pi_pico-en_US-9.0.5 if youn got an advice?
pics
https://www.dropbox....ypgw9x1rur&dl=0
https://www.dropbox....0ibb497hhm&dl=0
https://www.dropbox....s36ln65b25&dl=0
https://www.dropbox....h7d8vhsgpm&dl=0
https://www.dropbox....zp1pfg7y9x&dl=0
greetings
karlson
#39
Posted 21 July 2025 - 04:57 PM
Hi rickh,
your project is great and i try to build it. unfortunaly i have som problems, followd you instuctions. The pico appears in device manager as an extra HID Compliant Consumer Control Device, HID Compliant Game Controller. When i start joy.cpl it is listet as Circuit Python HID, but there are 32 buttons an axes. I used all the files from yout github. Then i tryed the steps from thainglo with the same result. Tested the included adafruit-circuitpython-raspberry_pi_pico-en_US-9.1.4 and the adafruit-circuitpython-raspberry_pi_pico-en_US-9.0.5 if youn got an advice?
pics
https://www.dropbox....ypgw9x1rur&dl=0
https://www.dropbox....0ibb497hhm&dl=0
https://www.dropbox....s36ln65b25&dl=0
https://www.dropbox....h7d8vhsgpm&dl=0
https://www.dropbox....zp1pfg7y9x&dl=0
greetings
karlson
Karlson,
I apologize for your frustration. For some reason the joystick driver hangs up on some PCs and works on others. I notified the author who made the driver, but he was not helpful in resolving this issue. I concluded that this joystick driver only supported 8 bits and would be better if I started over with micropython, as it supported both CPU cores, but I got tied up with other projects and never pursued it. I think you could load MJR's Pinscape Pico software and see if you could get it to work. In the meantime, try another PC. I'm still baffled over this issue.
Regards,
Rick
Also tagged with one or more of these keywords: Pinscape, visual pinball, game controller, pinball controller, Little Bang
Visual Pinball →
VP Help Center →
Weird table orientation issue - occurred and fixed itself with no (discernible) input from me!Started by FormulaFox , 30 Jul 2025 ![]() |
|
||
Virtual Pinball →
Frontends and Addons →
DOF toys not working in Visual PinballStarted by Turbuelent , 03 Jul 2025 ![]() |
|
||
Visual Pinball →
VP Help Center →
Installation Support Forum →
kl25zStarted by jozef1965 , 14 May 2025 ![]() |
|
||
Visual Pinball →
VP Help Center →
Installation Support Forum →
...Started by PinDogg , 12 May 2025 ![]() |
|
||
Visual Pinball →
Visual Pinball →
Detecting Uninitialized UserValueStarted by Two , 08 May 2025 ![]() |
|