(Topic ID: 317133)

Bally/Stern SS's - Introducing "ColourClassic" Score Displays

By AlanJ

5 months ago


Topic Heartbeat

Topic Stats

  • 66 posts
  • 28 Pinsiders participating
  • Latest reply 5 hours ago by AlanJ
  • Topic is favorited by 26 Pinsiders

You

Linked Games

Topic Gallery

View topic image gallery

E9D62FEE-8F01-4D34-B942-0485973700F1 (resized).jpeg
C1600882-099F-42B3-B8CB-BC7ED23EA6DE (resized).jpeg
A3E61E31-5C43-4509-910B-936CFD2F7699 (resized).jpeg
591D1660-8D31-48D6-B3CF-2D654BC12704 (resized).jpeg
72B7A651-A19F-4259-AA25-1A2076285977 (resized).jpeg
506531DA-0815-40EC-BE3A-D629F1AF6D1E (resized).jpeg
79BDC121-57B1-4E16-B09A-83452BC6F7A7 (resized).jpeg
F94A0B78-F997-4CCB-BC33-E9FFAB573598 (resized).jpeg
060CA9B4-56FC-4349-931C-936A8963549C (resized).jpeg
34A4A9E8-C76C-4DA5-A92B-C191892C7E84 (resized).jpeg
IMG_2571 (resized).JPEG
IMG_2570 (resized).JPEG
IMG_2569 (resized).JPEG
IMG_2566 (resized).JPEG
IMG_2565 (resized).JPEG
IMG_2562 (resized).JPEG

There are 66 posts in this topic. You are on page 1 of 2.
32
#1 5 months ago

Been working away on this project for the past few weeks.

I had a silly idea a while back about bringing full colour score displays to Bally (and Stern) Classic Solid State Games.

I wanted them to be plug and play - i.e. Simply remove your old score displays and slot in these new ones.

A nice range of font and colour options.

Ability to add your own "fonts".

Splash screen - again user selectable / can create your own.

Here is a Fathom Splash screen - very raw example, just from a photo off the cab side art:
IMG_2392 (resized).JPEG

Here are some examples of score display styles:
IMG_2393 (resized).JPEG
IMG_2394 (resized).JPEG
IMG_2395 (resized).JPEG
IMG_2396 (resized).JPEG
IMG_2397 (resized).JPEG
IMG_2398 (resized).JPEG
IMG_2399 (resized).JPEG
IMG_2400 (resized).JPEG

Here is a youtube video of the display in demo mode:

Very much a work in progress.

#2 5 months ago

Prototype boards:
IMG_2561 (resized).JPEG
IMG_2562 (resized).JPEG
IMG_2563 (resized).JPEG

Any some pics in a game:
IMG_2565 (resized).JPEG
IMG_2566 (resized).JPEG
IMG_2569 (resized).JPEG
IMG_2570 (resized).JPEG
IMG_2571 (resized).JPEG

Uses off the shelf components - ESP32s development board, SD card reader board and 3 IC's. Plus the 6 or 7 Colour screen score display units. The production board will end up with more components on it - caps and resistors.

#3 5 months ago

Clever!

#4 5 months ago

It’s ideas and innovation like this that keeps this hobby moving forward… Great job

#5 5 months ago

Great work!

#6 5 months ago

I own five games - all Ballys, '78-'81, so stuff like this makes me sit up and pay attention. Well done!

#7 5 months ago

Very great idea.

The splash screen is a nice touch. I'm looking forward to the finished product.

#8 5 months ago

Wow, really cool! If anyone missed AlanJ’s previous creation it’s pretty awesome too. I was just finally playing around with the one I imported from him. https://pinside.com/pinball/forum/topic/bally-stern-lamp-driver-board-tester

Looking forward to more on this, Alan!

#9 5 months ago

Genius!
Look at my collection and tell me I couldn't use a few.

2 weeks later
#10 4 months ago

Coooooolllll!

#11 4 months ago

Alan! Wow. Just wow.

