Intel Edison: USB Storage Sled

I’ve been spending the last year or so playing with the Intel Arduino products – Namely the Intel Galileo and the Intel Edison. One of my projects the last few months has been Making a LinuxFromScratch Linux Kernel with full build tools, Xwindows, and QEMU running WinXP SP3. Included in this build is a XWindows software FrameBuffer w/ VNC capability; that way I can run a networked gui and do some GUI type work.

Chrome x86 running on Edison under XWindows
Chrome x86 running on Edison under XWindows

The Edison is cool because it’s just powerful enough to run WinXP under QEMU without any software emulation. While I wouldn’t call the Edision a speed demon – it should be good enough to allow printer drivers to function. The onboard storage for the Edison isn’t really big enough to run WinXP from the eMMC flash; so I opted to run a SSD attached to the USB2.0 port of the Edison. Edison runs as the “master”. The end goal of providing “always on” scanner and printer driver capabilities for my old HP all-in-one color laser and the ULS-25E laser cutter.

Windows XP SP3 running on Intel Edison
Windows XP SP3 running on Intel Edison

I also wanted to run a rotational drive .. to act as a swap space for both Linux and for the Winblows PageTable. To do this; I built a Microdrive FLEX to 44pin 2.5″ IDE adapter board and attached it to the Edison via a usb->ATA adapter. I verified all of this works with a usb hub.

With the concept proven; I set about generating a Intel Edison USB Storage Sled. This PCB provides power to the Edision and then connects up a 4port USB hub. This hub then serves the USB->SATA->mPCIe->Intel SSD, a USB->PATA->flexIDE Microdrive, and an extra device port. I set about putting the Sled in a SparkFun Edison Block compatible form factor early in the design phase. Clearly this much stuff on one board prevents me from adhering to the tiny formfactor; so I grew it in the X direction to 4.5″ wide and about 2.1″ tall. This board provides all the power to run the SSD and PATA interfaces. The board is 4 layers; due to USB2.0 routing requirements / impedance matching.

Why the Sparkfun Edison Block formfactor? Well simply put; I wanted to be able to expand the “system” with more features I don’t forsee at the moment. Example: I do not currently need an SDIO card on my Sled – honestly; I’m lazy and don’t want to route the pins. But; if later I need it – I can just buy Sparkfun’s Block and add it to the system.

I’m requesting comments / suggestions / peer reviews for the design; as a result I’m posting it here. The first 3pages of schematics are Licensed to you as Derivative works of Intel and Sparkfun. The last 3 pages and the PCB Layout are currently ALL RIGHTS RESERVED Copyright 2015 by John Zitterkopf. ATM; I’m thinking I’d release the final design under a TAPR/NCL license… but I haven’t committed to that yet.
Prototype Schematics / PCB Layout

In addition to the features above; I’ve designed in some USB Muxes to aid switching the Edison into Device or Host mode (similar to the Intel Edison Arduino board). I’ve also included the Lipo Battery charging circuit to provide a limited UPS type capability to the design incase of small power outages due to lightning or what not. Lastly; I added an I2C eeprom which can be programmed by the Edison for the USB to SATA bridge chip.

Update 8/28/2015:

Here are some pictures of the finished prototype:
Secondary/Edison Side

Primary/mSATA side

Feel free to leave a comment here (which will be reviewed by a human prior to posting) or provide comments in the various threads / project logs below:

Chicago Dynamic Industries Sound Card (EM Gun Games)

A fellow Arcade collector sent me this Private Message a few months ago on the KLOV forums:

I’ve got an old EM Chicago Coin “Shoot Out” gun game. Works great, but came without the sound PCB that generates the gunshot sound. They also made a “Coney Island” game that used the same sound PCB, but I’ve been searching for ~5 to 6 years for a used board with no success.

