Categories
Arduino Electronics ESP32 Programming

RGB LED Light Panel 2

I wasn’t totally happy with my previous attempt at this project so I recently revisited it with new option, new tech and a BUNCH of code added. So much so I’ve even opened up a Github page for it.

https://github.com/brad-maker/16×16-LED-Matrix

Its fair to say I’ve spent way too much time on it BUT its so much better now. With the now readily available and affordable pre-built matrix’s available I decided to build a new one as the old one was too sensitive to connection breaks. The matrix has solved this problem. I also sourced far better photo boxes which are black aluminium.

Add a recently acquired 3D printer to match my laser cutter and I’ve now got a far more “professional” finish to the unit. I also replace the Arduino 2560 Mega which a much more powerful ESP32 as it has far, far more memory and faster processor.

It also requires far less power and I can now run it fully using std USB power supplies and even my PC’s USB port.

The 3D printer allowed me to print a case for the ESP32 AND a pass-through grommet for the USB cable. The laser cutter of course lets me cut the 16 x 16 grid from some 3 ply which I painted black.

Last but not least I’ve added a tonne of new code with the entire sketch publically available on my Github page. The new code contains the LED Panel control webpage which allows you to connect to it either on your network or from your mobile phone. The code allows you to select any animation or effect at will including custom scrolling text. I’m VERY happy with the result but of course I already have ideas for tweaks and new content. Fortunately updating the code is as easy at writing it and uploading it via USB or Wifi.

ESP32 Wroom
Categories
Arcade Machine Electronics Pinball Machine Uncategorized

Virtual Pinball Machine

Original Project Thread: /https://www.aussiearcade.com/topic/34190-minipin/

I’ve probably been working on this on and off for about 8 months but haven’t touched it in at least 4 months or so. I needed to do this on a tiny budget and essentially use what already had with minimal further outlay.

I’m determined to finish this bugger off over the next 4-8weeks though and what better incentive than to post about it on here thereby guilting me into a result LOL!

Playfield is a 22″ widescreen monitor. Backglass is a 19″ 4:3. I have left enough room for a 3rd for a DMD but funds won’t allow this so I’ll do without for now.

The overall design is a mix between a woodrail and a Williams but leaning towards more of a woodrail look.

The PC has been built for about 12 months with about 50pins divided between Visual Pinball and Future Pinball all running via Hyperpin frontend. It works fantastically and will come up a real treat in the cab.

I’m using donated legs rather than wood and will clean them up and possibly paint them. The cab will a look of an older machine.

I cut out the coin door insert and installed along with lock and coin mech.

Also installed a slide/rail system for the PC and door on the rear. Still need to acquire 2 fans to install in the back but that can wait. Been building the PC system over the last few weeks. I forgot how much of a pain in the arse it is =/

Just prepping to paint the cab over the next 2 days. Also constructing the lockdown bar out of timber =)

I have been working on this, just damn slowly AND waiting for time combined with decent weather for painting. In that time I’ve been building/configuring the PC and Hyperpin as well as custom lockdown bar and apron.

Here are a few pictures:

The apron is attached with a couple of brackets. The lockdown bar attaches to that with two bolts that slot into the apron just like on an old woodrail. It was made with two pieces of timber sandwiching in the bolts. When inserted into the apron there is a recessed slot left over for the glass to slide into. Overall I’m very happy with it except for the final clearcoat. The timber looked freaking awesome being really shiny and smooth but I just HAD to put an extra coat on for peace of mind and the last coat speckled =( I’ll need to use some 1200 or 1500 grit and then recoat again.

I currently have 3 coats of undercoat on the cab and plan on a white main colour with red and blue details to go on after.

After the undercoating and a week of letting it set it was time to add some colour.

Finished painting the backbox and have attached to the carcass. Installed all buttons and test fitted timber trim and monitors. The playfield monitor is go0ing to be raised a little higher and then will have a bezel and glass top. Won’t need much of a bezel as it was constructed for the size of the monitor. I still need to make the framing from the back monitor and speaker surrounds. Need to install some fans at the back and then the PC which is already built. I also installed a std arcade button underneath in the same spot that a pinball power switch is usually placed for powering the system up and down.

Overall I’m pretty happy with the outcome. A few small spots of paint to touch up where there was marginal bleed and I’ll be happy. I meant to drop into jaycar and pickup some parts but forgot and they’re not open today. I just want the fans, some PCB feet and a power outlet to wire a powerboard into. I’ll have to wait until next week now but it’s just as well as I have too damn much gardening and shit to do.

Finished adding timber trim, installed the electrical components and the machine is now playable!

The machine now has just over 500 Pinball Machines installed on it and is a lot of fun!

Categories
Arcade Machine Electronics Mame Restoration Uncategorized

Rampage Arcade Cabinet

Original Project Thread: /https://www.aussiearcade.com/topic/30859-latest-mame-cab-project/

At the time I’d had this machine sitting neglected in my garage for almost 2 years. Had the parts just not the inclination but over Christmas the bug got hold of me and I started working on it.

The cab is an old LAI Rampage cab:

http://www.arcade-museum.com/game_detail.php?game_id=9261

There was no board, jamma harness, control panel, coin mech’s or artwork included. What was included was the original 19″ arcade monitor, power supply, fluro light and dodgy mame marquee.

I started by creating a new control panel. The original was a 3 player setup but I’ve built this with 2 players in mind and a centre spinner. As my art skills are non-existant, in the short term I built the panel out of ply and stained and varnished it. Sure not original or normal but it came up okay with the result below:

As you can see the player 2 joystick is a top fire as I wanted to be able to play Tron, Battlezone and Two Tigers easily. I’m sure there are other games with possibly doubling the top fire button as a push pull option for games like Discs Of Tron and Frontline.

The Top Fire is a normal 8way stick with a modified shaft and top button. I have to say that the joystick itself is a little sloppy on movements and the shaft feels is too short due to the flange at the top. For normal games it’s not so bad but I think I need to adjust it and put stronger springs in it.

The left joystick is a baton type which I’ve never used before. I’m a huge fan of MCA’s but I had no black ones left so used this out of a Mame pack I’d bought ages ago. I’m actually quite surprised at how good it is and would definitely use them again if I had to.

The panel has 6 player buttons each, Player 1 start, Player 2 start and Select & Escape buttons. The Select and Escape buttons are temporary until I grab some clear ones so I can print labels for them. Coin Inserts are supplied for P1 & P2 by using a custom made label and 12 volt LED rectangular buttons I had laying around.

The spinner is a Turbotwist 2 that I got for christmas 2 years ago 😕 It is a fantastic piece of kit. USB interface, engineered to fit into a standard 28mm arcade button hole and has a range of options for knobs and wheels. I stuck with a reasonable std blue anodised knob with room for an insert. Many have mounted BYOAC tokens of which I have 100. I’d like to use an Aussie Arcade one 😉 I also added the energy storage cylinder which is effectively a steel piece that fits to the base and lets inertia keep spin going for a LONG time. It works REALLY well. You can check them out here:

http://groovygamegear.com/webstore/index.php?main_page=product_info&cPath=86&products_id=268

The spinner really comes into it’s own for the games I’ve tried it on so far. Tempest and Arkanoid are simply awesome. Cameltry is now an extremely enjoyable game. Star Trek which I only ever play in Sydney’s George st arcades in the 80’s brings a tear to my eye 😉 Sure it’s not in the original environmental cab but I can now play it properly. Other games I’ve played so far are Blasteroids, Cosmic Chasm, a few other racers and finally Tron. If the Top Fire joystick was restricted to 4 way (it does come with a restrictor) Tron would play much better. Spinner wise though it’s perfect. What I need to do is wire in one of David’s digital restrictors…..a project for another day.

Bare Spinner

Blue Anodised Knob

6″ Steering wheel

The steering wheel is well made and works great but is limited without pedals. Works really well on 360deg driving games such as Pole Position, Sprint, Super Sprint etc but gear changes etc are an issue. What I’ve done is use the top fire as a gear stick and the top fire button as the accelerator until I get my Pole Position cab rebuilt. I mainly bought the wheel for unknown future uses and due to the fact that shipping separately at a later date was going to cost a bundle.

Here’s a shot of the bare bones PC components. Using a old GeForce 4 video card and Soft 15khz. Works great on this dodgy old arcade monitor.

You can probably see the mini amp up the back. That’s a $9.00 Ebay special and interfaces to an old set of car audio speakers.

Currently trying out Maximus Arcade as the FE but having a few issues with it. It works but seems to have a few niggles with extra buttons and long delays on exiting games :unsure I’ll see if I can tweak it some more and if not ditch it for good old Mamewah or Mala.

Still to be done on this cab, tidy the wiring up, new artwork/marquee and I need to purchase decent bolts for the control panel and joysticks. The ones I have used are rat-shit.

Oh and one last thing. Just a note to any boofheads like myself. If your using a laser mouse to setup your Mame Cab, stay away from using red cocktail stools as a platform. It took me about 5 mins to dawn on me why it didn’t work…….the damn mouse laser is also red and obviously the red laser was being absorbed by the red stool. I didn’t realise the spectrum was so wide.

This is a very old build thread and in fact the control have been changed. The horrible bat top joystick has been replaced with an excellent Mag Stick Plus and the Top Fire on the right has been replaced with a flight-stick version. The flight-stick has both a trigger and thumb button but is also an 8 way joystick.

I’ll get around to updating this post some day 😉

Categories
Arcade Machine Electronics Music Uncategorized

Multi-Cab

Original Project Thread: /https://www.aussiearcade.com/topic/42256-lastest-project-multi-cab/

Not really sure where this project belongs. It’s not an arcade cab but is a multi-purpose device.

Built out of an old poker machine shell that I acquired from David_AVD about 3 years ago. Probably the best use of a poker machine ever imo. David had gutted the machine for parts and was going to dump the shell. I “rescued” it and it’s sat in my garage for the last 3 years collecting dust as a “project” 😉

Essentially it has a 19″ touchscreen in it running Simple Touch FE. The system runs a plethora of games including Poker Machines, All those Trivia/Shooter type games that were popular in UK pubs and also as a jukebox, karaoke and music video machine. It can also of course browse the net and show movies etc.

It’s started out looking like this.

I also stripped all the extra parts out of it. It was quite a lot actually and added a LOT of weight.

I sanded it down and gave it a layer of undercoat (note to self. ALWAYS do two coats of undercoat) I only did one and paid for it =(

1st Coat
2nd Coat

I then applied 2-3 layers of Cherry Red Gloss Enamel. All using spray cans and it’s come up damn nice imo

1st Coat
2nd Coat
Final Coat

I then cleaned up the existing hing fittings with a little soap free steel wool. You can see the comparison here and I’m pretty happy with it.

Before on the left and after on the right.

I had to manufacture both the bezel and front door as all was missing. I made the bezel out of 3mm masonite and the front door from 9mm MDF which matched the rest of the cab.

Test fitting the door.

Test fitting door and bezel before coating with textured adhesive vinyl.

I don’t have a separate picture but what DID come with the shell was the bezel retainers which consisted of polished aluminium rails and curved pieces. They had been polished and then clear-coated but the clear-coat had yellowed something terrible. I stripped the clear-coat and used the steel wool to created a brushed aluminium look. It looks fantastic but damn does it love fingerprints. I’m thinking I need to seal it with some clear-coat?

As stated I created a bezel from 3mm masonite. I measured about 5 times before cutting as my carpentry skills are pretty bad. I then used an orbital sander to bevel the edges so that once covered in vinyl it would still slide through the aluminium retainers.

For the door I made sure the measure up and pre-drill hinge bolt holes, door lock whole and speakers holes. Once done I then coated in black textured adhesive vinyl.

You can now see the final result with screen, bezel and door fitted. Note the reflection of my wife studiously ignoring my awesome craftsmenship.

I still need to fit, paint and mount a kick plate. I’m thinking about and placing some aluminium curve across the joint with some LED’s mounted under it. That way they will be concealed, understated lighting. Possibly install a beat monitor as well 😉

Once this is done it’s just a matter of installing the speakers and computer. Hoping to have this complete by next weekend but will update thread as I go.

I’m considering installing a modular monitor extension for the top of the unit. This will be ideal for Music Video’s and karaoke. I originally thought that a set of pinball headbox brackets would work a treat but I don’t want to mar the sides for when it’s not being used. Still undecided there.

I put a rebuilt PC inside this and then installed a lot of different gaming options. The monitor has a touchscreen overlay installed in it so you don’t need a keyboard and mouse.

All of the games I ran using a software front-end called SimpleTouchFE.

I ended up selling this unit a year or so later as it was taking up space in my garage and never used. I seem to get more enjoyment in the restoration/creation process.

Categories
Arcade Machine Electronics Mame Uncategorized

Hard Waste Rescue Arcade Cab

Original Project Thread: https://www.aussiearcade.com/topic/56317-generic-aussie-cab-restore/

I picked this cab up from a Tip Shop a few weeks ago now when I was dumping a load of waste. I couldn’t believe it was there and it seemed no one else wanted it. I was hoping it was working but they would not let me test it so I bargained them down to $70.00 citing the potential cost of repairing monitors etc. So I it home anyway to rescue it!

I am told by ex operators that this type was typically a card machine frequently seen in pubs but someone in the past had converted it.

The locks had no keys so I had to drill them out.

Once I got it open I sadly discovered that the 19″ tube had been broken at the back and was not salvageable.

The upside was the discovery of a 1942 PCB. I have no way to test it but still a nice find.

I’m not sure I’m keeping this cab as I simply do not have the room so I might re-sell it after I’ve reconditioned it as much as I can with spare parts.

First was stripping it down. I took all the metal parts out such as the hinged monitor door, control panel, bolts, rear handles, hinge and any outward facing bolts.

A quick wipe down and vacuum got rid of all the old dust, debris and cobwebs from a long storaged machine.

I threw the old monitor, yoke and chassis away as effectively useless for me.

Stripped monitor door and control panel.

A light sand of all steel components with fine grit sandpaper and then 3 coats of satin black spraypaint to bring the components back to new. I also sprayed all of the bolts so that they blend into the black timber panelling.

The monitor plexi was held onto the door with double-sided tape which I had to carefully separate so that I did no damage or scratches.

Once separated I then had to remove the tape from both parts. The rainbow colour on the plexi has been sprayed on from the back so I had to ensure that I removed the residue without lifting the paint which was successful. I’ll put it back together using new double-sided tape once it’s all done.

The control panel was fitted with a single player setup. A black MCA joystick, 2 player buttons, Player 1 Start, Player 2 Start buttons and a small single button to the right. I suspect that this had been rigged as a credit insert button as it looks to me it had been sitting in someones home for years and there was no coin mech installed anywhere.

The MCA was rat shit, so I’ve replaced it with a spare (I have about 14 of them). Unfortunately I don’t have any black ones so I’m using a single yellow I had that matches the yellow in the panel.

All of the buttons I’ll reuse as they are all fine including the micro-switches. The credit button however will need to be replaced as the top has snapped off. I’ll need to try and source one as I’ve never seen one of these before and I don’t want to drill a bigger hole.

You can see the restored top unit below.

I spent some time wiring up a new power supply, jamma harness and 60-1 board. I decided to use the 60-1 as this cab was a vertical cab and the bezel and monitor shroud were being re-used.

I’m a real weenie when it comes to electricity so was concerned about wiring mains 240 power to the arcade power supply but 2 You Tube video instructions later and I re-wired a std power plug into the arcade power supply within 5 mins. Hooked up the Jamma harness to 5volt, 12volt and ground points on it and test-fired the arrangement. The power supply, board and monitor all turned on, the board initialised and after the 60 second startup (why so damn long?) I had the iCade menu displaying and running.

I tidied up all the wiring and used cable ties to neaten it all up. It always surprised me how much room there is in an arcade cab. Really the monitor takes up most of the room.

I’ve gone with an LCD as it’s the easiest for me to mount although I do have several spare 19″ crt PC monitors hanging around if I feel the need to change it to a CRT look.

I ended up modifying the monitor frame to accommodate the LCD. I also created a new internal bezel to suit using 3 ply and sprayed it black to blend it.

Once bolted together the monitor sits nice and flush to the front door.

I’m creating an instruction card to suit the unpainted space left in the exterior bezel that will fit flush. Unfortunately my colour printer is almost dead so I need to wait till after eater to print it at work before I can remount the exterior bezel. I’ll update this thread once done.

Thanks to www.aussiearcade.com members Homepin and DavidAVD knowledge and part I’ve also mounted a volume control onto the rear of the cab. This is wired in between the Jamma harness speaker output and the speaker inside the cab. I’ve re-used the single speaker that was already in the cab and mounted the control knob into a std button hole that a previous owner had drilled into the back. It’s come up pretty nice and fits really well.

The back of the cab also had a large square cut-out that gave access to the old monitor yoke but there was no cover. I bought a grill piece, sprayed it black and mounted it. It looks pretty good.

Front View minus exterior Bezel

Now with bezel, instruction card I created and running Time Pilot!

Not long after I completed this restore I ended up swapping it for a really nice 7 drive Thecus NAS which I still have as a backup to my XPenology headless server that I’m running.

Categories
Electronics Jukebox Mp3 Music

Portable Touchscreen Jukebox

Original Project Thread: https://www.aussiearcade.com/topic/73816-15quot-fuji-kiosk-conversion/

I’ve built a few of these over the years of varying models. This one is an old Fujifilm Photo processing kiosk that you used to see in lots of stores. I bought two in this purchase but they were different models. This write up is on the older model.

I’d built a full size touchsceen jukebox years ago but I got a lot of requests from people to borrow for parties so decided to build one that was more portable. Whilst a good idea I found these units are solid steel and despite their size are VERY heavy!

Inside has the power supply, PC, tiny little speakers, a receipt printer plus extra optical drive and memory card readers. Also the unit was pretty filthy with dust.

Power Supply and tinny right hand speaker.

Rear of device with extra power options.

Tore out the printer.

This left plenty of room for a sub and a pair of satellites that actually fit in too.

Took PC out and stripped everything down for cleaning including taking the door off.

Sprayed the door fascia with navy blue enamel spray paint. The cabinet itself is in really good shape so I left that colour as cream and just cleaned it all and removed stickers etc.

  • Put everything back together
  • took out excess wiring
  • cable tied & strapped down
  • speakers fitted

The speakers can be brought outside of the cabinet if desired. I had the satellites out and the sub in and it sounds really good. Inside also sounds fine. If I was going to keep this one I’d put higher wattage speakers as when on full they distort however that is REALLY loud so not really an issue just me being fussy.

I re-purposed the original front panel, drilling in a speaker grill then covering the lot with speaker fabric before remounting. It looks really nice imo.

I rebuilt the PC from scratch with a fresh install. I then included a TONNE of touchscreen pub, quiz, slots and other games along with Simple Touch FE. Haven’t bothered sorting out the menu system yet. Not sure I will. I then installed imo the best Touchscreen Album Jukebox software around E-Touch Jukebox. Here is the final result.

The software interface you can see is called E-Touch and I love it. Been using it for many years. Supports, Audio, Video, Karaoke, Online Search and more. Of course since this is a PC you can also just run Spotify or any other software of choice.

Shortly after building this I sold it to fund my next conversion project. This project is a 15″ monitor, my new one is a 17″ monitor.

The new one runs windows 7 and has a 17″ monitor. The conversion process was pretty much the same as above so I won’t repeat other than show you a final result. I used copper metallic paint for the edging and satin black for the middle. Used speaker cloth for the lower part of the front. I just need to put a decent set of speakers in now and all complete.

Again running E-Touch but the latest versions integrate online searching, streaming so wanted a more secure OS.

Categories
Arcade Machine Electronics Mame Uncategorized

Space Invaders Bartop Arcade Machine

Original Project Thread: /https://www.aussiearcade.com/topic/84069-space-invaders-bartop/

Another instance of checking an unfinished project off my list. I still have the pinball to go but this one is easy and that one is hard 😉 This one should be real quick.

I bought this ArcadeWorx cab off www.aussiearcade.com member namastepat back in February 2018. It’s surprisingly large, taking up a lot of space on my garage floor so time to get it working and sitting somewhere else.

Cabs is a little banged up with a few nicks but over all pretty good.

All black and I love the Space Invaders cut-outs in the marquee area.

So I thought I’d continue with the Space Invaders theme and keep the cab Black and Red. It didn’t hurt that I had a pack of both red and black buttons 😉 I’d also bought a power supply and jamma harness to match the Pandora 4S I bought back in April.

I installed the buttons and joysticks. Will need to check the controls for the Pandora to see if I need the other 3 holes. I’ll use what I need and try to find some of those caps to cover any not used. Also the top row holes are smaller than the player button holes 😞

The P1 and P2 buttons I used (STD size) will never come out again LOL!

Installed speakers inside the audio cut-outs.

The IEC socket I have is not round like the hole that had been cut out 😞

Traced around and then did a little free-styling with my jigsaw. The flange on the socket hides the shoddiness 😄

Wired mains socket, power supply and jamma harness power. I then fired it up to see if smoke would come out. Success!

Damn I love how fast these Pandora’s boot up unlike those shitty 60-1 jobs.

It was getting late so I’ll finish wiring in the joysticks and buttons next weekend. One last thing was to mount the fan cover into the top. The Alien one I had suits the theme.

Now an idea I’d had was to install an LED chaser light coloured red behind the cut-outs in the marquee area so they’d light up and travel across just like in the game. My circuitry skills are not even close to being capable but another www.aussiearcade.com member VERY generously stepped up, designed it, built it AND personally delivered it to me! thanks Kaizen!

The circuit design

Whats even better is that Kaizen modified it so that I could adjust the speed!

Whilst I awaited the completion of that component I went ahead and finished off the rest.

Finished connecting up the jamma harness to all of the player controls. I then mounted the monitor. I created a bottom rail and attached a piece of angle the hold the monitor in place. I then used some metal strapping to hold the top in place. Easily removed with a screw in each corner.

I then fixed the PSU and Pandora into the base, tidied the harness with cable ties and used brackets to attach to side. Actually took this photo before tidying and mounting harness

Here is is all fired up. The Pandora has a couple of annoyances though. The games list are not sorted alphabetically and you have sequels pages before original etc. Also they included Ms Pacman but it scaled to the widescreen and plays super fast. No doubt there are others so I disabled that game. A bit of reading and it seems it may be an SD card running xmame so I might take it apart, image it and see if I can tweak it somewhat. Others games that I’ve looked at run really well.

I definitely would not put a 60-1 or one of these in a full cab. PC all the way imo. They’re just handy for small spaces.

Attached the back door, barrel lock to come.

Kaizen dropped his circuit off to me at least a month ago along with a strip of opaque red perspex. Thanks again mate, truly appreciated!

As the perspex was see through I needed to block it out so that the lights and wires were not visible when lit up. I looked at a few things and ended testing AND going with some heavy duty tracing paper/plastic. An off-cut from a large sheet another member Illawarra Steelers sent me for my EM restore. I affixed it and did a little test and it worked perfectly!

I then lengthened a few of the wires in the circuit and screwed each of the 4 light arrays onto a piece of 3 ply. So the perspex is hard up against the space invaders cut-outs and the light mounted ply is horizontal behind it. I have angled it up somewhat using a scrap piece of timber so that the lights are brighter without individual LEDs strobing though the perspex. I think it looks excellent! I will need to trim some of the tape I used to fix the paper as it’s slightly encroaching on the bottom.

Categories
Arcade Machine Electronics Mame

Galaxian Bartop Arcade Machine

Original Project Thread: https://www.aussiearcade.com/topic/79032-galaxian-bartop-project/

I’ve had this bartop carcass in my garage for about 4 years now. Like many of us, too many projects and not enough time and/or motivation. As is normal with me I get to a point where I want to complete a project that I’ve put off for some time so I pick one and work on it until done.

The biggest kicker for this is that I bought an arcade pack off Ebay pretty cheaply knowing it would suit this. It included 60-1 pcb, power supply, jamma harness, 12 player buttons, 1 & 2 player button, 2 joysticks, 2 speakers, speaker grills and 50 PCB mounts.

Bare carcass here which didn’t come with a back or control panel.

So using a 19″ 4:3 LCD monitor as the template I measured up to see how I could fit everything in. The 19″ just fits vertically so I measure up some timber rails to mount both the control panel and rest the monitor on, then glued and screwed.

Measured up a control panel and dicked around with control and button layout. Test fitting here.

Made a rear door and fitted with a barrel lock. Also cut out a hole for the IEC power socket.

Now most people opt for a Galaga based bartop or some sort of custom job. Me, I’m more partial to Galaxian so I’ve elected to go that way. Overall colours will also match so I’m going gloss white and then I’m going to get original artwork sized and printed.

that will include Marquee, Control Panel, Side Art & Kick Plate. Not sure I’ll bother with a bezel as it would only be the width of the monitor bezel which is 10mm.

Now I suck mightily at graphics but I’ve managed to use Adobe Illustrator to modify the original Galaxian control panel artwork to suit my bartop. Everything else will remain original, just re-sized to fit.

Original

I printed off a sample on plain paper to ensure it fit and to my great surprise it fit perfectly, down to the button holes.

Next up was painting the cabinet. True to the original dedicate cab I painted it gloss white.

I also received the reproduction artwork scaled to size I’d ordered the previous week!

I wanted this cab neat and tidy so installed and IEC power socket into the cab. Marked it out, used a spade bit to cut and then a jigsaw for the shape. It turned out really nice.

Once completed I then applied the artwork and installed the controls.

I then installed the green t-molding!

Space inside this thing is REALLY tight so I’m trying to save by using as few space stealing parts as possible.

The monitor is a 19″ 4:3 vertically mounted LCD. Now this of course requires 240 volts.

I have an arcade power supply. I wired it up and mounted the PSU onto the bottom of the cab. The PSU has 240volt inputs which is wired to the IEC socket I’d installed previously.

I’m using a 60-1 game board which uses a Jamma interface. This only requires 12 volts which is fed from the Arcade Power Supply. Wired all up and then gave it power.

I then fired it up and of course I just had to play Galaxian on it!

It’s alive!

Categories
Arduino Electronics Programming

RGB Led Light Panel

Original Project Thread: /https://www.aussiearcade.com/topic/96389-rgb-led-light-panel/

I’d seen some examples of similar things like this before so started doing some research on what it takes to make something like it. I tend to be obsessive when I start something and went all in. I based my project on the one outlined here: https://www.brainy-bits.com/post/mak…h-256-rgb-leds

Like the author above I made mine a 16 x 16 array which is the general size of most early arcade sprites until tech got better and it went to 32 x 32 and then even more. 16 x 16 was practical from a sizing perspective and especially since this was my first attempt. You’re not limited in your sizing but would need to modify your materials list to suit anything different. That gives a whopping 256 individually addressable lights.

Materials List
  • 1 x Arduino Mega 2560 (You can use a UNO but get far less storage so your call)
  • 1 x 5 meter Roll of WS2812B Non-Waterproof LED Strip (These are individually addressable)
  • 1 x 240v to DC 5V 10A power Supply
  • 1 x Kmart Anko 12″ x 12″ Shadow Box Frame
  • 1 x Can of Frosted Glass Spraypaint
  • 1 x Sheet of 5mm Art Foamboard (A1 size)
  • 3 x 20cm Male-Male Dupont Wires for Breadboard (Optional)
  • 15 x LED Strip Light Connector Cables (Optional)
Arduino Mega 2560:

There are projects out there that use a Raspberry Pi and other types of boards but the Arduino is really cheap and reliable. Also the code uses Flash Ram to store the data. I used the Mega as it has more memory than the UNO. Differences between the two:

UNO Flash 32k bytes compared to only 2k bytes of SRAM
The Arduino MEGA has 256k bytes and 8k bytes of SRAM

Whatever your choice, you will need to modify your code to suit.

Power Supply

The 5 volt 10 Amp power supply is pretty beefy but given the large number of lights to be powered it’s required.

The generally accepted method for calculating power requirements is:

You need to know the required current (Amps or milliamps) for the LED’s. Typically, you can estimate 20mA (0.02 Amps) for one regular LED or 60mA for an RGB LED.

In this build we have 256 LED’s. If they’re all lit at 100% brightness and white in color, then the total power consumption would be around 16A. (60mA x 256) / 100 = 15.36Amps. Remember these are 5 volt NOT 12 volt led’s

Since I’m only using 15% brightness and not all the LED’s will be lit up white at any time, I’m using a 5V 10A power supply which is more than enough for my purposes. (I’m sure people with far more experience can chime in here)

Panel Cutting

If you’re lucky enough to have a router, cnc or laser cutter you could create your lighting matrix board using those. You could even in theory print one with a 3D Printer. Either way, to look good it needs to be very accurate as you’ll be lighting this from behind so every defect is immediately noticeable.

I used a laser cutter but its only a low power (15 watt) model. Fortunately the work area is 400mm x 430mm and I needed 306mm x 306mm so perfect. I originally wanted to use soft timber for my array but my cutter is too low powered and the amount of passes required scorched the timber too much. A little experimentation with settings and materials found that black 5mm foam board works perfectly.

I used Lightburn Software to create the cutting templates. Lightburn has a handy array creation function, so I set two burn paths. One for the full square and then another for the 256 squares representing CRT pixels.

Note I said two templates as I made one for mounting the LED’s and a top one for the CRT pixel representation just like in the linked original project although he has 3 layers and I only have 2. The Anko Frame is only so deep but it still worked very well.

LED Bottom Template

The squares are 6mm to seat the LED’ in snugly.

Since the core is foam and foam contracts under heat I had to experiment on distance between each square on the top pixel layer so that it didn’t burn through to the other side. If this happens light will bleed into the cell next to it ruining the effect.

Distances ended up being 14.5mm squares with a distance between the centre of each LED being 16.8mm. This is the STD distance between each LED in a 5 meter WS2812B roll that I’ve found. Wall thickness is roughly 2.3mm.

Based on my laser cutter, material and settings each panel took 1 hour to cut. It is set and forget though 😉

Here’s the cutter in action!

LED Top Panel

Here’s the final result!

Construction

The LED strips are 3 pin. 1 x 5volt, 1 x Ground and 1 x data. This is the WS2812B spec. One downfall of this is that if a single LED or resistor fails on a strip, anything after it will stop working. The WS2813 spec LED’s avoid this by having 4 pins, doubling the data link. If a unit fails, it juts won’t light up anymore but the rest will. This of course would still be insightly but at least it will still work.

For construction, you need to cut the LED strip into lengths of 16 LED’s. The strips have 3 copper points between each light. You cut down the middle for each cut giving you enough surface area to achieve a connection.

You’ll layout and connect the strips in a backwards and forwards pattern snaking down the panel until complete. Like below.

————–>

<————–

————–>

<————–

Now if you’re like me and solder like a gorilla, the optional quick connects are recommended. This allows a solder free connection from one link to the next.

Here is the result.

Since the Arduino is powered by 5 volt USB, like the project site linked I spliced a spare old USB cable to fit both into the Arduino AND the power supply adapter provided. The power supply can now power both the Arduino and the light strips at the same time.

I taped down the strips as I went as they tend to curl up, especially when the joiners are attached. I ended up saving the tape as a good solution to keeping it all in place.

Connect the 5volt and Ground wires to the provided harness connector on the 1st strip. The data wire, goes straight into Pin 3 on the Arduino which is the data output pin we’re using in the program.

Shadow Box

The shadow box is essentially a deep photo frame. I picked a Kmart brand Anko 12″ (30cm) x 12″ version

Take the glass out and spray one side with the frosted glass spray paint. Only give it a light coat so that it doesn’t run and coats evenly. I gave it 4 coats and waited an hour between each. This gave the perfect result.

Once ready assemble all the parts into the frame.

Frosted Glass first, followed by Top Large Grid, then the RGB LED grid with everything attached. You can then re-attach the back with some padding to hold everything in place if required.

I still need to work out the best method for being having the power supply cable neatly integrated.

Programming

Last but not least we need to provide the Ardunio with something to display onto your brand new light panel. Since my original intent was classic arcade game sprites, my goal was to create as many as I liked.

The code uses an array of #rgb colour values like is often used for building websites. You define the colour for each LED. You can get tricky with other values such as brightness, repetition, patterns, fading etc but lets start with a static colour.

Looking at the code below you can see the RGB values organised in a 16 x 16 array of 256 values.

Colour Codes:

0x000000 = Black or for RBG LEDS turn off.
0xcccccc = Silver or Grey
0x0066cc = A shade of blue
0xff0000 = A shade of Red

// Create the array of retro arcade characters and store it in Flash memory
const long DigDug01[] PROGMEM =
{
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000,
0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000,
0x000000, 0x000000, 0x000000, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0xff0000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0xff0000, 0xff0000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0xff0000, 0xff0000, 0xff0000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0x000000,
0x000000, 0x000000, 0xff0000, 0xff0000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0xff0000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000
};

However making these by hand is not only difficult and confusing but damn tedious. So I started with sprite sheets I sourced from https://www.spriters-resource.com/arcade/

I thought the grid pattern mandated an easy solution in using Excel to create the sprite maps. So using the sprite sheets as a reference I then created using colours in excel, replicas of the sprites:

But then I wanted an automated way to generate the RGB code values above so created a Macro that grabs the referenced cell colour and displays it. I also used the Excel CONCAT formula to add the 0x prefix and the trailing comma so all I had to due was cut and paste the values straight into the Arduino IDE.

Now I can get really tricky and make the spreadsheet create the entire needed code but I’m not up to that yet, so in the meantime it’s semi manual. The sprites aren’t much other than a still pictures sequenced to simulate motion. This technique uses stop motion effectively so for any movements you need to create a sprite for each change. String them together much like a cartoon and you have your movement.

In the Dig Dug example there are only 2 sprite sheets I’ve created and I alternate between them to simulate movement exactly how it looks on an arcade monitor. In the code I call Sprite Sheet 1 to display and then sprite sheet 2 and tell it to repeat 8 times.

// Put DigDug first frame
for(int passtime = 0; passtime < 8; passtime++) { // The value 8 here can be changed to whatever you like but here is says run this entire sequence of code 8 times.

FastLED.clear();
for(int i = 0; i < NUM_LEDS; i++) { // Telling the program to use the number of LEDS stated at the start of the program
leds[i] = pgm_read_dword(&(DigDug01[i])); // DigDug01 here is the 1st Sprite Array Name above.
}

FastLED.show(); // Display the lights
delay(250); // 250 Millisecond delay before moving to the next below

// Put DigDug second frame
FastLED.clear(); // Clear the lights turning them off in readyness for the next frame
for(int i = 0; i < NUM_LEDS; i++) {
leds[i] = pgm_read_dword(&(DigDug02[i])); //DigDug01 here is the 2nd Sprite Array Name above
}

FastLED.show();
delay(250); 250 Millisecond delay before moving to the next
}
Important Point

The Code above is going to use those colour values in strict order. Now since you HAVE to string your lights in a single unbroken chain, they will display in that order but think about it. You snaked the LEDS backwards and forwards so the true required order is not how the colours are displayed in the Excel picture. They must be in the same zig zagging pattern, so the formulas I wrote in excel do the same thing. If you look closely you can tell that Row 1 values run left to right –> and row 2 values run right to left <–

Effectively every second row is displayed in reverse!

Full code snippet just for the Dig Dug animation:

/* Arduino 256 RGB LEDs Matrix Animation Frame
* Using WS2812 LED Strips

Created by Yvan / https://Brainy-Bits.com

This code is in the public domain...

You can: copy it, use it, modify it, share it or just plain ignore it!
Thx!

*/

#include <avr/pgmspace.h> // Needed to store stuff in Flash using PROGMEM
#include "FastLED.h" // Fastled library to control the LEDs

// How many leds are connected?
#define NUM_LEDS 256

// Define the Data Pin
#define DATA_PIN 3 // Connected to the data pin of the first LED strip

// Define the array of leds
CRGB leds[NUM_LEDS];

// Create the array of retro arcade characters and store it in Flash memory
const long DigDug01[] PROGMEM =
{
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000,
0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000,
0x000000, 0x000000, 0x000000, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0xff0000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0xff0000, 0xff0000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0xff0000, 0xff0000, 0xff0000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0x000000,
0x000000, 0x000000, 0xff0000, 0xff0000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0xff0000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000
};

const long DigDug02[] PROGMEM =
{
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000,
0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x0066cc, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000,
0x000000, 0x000000, 0x000000, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0xff0000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0xff0000, 0xff0000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x0066cc, 0x0066cc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0xff0000, 0xff0000, 0xff0000, 0x0066cc, 0x0066cc, 0x0066cc, 0x0066cc, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0xff0000, 0x000000,
0x000000, 0x000000, 0xff0000, 0xff0000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0x0066cc, 0x0066cc, 0x0066cc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0xff0000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0xcccccc, 0xcccccc, 0xcccccc, 0xcccccc, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000,
0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000, 0x000000
};

void setup() {
FastLED.addLeds<NEOPIXEL,DATA_PIN>(leds, NUM_LEDS); // Init of the Fastled library
FastLED.setBrightness(15);
}

void loop() {

// Put DigDug first frame
for(int passtime = 0; passtime < 8; passtime++) {

FastLED.clear();
for(int i = 0; i < NUM_LEDS; i++) {
leds[i] = pgm_read_dword(&(DigDug01[i]));
}

FastLED.show();
delay(250);

// Put DigDug second frame
FastLED.clear();
for(int i = 0; i < NUM_LEDS; i++) {
leds[i] = pgm_read_dword(&(DigDug02[i]));
}

FastLED.show();
delay(250);
}
}

Connect your Arduino to your PC, upload this code, plug it back into your frame and power it on and voila!

Note I have not fixed and sealed the back yet so you’ll see some odd shapes and light seeping through on the edges but when fixed properly it looks fantastic.

Extras

One thing I have done is to source some WiFi integrated 2560’s as I want to be able to program them over my WiFi Network instead of USB. I have not started this portion of the project yet.

Audio is another optional accessory that I considered but I think whilst very doable may become annoying. You can do this and even add a volume control if you like.

WIP Result. I’ve created around 100 sprites so far 🙂

Categories
Arcade Machine Electronics Mame

Italian Arcade Machine Restoration

Original Project Thread: https://www.aussiearcade.com/topic/97314-italian-arcade-machine/

Been a while since I’ve posted an arcade project so here’s my latest.

This cab has been sitting in my garage for years as a long non-started project. I recently took a couple of days off (in lock down) and decided it finally needed some love. Originally a container import out of Italy, it arrived non working.

Empty Italian Arcade Machine
Starting Shell

There was no life in the 35 year old Hantarex Power Supply rattling around loose in the cab and the Orion tube/chassis would also not fire up. Knowing virtually nothing about the electronics on those particular parts, combined with the age and state of them I ended up removing them from the cabinet.

Tube
Tube
Arcade Power Supply
Arcade Power Supply

I gave the cabinet a thorough clean as I’d never seen one like this and I loved the artwork and style of the cabinet.

Artwork
Artwork

I had to repair the front frame of the monitor mount. Its made out of MDF and in glued and screwed into the sides but has started to collapse. I ended up filling it with MDF glue, clamping it back into shape and letting it set overnight. I think its stronger than new now.

MDF Repair
MDF Repair

Unholy of holies I have a stash of 19″ CRT PC monitors so I de-cased one and slotted it into the chassis frame. A little diligence in cutting some of the plastics and it fit like a glove. Yeah yeah I know Arcade Tubes are far and away better and several of my other cabs sport them but I was in lock down with no access to any other parts so sue me 😉

19" PC Crt Monitor
19″ PC Crt Monitor

The control panel is covered with a sheet of acrylic now as the original underneath has many marks from cigarette burns. Notice the cigarette holder on the right. That’d never fly in Australia.

Cigarette Holder
Cigarette Holder

I gave it all a good clean, removing the rusted bolts and giving them the treatment. The treatment being locked into a cordless drill and spun against some finishing paper. Then undercoated and sprayed black. As usual they came up really well. The cigarette holder was removed and polished. The bolts for those were also rusted but I sanded them and then clear coated to prevent them rusting up again.

Rusty Bolts
Rusty Bolts
Finishing Paper
Finishing Paper
Cleaned Bolts
Cleaned Bolts
Bolts undercoated then sprayed
Bolts undercoated then sprayed

I re-built an old Dell PC I have a few of. Windows 7, Mame and MalaFE all configured and ready to go then interfaced it all with a J-Pac. Hands down the easiest way to get your controls running. Some test drives, configuring a few of the controls at a global level and everything is working as expected.

Note I was cheeky and edited the original MalaFE layout I’d selected to add my own description at the bottom.

Windows 7 PC
Windows 7 PC
MalaFE
MalaFE

I’d retained the Jamma harness and all of the micro-switch connections had been soldered on. Good practice but a bitch for replacement and maintenance. I was lucky in that there were no broken connections.

Another advantage of the J-Pac is the Shift Key function so I don’t have to drill holes and add extra buttons for Exit and Coin Inserts.

Further to this the coin mechs were still all wired up to the harness and dropping a 50 euro cent coin into the slots triggers a credit. Love it although I only have 5 of the coins. Thinking about modifying them to use the 100 custom tokens I have but with the J-Pac’s shift keys it would purely be a novelty.

Note the Price on the Inserts. I do need to replace the bulbs in there so they look nicely backlit. (Note this photo is before I cleaned it all)

Euro Coin Mechs
Euro Coin Mechs

Italian Gaming Licence ID:

Italian Gaming Licence

I’ve configured the PC to start up after power loss and MalaFE to start up with Windows.

The cab has an IEC power socket on the top with a fused switch. I wired that into a 4 port power board that I mounted inside the cab. This powers the monitor, PC and eventually a fluorescent tube for the marquee. The original was practically disintegrating.

Fused IEC Power Socket
Fused IEC Power Socket

Unfortunately the marquee (glass) was broken. So I scanned it with a flatbed scanner and have restored the image after I vectorized it. It’s now complete and I’ll send it off to be printed on a new acrylic marquee to fit. See my short instructional process for doing this. I’m easily an amateur but it got the job done.

Original Marquee Scan

Original Marquee

Restored Marquee

Restored Marquee

I’ve replaced all 3 locks (coin slot, coin box & rear access panel) with brand new barrel locks that are keyed alike for convenience.

Barrel Locks

I also purchased a low powered LED light to replace the original fluorescent tube and batten fitting. This has been plugged into the 4 port power board I’ve mounted inside the cab.

Marquee Light

Note the recessed bottom edge above. This is where the glass marquee sits and there would have been a metal bracket to hold it in. Alas this was missing so I had to reproduce one myself. I measured it up and a piece of 30mm x 20mm angled aluminium does the trick nicely.

I cut it to length, pre-drilled the two mounting screw holes then undercoated and painted satin black to match the rest of the cab colour.

Aluminium Angle
Aluminium Angle Fitted

There is also a mount for a volume control. I’ll be installed one of DavidAVD’s in-line volume controls into that in the next few days which will allow me to control the volume on the original single Jamma powered speaker.

Volume Control
Inline Volume Control

There is a chunk of chipboard missing from the top. I’m of two minds on whether to repair it or not. Like the coin door, I may leave it alone so it retains battered Arcade Cabinet patina.

As stated at the top, this machine is powered by a Windows 7 computer. It’s an old Dell machine retired from work that I’ve re-purposed.

It now has Windows 7 installed along with Mame and a number of games. Since Mame now emulates 10,000’s of games probably more since they’re merged with Mess and other systems the list of supported games is both overwhelming, cluttered, near useless and in many cases unplayable. This is especially true when you consider the fixed control panel options. This cabinet whilst 2 player only has two 8 way joysticks, 4 player buttons each and a Player 1 and Player 2 start button.

Not nearly enough to be able to control all those console, computer, gambling, pinball and other devices that this software can now emulate and lets be honest, who would want to.

So I cleaned the available list down to ONLY arcade games that use 4 buttons or less and joysticks where appropriate. This cut the list down to a manageable though respectable roughly 3000 games. You can refer to my page on List Filtering for detailed instructions on how to do this.

All up I’m very happy with the result and since the cab is not large, it now sits in my study instead of the garage arcade which is embarrassingly full.

I still need to replace and power the bulbs for the coin slots but after that I’m calling this project complete!

I recently completely the scan, stitch and repair of the Smashed glass marquee image. Once done I sent it off to be printed onto an acrylic replacement. A week later it’s been delivered and installed and looks fantastic, especially when backlit.