I'm in, hopefully like Dave (Wolfpak) there will be a DIY kit option?

#12 4 months ago

Looks awesome. (And made me think back to great nights in Leeds and Sheffield as a student). This is my favorite era of games, so following with interest.

One question: at one of the local pinball clubs here all the games with 5v replacement displays gradually failed. The fix was to buy mini transformers and stop taking power from the power board.

How will your displays be powered?

#13 4 months ago

Awesome!! Definitely gonna keep an eye on this project. Great work!

#14 4 months ago

Interesting product.

#15 4 months ago

I love flippy digits. I miss those at the airport. nice work.

#16 4 months ago

I'm in for a few sets. Pretty cool

#17 4 months ago

Very cool!

#18 4 months ago

The nixie tube one is cooool!

4 months later
#19 10 days ago

Been busy with game refurbs all summer, so not looked at this until a few days ago. now i’ve nearly got everything working!

Quick videos. i’ve set the display to change “font” every 20 seconds. you can decide if you want a fixed font or cycle through all fonts, or pick one at random. 21 jpeg fonts and then 4 different 7 segment fonts with a choice of 10 colours on each . so 61 different possibilities!!! more to come in future too:

Next video, how to setup and configure:

#20 10 days ago

These are very cool! Look forward to more info. Will 6 digit be an option?

#21 10 days ago
Quoted from DudeRegular:

These are very cool! Look forward to more info. Will 6 digit be an option?

yes i’ve done 6 and 7 digit versions.

#22 7 days ago

The development is over and we have a fully working system:

and

There is wifi communication between the 5 separate score displays, so that one of the units decides what “font” to display and sends the new font to the other 4 displays.