The problem with the soundcard is it used older End-Of-Lifed (EOL) transistors that can’t be easily found. I offered to help him design a PCB and BOM which would duplicate the sound and provide a “modernized” BOM which could be ordered off Digikey.com. He reported back that after some rework to the pinout; the card worked as expected. As a result; I’ve incorporated the rework (ie corrected the design)… and have provided the materials here for the public to duplicate and use for any older machines which are missing (or has a non-functional board) the EM Gun Soundcard used in these games.

The major changes to this board vs the original are as follows:

  1. The PCB is double sided with large ground plans to aid in noise reduction.
  2. Additional caps are placed on IC1 (LM380) and the Zener diode regulators to help improve the immunity of the circuit to noise. CIC1, C22, C23 – all .01uf.
  3. PCB’s has both a top and bottom silk screen:
    1. Top has values and reference designators to aid in assembly and debug.
    2. Bottom has used edge fingers labeled as well as the legs of the transistors; again for debug.
  4. All transistors were replaced with 2N3904 NPN transistors which are very much still in use today. The single PNP was replaced with the 2N3906.
  5. Test points for the 18V, 12V, 9.1V, and ground rails are provided for easily troubleshooting the voltages on the sound board.
  6. LEDs provided for the 12VAC and 30VAC lines coming into the sound card. Again quick glance that there is at least some voltage going into the sound board.
  7. Although not needed in a real game; two mounting screw holes are needed if you have a non-standard installation.

I’ve decided release this design to the public under the TAPR Non-Commercial Open Hardware License which indicates:

You may make products based upon this design, provided you do not make more than ten units in any twelve month period for your personal use.

If you agree with the license terms; Schematics and BOM lists are posted here under TAPR/NCL license:
Rifle 444-310 Soundboard Package

Ordering should be easy: https://oshpark.com/shared_projects/6GKvZu4s
The boards are $67-ish for a set of 3 PCBs… and they are high quality. Gold plated fingers, two layer, silkscreen on both sides. It’s the cost of doing prototypes. OSHPark usually get the PCBs back to you in about 2 weeks.

BOM Cost from Digikey came to a WHOPPING $17 for one board. My advice is to take the BOM and multiply it by 3 in Excel or some other spreadsheet app. It’s usually cheaper to by 50 or so of the resistors. IE in one qty; they are 8cents… in 50s they are > 3cents. I usually buy 50-100 of each; just so I have them around when I prototype on breadboards and such.

The PCB is very compact; it was done this way to save on the prototype PCB sq inches cost. If you find some of your components are tight; you might try laying them similar to this:
http://pcb.bastl.sk/?page_id=50

Here’s a picture of the assembled board:

Rifle Ricochet sounds w/ AMP Fab B assembled
Rifle Ricochet sounds w/ AMP Fab B assembled

Hope this helps the EM Gun collectors out there. If it does… please drop me a comment letting me know it’s done some good!

Star Trek: The Next Generation Klingon Bird of Prey Mod

I recently purchased a
1994 Hallmark Star Trek Klingon Bird of Prey
from a fellow Pinsider. This Ornament came ready to install into my 1996 Williams Star Trek: The Next Generation Pinball machine. However before I installed it in the machine; I wanted to make further modifications to the item. My previous installation had installed a die-cast

2005 Corgi Klingon Bird of Prey

for which I’d followed the recommended installation of putting the incandescent light bulbs under the ship:

Before – incandescent light bulb sockets- ICK!

Immediately upon this installation; I knew it wouldn’t do… but I waited several years until I got one of the hallmark ship mods. I decided back then that I was going to put some Electroluminescent panels under the wings… but then came to my senses that the EL panels loose their brightness rather quickly. So; after getting the Star Trek: Mirror Universe pinball machine to a Phase1 complete state; I returned my attention to this mod. I decided this time that I was going to use superbright surface mount LEDs to replace the light bulbs and their bulky sockets.

