Apr 202008
 

When he saw my first jukebox, My friend Derek wanted a touch screen jukebox… So we built him one! A star trek jukebox! (Derek is a good friend so I took payment in Mtn Dew and Taco Bell)

The case is made of MDF, the front is made if plexiglas pained from behind, an old computer case donated the power supply connector and motherboard tray, a touchscreen pulled from a kiosk was purchased on eBay. The rest of the stuff probably came from Radio Shack and Home Depot.

I may be a nerd, but I think Star Trek LCARS is the coolest interface around. So I made an LCARS skin for DWJukebox.

The best free jukebox software I’ve seen so far – DWJukebox

Star Trek LCARS Skin / Preview / Download

Check out the jukebox build pics.


Mar 022008
 

It’s almost done!

Hanging on the wall, doin its thing.

Inside view. Made hole in wall to run wires into other room for power/network/audio out.

Computer case fans, running off +5v from the only USB port on the craptop.

Using a hasp to keep it closed.

Now that it’s done, what music should I put on it? I’m looking for party music. Please IM/Email/Call Me/TXT Cell/Leave suggestions in comments!

Feb 262008
 

I was finally able to put in the switches and hook up the controls tonight/this morning.

Here it is. The jukebox software started right up and everything worked perfectly on the first try.

Closeup of the buttons. The protective coating is still on the plexiglas.

Here’s the rat-nest of wires in the back. I don’t have cable ties on anything yet. The keyboard encoder is just taped to the side with double sided foam tape. The terminal strip is screwed to the bottom.

Feb 252008
 

Shiny things are pretty, so the jukebox is going to be shiny on the front.

The test piece turned out really well. It’s almost like a black mirror or something.

I painted the back side of the plexiglas with Krylon Fusion. It coated well and isn’t a bad paint job, but the front looks really nice.

It’s not very shiny in this picture because the protective coating is still on the front of the plexiglas.

I set the front on the rest of the cabinet. It finally looks like something I would be proud to own.

Feb 252008
 

It’s starting to look good!

The sides are wrapped with a random cloth we found at wal-mart.

The vent holes are wrapped around for a cleaner look. You can see there is padding behind the fabric to make everything look smoother.

The vent holes in the top will be covered with shiny metal fan grills and will have fans attached to the inside to keep everything cool.

Feb 252008
 

So… with the screen strapped to the back of the craptop, I’ll need some way to control the jukebox. Cheap momentary pushbuttons from RadioShack seemed like a good way to go. This picture isn’t a finished piece, but it shows the buttons wired up into a spare piece of plexiglas for testing.

The buttons do no good without something to connect them to. So I dismantled a keyboard, de-soldered the connectors, and soldered a ribbon cable into the holes. I connected the other end of the ribbon cable to a terminal strip so it’s easier to wire up the buttons.

Having a terminal strip wired up to a keyboard encoder doesn’t do any good if you don’t know which pins to short together to create a keypress. I dug out my scanner and scanned both layers of traces for the keys. I then used my image manipulation program of choice and made the traces colorful and figured out which key shorted which pins.

The keyboard encoder pinout is probably different between different models/brands of keyboards, so there isn’t much point for me to post that here. Another method of figuring out which pins go where is to partially disassemble the keyboard and use a multimeter on continuity test with alligator clips to figure out which key shorts which 2 pins. Yet another method is just plugging the keyboard encoder into the computer and shorting pins and seeing which keypress it caused.

Feb 252008
 

So, here’s how it went down:

Since I have an older craptop, I have all the drivers to run Windows 98SE. Windows 9x is great for embedded applications like this. I remember from when I was scheming to build a MAME cabinet with nice arcade controls wired up to a disassembled keyboard. I saw a link on someone’s project page to DWJukebox. I thought it was pretty neat. A recent episode of Systm made me remember MAME and all the cool hackery people have done around it. Anyhoo, Friday evening boredom led to this project.

Here was the plan:

  1. Install Windows 98SE
  2. Install all required drivers
  3. Map a drive to network share containing mp3′s
  4. Install and configure DWJukebox
  5. Replace explorer.exe with “C:\path\to\wincab.exe” in the shell= line of C:\windows\system.ini
  6. Reboot

DWJukebox should now be the only thing running when the computer is turned on. Brilliantly simple! In theory…

Since nothing works as well as originally planned, I had a few snags.

Installing the OS and drivers and mapping network drive all worked perfectly.

Wincab failed to load. It could not initialize digital sound driver or something… I’ve had issues with sound cards before, so one of the first things I tried was reducing the hardware acceleration of the sound card. I adjusted it one increment at a time, and it only works on the no acceleration setting. So, finally, Wincab.exe worked pretty well until I tried to set it as the shell.

It failed with a message about it not finding jbdefptr.ptr. I had been cruising around the support forums for DWJukebox and many posts had portions of jbdebug.log attached, so I enabled logging, but it didn’t put the jbdebug.log in the program folder like I expected, it put it in the root of the C:\ drive!

Since this is a dedicated computer that I’m not going to be using for anything else, I just moved DWJukebox to the root of the C:\ drive, updated the C:\windows\system.ini and rebooted.

It’s ALIVE! Er… well, it boots into DWJukebox and plays mp3′s from a network share.

Feb 252008
 

The internet is filled with very helpful people. Almost any project you can imagine has been at least attempted by someone somewhere. These links might be useful:

This link has a great explanation of how to use a keyboard for arcade controls.
http://www.dribin.org/dave/keyboard/one_html/

This is an example of someone that has already done what I plan to
http://www.hellspark.com/dm/mame/deprecated/keyboard/

That’s the rough idea.