I’ve also added the ability for a unit to run without an sd card installed. (in this case it can display 40 different “rendered” 7-segment style fonts, but cannot display the jpeg files (which are on the sd card). This makes it a cheaper option for anyone not interested in jpeg images, but wants the colour choice flexibility. (The sd card reader is cheap, so i’d always recommend installing this on all boards). why? Because:

I’ve also added a software firmware update option. This auto upgrades the software if a new version is saved onto the sd card.

I’ve done a lot of testing on these, but still more tests to do.

Almost ready to offer these out as a “community” project for anyone who wants to build their own set.

I’ll publish a BOM - Bill of materials and typical costs. All the components are readily available, off the shelf, the only thing that isn’t are the two pcbs - the 6 or 7 digit display board pcb and the base controller board. I’ll get a batch of these produced once i’ve got an idea of demand.

I may also be able to source all the hardware parts into a kit if there is demand for that too?

The software will be made available to upload to your own board. Again I could possibly pre-load this onto the esp32s if I’m supplying these.

#23 7 days ago

BOM:

6 Digit Display Board:
6 Digit Display PCB with SMD Sockets pre-soldered 1
IPS 1.14" 8 pin SPI TFT Display 135X240 Pixels 6
2X16p Right angled Male Header 1

7 Digit Display Board:
7 Digit Display PCB with SMD Sockets pre-soldered 1
IPS 1.14" 8 pin SPI TFT Display 135X240 Pixels 7
2X16p Right angled Male Header 1

4 Digit Display Board (Credit/Match/Ball in Play):
6 Digit Display PCB with SMD Sockets pre-soldered 1
IPS 1.14" 8 pin SPI TFT Display 135X240 Pixels 4
2X16p Right angled Male Header 1

Base Controller Board:
Base Controller Board bare PCB 1
2X16p Female Header Socket 1
10p 3.96mm / 0.156" male header 2
15p Female Header Socket 2
Dil 16p IC socket 3
SN74HC165N Shift Register IC 2
SN74HC595N Shift Register IC 1
2N4403 / 2N3906 Transistor 1
10k Resistor 1
ESP32s Devkit Doit V1.0 Processor module 30 pin 1
Micro SD card reader board 1
Micro SD Card 128Mb 1
15cm double Sided foam tape 1

#24 7 days ago

Wow looks great. I’d buy a diy kit price depending.

#25 7 days ago
Quoted from AlanJ:

There is wifi communication between the 5 separate score displays

Ugh. I hope that can be turned off. Should've been wired, but at the very least, it should be possible to opt out of cluttering up the radio environment with more wifi signals. It can be hard enough to get devices that actually need wifi to find some spare spectrum, without other stuff that could've easily been hard-wired using it up.

#26 7 days ago
Quoted from pete_d:

Ugh. I hope that can be turned off. Should've been wired, but at the very least, it should be possible to opt out of cluttering up the radio environment with more wifi signals. It can be hard enough to get devices that actually need wifi to find some spare spectrum, without other stuff that could've easily been hard-wired using it up.

Hi, apprecaite your comment.

It only uses it if it needs to, & can be switched off. it's very very low level comms between the units, not a full blown wifi connection that needs them all configuring & connecting to a wifi network. They don't even create a real wi-fi network. 4 of the units just listen for messages, the "Sender" unit will only broadcast a message if the font changes, which is probably not something that is going to happen that often outside of demo modes. There is no need to define a "Sender", & in that case nothing is ever broadcast.

I didn't want to introduce any additional hard wiring requirement in the game itself - these are 100% plug and play compatible with the original bally (or stern) displays, so no mods required to the game itself. I also didn't want to have to string additional wires between the units, as that makes installation just that little bit harder.

#27 7 days ago
Quoted from AlanJ:

They don't even create a real wi-fi network. 4 of the units just listen for messages, the "Sender" unit will only broadcast a message if the font changes

Thanks for the clarification. That does sound better, though it's also still good it can be turned off completely.

FWIW, I probably would've gone with a BLE implementation for something like that. Well, personally I would've included a wired option; anyone installing these, hooking up a few more cables with JST connectors isn't going to be a hardship at all. But for a purely wireless solution, BLE would be more appropriate and less worrisome to people before they get the full scoop on what you actually did (as you can see, just mentioning "wifi" sets off alarm bells for some people ).

#28 7 days ago
Quoted from AlanJ:

into a kit if there is demand for that too?

I would much rather prefer a kit. That way everything is correct, and all together.

#29 6 days ago

What’s involved in building the devices:

First the base board:
060CA9B4-56FC-4349-931C-936A8963549C (resized).jpeg
Not a lot to solder

34A4A9E8-C76C-4DA5-A92B-C191892C7E84 (resized).jpeg
Some headers and sockets, sd card reader module and 3 ic sockets

F94A0B78-F997-4CCB-BC33-E9FFAB573598 (resized).jpeg
Complete with the esp32s processor board plugged in.

All components are std off the shelf components, so all readily available and easy to repair in future.

#30 6 days ago

Secondly the vertical display board:

C1600882-099F-42B3-B8CB-BC7ED23EA6DE (resized).jpeg

79BDC121-57B1-4E16-B09A-83452BC6F7A7 (resized).jpeg
First add the header pins to the display side of the board.
506531DA-0815-40EC-BE3A-D629F1AF6D1E (resized).jpeg72B7A651-A19F-4259-AA25-1A2076285977 (resized).jpeg
Plug in each of the screen connectors, there is a black retaining clip that holds each firmly in place. 591D1660-8D31-48D6-B3CF-2D654BC12704 (resized).jpeg
Use double sided tape to secure each display unit to the board.
A3E61E31-5C43-4509-910B-936CFD2F7699 (resized).jpeg
All done, remember to remove the plastic screen protector film!!!

#31 6 days ago

I am pricing up kits, should have this in a day or three. Trying to keep costs very much to the component and board cost plus a small allowance for me to cover some spare parts and also economies of scale, which never work out at an exact number of units.

The software I have written will be provided FREE OF CHARGE. As will be forum/email support from myself.

I have all sorts of ideas to improve the product (more fonts etc) and will happily take enhancement requests, with new versions of the software again provided FOC.

Someone has asked me why I didn’t use a single large screen, instead of individual screens?

I would love to use a single large screen, but there isn’t a suitable screen on the market that has the correct dimensions and the right resolution. the 7 displays are 135x240 pixels. which gives 945 x 240 in total.
I have found screens that appear to suit but they use an interface that is complex and difficult (impossible) to integrate with an esp32 processor. I could get them going via a raspberry pi- but that just makes the price uneconomical. I have spent a lot of time trying all sorts of different screens and interfaces. these 1.14” ips screens are the best at the moment. In future, if a decent large screen becomes available, I will of course use it. A close second are the smaller 0.96” ips screens, but they just don’t look right, even though they are cheaper than the 1.14”.

#32 6 days ago
Quoted from Pinslot:

Looks awesome. (And made me think back to great nights in Leeds and Sheffield as a student). This is my favorite era of games, so following with interest.
One question: at one of the local pinball clubs here all the games with 5v replacement displays gradually failed. The fix was to buy mini transformers and stop taking power from the power board.
How will your displays be powered?

Hi, I have tested for months in my own games and they are taking power from the existing 5v. As yet I haven’t had any issues.

As you correctly point out, the extra power draw from replacement led score displays can strain the old 5v supply. These ones take a similar amount of power.

Even though I haven’t had to use it, I have trialled using an off the shelf 5a voltage regulator board - like this:
E9D62FEE-8F01-4D34-B942-0485973700F1 (resized).jpeg
it takes 6-30v dc input, so i hook it into the 12v off the sdb (big cap is a good hookup point) and then this can be used to power the displays (or other 5v mods).

#33 6 days ago

Any chance you’d offer some sets already built for those like myself who know their limitations?

#34 6 days ago

Where can I send the money to?

#35 5 days ago
Quoted from Xtraball:

Any chance you’d offer some sets already built for those like myself who know their limitations?

I’m sure we can offer some fully built sets. watch this space.

#36 5 days ago

The current draw on the LM323 regulator is fairly low in a Bally game compared to GTB s80 or WMS Sys6. Unless someone is installing those fake China regulators that can't take more than 1a or the new displays current draw is like more than 1a or so, I think it is going to be fine.

#37 3 days ago

Update: Still working on BOM pricing.

Software wise, all working apart from on some of the later Bally Games, e.g. Medusa - the interval time between the display of HSTD and Last Game Scores, is very fast and doesn't give enough time to display both scores especially when they are big scores and when each digit is different - e.g. HSTD = 1234500 and last game score = 5432100 - this is worst case scenario where 5 digits have to be re-drawn to the screens.

The rendered 7-segment fonts are fast enough, but the jpeg images from the SD card are too slow to be displayed. I've changed the code to use the most optimised jpeg decoder library, and it still isn't fast enough.

So, next best thing is to switch to rendered 7-segment images when in attract/game over mode. That then presents a whol new challenge - how to tell if a game is in game over mode, or actually in a game?

Any suggestions?

Ideas so far:
1. Look at the credit match display - if the right hand side digit is non blank or non-zero - then we are in a game. Otherwise we are in attract mode. (Ignoring self test mode - for time being).
2. On startup, wait for the first non blank, non-zero score to be displayed - that is the HSTD - remember it, and it it starts being displayed on P1-P4 score displays, then we are in attract mode. Need to keep track of any game score that exceeds to HSTD and then use that in future.

#38 3 days ago
Quoted from AlanJ:

code to use the most optimised jpeg decoder library, and it still isn't fast enough.

What about non-compressed images? Like PNG or plain'ol GIF?

#39 3 days ago

These are so cool! I can't wait to get me a set! Keep up the good work!

#40 3 days ago
Quoted from AlanJ:

Software wise, all working apart from on some of the later Bally Games, e.g. Medusa - the interval time between the display of HSTD and Last Game Scores, is very fast and doesn't give enough time to display both scores especially when they are big scores and when each digit is different - e.g. HSTD = 1234500 and last game score = 5432100 - this is worst case scenario where 5 digits have to be re-drawn to the screens.

Note with most other Ballys, the HSTD speed is controlled by zero crossing counters which is consistent based on the line frequency of the country.
However with Medusa the display interrupt generator plays a part in the HSTD speed. From memory, a MPU board with the display interrupt running at 320Hz (designed for 6-digit games from factory) running in Medusa causes the HSTD speed to be too fast. Check the resistor at R21 on the MPU board in your game which should be 24k ohms so the display interrupts are generated at 420Hz (for 7-digit games from factory).

#41 3 days ago
Quoted from Quench:

Note with most other Ballys, the HSTD speed is controlled by zero crossing counters which is consistent based on the line frequency of the country.
However with Medusa the display interrupt generator plays a part in the HSTD speed. From memory, a MPU board with the display interrupt running at 320Hz (designed for 6-digit games from factory) running in Medusa causes the HSTD speed to be too fast. Check the resistor at R21 on the MPU board in your game which should be 24k ohms so the display interrupts are generated at 420Hz (for 7-digit games from factory).

thanks i’ll check that.

Games i can test in are:
lost world
paragon
fireball ii
fathom
centaur
medusa
elektra
8 ball deluxe le - but little point as scores behind a red screen!!
i’ve no classic stern games anymore so can’t test in those easily

i’ve also got to test different mpu boards and different settings, eg free play, match feature on or off, etc. etc.

I’ve got the code now picking up attract mode in medusa and lost world. need to build some more units so i can have a few games on test at the same time. …….

#42 3 days ago
Quoted from Coyote:

What about non-compressed images? Like PNG or plain'ol GIF?

I’m happy to have a look at these, I need to grab some arduino/esp32s code that displays those file formats to a tft display.

#43 3 days ago

These look great. I am hoping you can get them working in the Classic Sterns. I have couple games that could really benefit from them.

#44 3 days ago

Damn! These are really cool AlanJ! I may have a few games that these would look great in. I look forward to seeing more!

#45 3 days ago
Quoted from AlanJ:

i’ve no classic stern games anymore so can’t test in those easily

Stern MPU100 games the display interrupt runs at 320Hz like 6-digit Bally games and HSTD sequence is the same.
Stern MPU200 games the display interrupt runs at 400Hz
Stern MPU200 games do not blank the displays between HSTD and previous game scores. It alternates directly between the two.

#46 3 days ago
Quoted from AlanJ:

1. Look at the credit match display - if the right hand side digit is non blank or non-zero - then we are in a game. Otherwise we are in attract mode. (Ignoring self test mode - for time being).
2. On startup, wait for the first non blank, non-zero score to be displayed - that is the HSTD - remember it, and it it starts being displayed on P1-P4 score displays, then we are in attract mode. Need to keep track of any game score that exceeds to HSTD and then use that in future.

Normally I would say (1) would work great, but some games now are using this display to display spinner counters or other information. Also, that display isn't consistent across all games, sometimes it's shifted IIRC.

(2) would work great for non-stern mpu200 games that display the hstd at the start of the last ball.

Can you tap into other signals like the ball in play lamp or strictly the display signals? You could have a sense wire to the ball in play lamp, when it's lit, you're in a game (unless you're in lamp test)

Or the game over lamp of course.

#47 3 days ago
Quoted from AlanJ:

I’m happy to have a look at these, I need to grab some arduino/esp32s code that displays those file formats to a tft display.

I'm not entirely sure what the other suggestion was getting at. PNG and GIF are both compressed as well. They are just "non-lossy" formats, whereas JPEG is "lossy". With PNG and GIF you get exactly the same pixels back after compressing and decompressing, while JPEG will invariably involve subtle differences (but typically not noticeable to the human eye). With any of those formats, there will be a decompression step.

What kind of profiling tools are available for software dev on this platform? I've barely used Arduino myself, and don't have any experience with the ESP32 stuff. But if this were a regular PC platform, I would be using a debugger with a profiler to track down what's actually taking time.

That said, given that the rendered numerals work fine (if I understood your notes correctly), that suggests that the issue is either I/O from the SD card, which can vary considerably depending on what kind of media controller you're using, or compression. It seems you've determine it's the latter; hopefully it's by some means you consider reliable.

What is the RAM budget for the project? Is there even any separate RAM? I looked at what I think are the specs for the ESP32 kit you're using, and all I see are specs for flash RAM and 520 KiB of SRAM. And I don't see a separate RAM component on your materials list. Can you increase it considerably while keeping the whole project cost within your goals? Because it seems to me that if the rendered fonts are fine, the most obvious approach would be to just cache the uncompressed images in RAM.

#48 3 days ago
Quoted from slochar:

Can you tap into other signals like the ball in play lamp or strictly the display signals? You could have a sense wire to the ball in play lamp, when it's lit, you're in a game (unless you're in lamp test)

Or the game over lamp of course.

Ideally you want access to the four lamp address, four lamp data and lamp strobe #1 signals to record the lamp states. These aren't all present at the displays. They are at the MPU J1 connector and main lamp driver board J4 connector. Means an extra smart controller like how you know who does it.

#49 3 days ago
Quoted from pete_d:

They are just "non-lossy" formats, whereas JPEG is "lossy". With PNG and GIF you get exactly the same pixels back after compressing and decompressing, while JPEG will invariably involve subtle differences (but typically not noticeable to the human eye). With any of those formats, there will be a decompression step.

It depends on what is slowing the 'decompressing' - what's taking the time, actually reading the files off memory/sd? Or converting the files into the data that the TFT needs? Depending on what the bottleneck is, another format may work better.
GIF, for example, has an indexed color scheme, and has less data needed to be read and processed for the same amount of pixels.

#50 3 days ago
Quoted from slochar:

Normally I would say (1) would work great, but some games now are using this display to display spinner counters or other information. Also, that display isn't consistent across all games, sometimes it's shifted IIRC.
(2) would work great for non-stern mpu200 games that display the hstd at the start of the last ball.
Can you tap into other signals like the ball in play lamp or strictly the display signals? You could have a sense wire to the ball in play lamp, when it's lit, you're in a game (unless you're in lamp test)
Or the game over lamp of course.

I've checked all my bally games and nothing seems to use the ball counter digit when a game is in progress, i.e. they all show 1,2,3,4,5 etc for the ball in play. Some games do write to it at the end of the game when it shows the random sequence of match numbers - centaur, fathom, fireball II. but that isn't an issue for me, as it only occurs for a second or two before ending then game and then dripping into "game over" mode, at which time the match number selected always ends in a zero on the ball in play digit (far rightmost digit on the display).

On the bally games I have, nothing seems to use the display for any other purpose? I wonder if it is on stern games? Regretting that I sold my stern games.......

My Medusa has an alltek board, I wonder if this is why it's switching very quickly. Checked the jumpers on the alltek - set to bally/stern mpu100 not to stern mpu200

I've also checked out centaur, fathom and fireball II and they have a much slow cycle between HSTD and last game scores, - all using original bally mpu boards.

Promoted items from the Pinside Marketplace
$ 10.00
Playfield - Decals
Metal-Mods
Decals
5,500 (Firm)
Machine - For Sale
Ottsville, PA
$ 29.00
Boards
RoyGBev Pinball
Boards
From: $ 130.00
Boards
Troxel Repair
Boards
$ 179.00
Cabinet - Other
Pinball Pimp
Other
There are 66 posts in this topic. You are on page 1 of 2.

Reply

Wanna join the discussion? Please sign in to reply to this topic.

Hey there! Welcome to Pinside!

Donate to Pinside

Great to see you're enjoying Pinside! Did you know Pinside is able to run without any 3rd-party banners or ads, thanks to the support from our visitors? Please consider a donation to Pinside and get anext to your username to show for it! Or better yet, subscribe to Pinside+!