I started by researching the type of LEDs. A Digikey search came up with some super brights; relatively cheap but with a lot of light output. I figured I could fit about three of these LEDs under each wing; so I began the design phase of the project. I started by doing a pencil rub of the wing’s paint job. This gave me an approximate size of the PCB I needed under the wing. I scanned this pencil rub into the computer and vectorized it into a PCB using the technique posted here. With the PCB outline created; I proceeded to create the schematic of the LED board. I made a design choice to rectify the 6.3VAC GI power rail so that polarity wouldn’t matter during install. I also decided that I’d use a BJT current mirror to light the first LED and drive 20mA thru it. Then use the second leg of the current mirror to drive the remaining two LEDs. To ensure stable voltages/currents; I put a 3.3V LDO regulator and some caps on the first leg to try and keep the brightness from flickering with the 120Hz FWB power rail.

I have decided to release the schematics to the public under the TAPR Non-Commercial Open Hardware License which indicates:

You may make products based upon this design, provided you do not make more than ten units in any twelve month period for your personal use.

If you agree with the license terms the resultant schematic is posted here under TAPR/NCL license:

STNG KBOP LED schematic
STNG KBOP LED schematic

You can buy the bare PCBs from OSHPark from here. Total cost to build this board in single unit quantities as of 6/15/2014 was $14.55 / a pair of boards.

The entire project package is here: STNG_KBOP TAPR Package
It contains the schematic, NCL license, Bill of Materials.

This project requires SMT soldering skills so be prepared. I used a syringe with solder paste to populate the PCBs then used a skillet to reflow the solder. Here’s the assembled PCBs:

Then I assembled tested the circuit first with my 5V bench supply; then with a 6.3VAC transformer from RadioShack:

With the boards tested; I began refitting the Hallmark KBOP mod which looked like this:

I removed the green heatshrink hiding the LED wing guns and cut the red & black wires as I had recreated the wires in the PCB and had embedded the resistors hidden under the black heatshrink near the guns:

Originally and in the PCB file; I had decided that I wanted to use 2 qty #0 self taping screws to hold the PCBs in place. These were speced at McMaster Carr as #94209a005; but I didn’t want to pay for S&H for that single box of 50. Instead I drilled out the holes a little larger and used #2-56 @ 3/16 of a length. I carefully marked drilled the wings of the KBOP and taped them with my #2-56 tap set. You MUST be careful here not to drill through the wings. Here’s the PCBs mounted:

I then proceeded to solder the cut GI wires for the wing guns to the Jin connections on the PCB. I also connected the Guns to the JWing connection at the edge of the PCBs with a short piece of red rework wire after removing the inline resistors at the LEDs. I secured the electrical connections at the gun LEDs with some liquid black electrical tape:

I then proceeded to attach the GI connection from my machine along with the bracket. Reusing the older wireing harness as desoldered from the bulb socket assembly made sure the under wing LEDs lit in the same was as the bulbs:

With that the modification of this mod is complete. Here are some mandatory money shots to encourage you to do the same to your machine:

Overall I’m very happy with the results; the Red LEDs really light up the Playfield and I do not have to look at those light bulbs any more. The only thing I noticed with this mod is that my machine doesn’t seem to give me enough voltage at the GI connector to fully lite the two LEDs on the second leg of the current mirror. I think this is because the STNG controls GI; which means there is an extra silcon device between the 6.3VAC transformer and the GI lamps. This is evident when running the shuttle craft missions when all the PF lights are of in this video mode. In a future revision of this mod; I might try directly hooking the second leg of the current mirror straight to the GI input (not FWB rectified) to see if I could coach more voltage across these two LEDs in series.

This PCB obviously fits the 1994 Hallmark ornament seen here and it also seems to fit the Corgi 2005 Klingon Bird of Prey also used in modding these machines.

Enjoy Modding!

EagleCAD Tutorial: Custom shaped PCBs

As seen in the Worklogs for the Star Trek: Mirror Universe Pinball project; Making custom shaped PCBs in EagleCad isn’t all that difficult. With a CAD file; one can make some pretty unique shapes to fit the project you’re working on. This tutorial aims to show just how easy it to create the perfect shaped PCB. The Author used this technique to create custom LED boards in the Mirror Universe project which replaced all the Switched Illumination sockets on the underside of the Playfield.

Pre-Requisites:

  1. EagleCad 5.11 or higher (tutorial written for 5.11).
  2. DXF2SCR from micromagic systems. (It’s Free and Awesome)
  3. A DXF file to convert. Scroll down for a .ZIP file containing files used in this Tutorial.
  4. About 10 minutes to do your first PCB outline.

Making the PCB shape

Please click the pictures below to be taken to a higher rez screen capture/picture.

1) The toughest part of this tutorial is creating the CAD file (DXF) which will serve as an input to the DXF2SCR tool. The author uses the Free  GPLed version of QCAD to create DXF files. Teaching QCAD is beyond the scope of this document; but the basic principle is that you want to create the outline of the PCB in CAD via a series of curves or lines. Make sure you put in any mounting holes you want … and maybe even some documentation layers; like a center line or critical component locations. This allows your PCB to be “exact” without having to move holes, lines, or arcs in EagleCad.

Once you have the CAD (DXF) file; you can proceed to covert the file using the DXF2SCR tool. Start by opening the tool and selecting the input DXF file and the output .scr file. The SCR file is used later to “draw” on a blank PCB canvas. More on that in a bit. Make sure you match the units in which you created the DXF file. In my case; I almost always use inches. At this point I basically leave everything else at defaults of 1mil (0.001 inches) line widths and no offset. I leave the line with at 1mil because I can change the width in eaglecad based upon whatever I’m trying to accomplish. For much of the file; it’ll be an outline – and most people recommend you leave the outline as a “hairline” so the fab house doesn’t “charge” you for the additional 8mil width of the outline.  Once you have the setup complete; click the Convert button on the left.

PCB Tutorial: DXF2SCR screen shots

If the conversion is successful; you should see the number of lines, arcs, circles, converted along with a Complete message. If you get that, you can move on to the next step.

2) I start by opening EagleCad and Selecting File/New/Board… This gives me a blank canvas to create the outline on. I’m fairly sure I’ve done this on an already created board; you just have to be careful how you move the outlines and such with components are in the way. By far tho; it’s easiest that you either create the Schematic after the PCB outline, or at least make sure you don’t place parts “inside” the normal rectangle when creating the PCB from schematic.
You need to run the script created in step 1 above. This is done from the File / Script… dialog. Select the SCR you created in step 1 (or in our case rollover2k.scr) and hit open.

PCB Tutorial: Run Script

3)At this point EagleCad should begin executing the script drawing your arcs/lines/circles on the  Dimension layer (layer 20).

PCB Tutorial: Custom Shaped PCB

At this point you should begin to move the documentation shapes to either tDoc or bDoc and then later move them to tSilk / bSilk if necessary. You want to leave the outline and any mounting holes as 20 Dimension Layer… as that is what the gerber generator uses to generate the .oln file when you commit this design to the PCB Fab houses like OSHPark.

If you do transfer some of the lines to a silkscreen layer or even a copper layer; you should remember to change it’s width to the minimum tolerance allowed by your FAB house. In the case of a 2layer OSHPark file… it’s probably 8mils (0.008 inch).

With the steps outline above; you can basically use the CAD file as an input to even align LEDs on a evenly spaced spoke pattern or really any desirable orientation.

I’m providing the input files here for you to follow along with the steps above. Download it here:
Shaped PCB Tutorial Files

This PCB outline was used in the Star Trek: Mirror Universe as the GI lighting for the Star Rollovers. The star plunger fits inside the center hole and the two holes on the side provide mounting to the underside of the playfield.  These PCBs light the Rollover from the underside with Red LEDs.


Hope this tutorial helps!
John