Page 4 of 7

Re: Controller port to serial cable

Posted: Sat Oct 20, 2012 1:39 pm
by qwertymodo
Well, at this point I really need to figure out whether or not I have any way of testing this thing once I've built it. I don't have an SNES flashcart, so I can't run my own code. On your project page, you mention several potential use cases that sound like they could be done with retail carts. Could you elaborate on any of those ideas, or am I understanding that incorrectly?

Re: Controller port to serial cable

Posted: Sun Oct 21, 2012 7:54 pm
by qwertymodo
Ok, so I finally got one of these working on a HiROM board (SHVC-1J3M-11, to be specific), so I do now have the ability to run my own code, so long as it's HiROM. I build a LoROM board as well (SHVC-1A3M-30), but I can't get it to boot. I have a 3rd working FlashROM, but I don't have another donor board handy. I took a look at the SNES Software package on your USART project page, but I can't really make heads or tails of what's what. I see what seems to be PC-side code and other code that seems to be meant to run on the SNES, but I don't see a ROM in that package, or instructions on what mapping to use, or a description of what I should expect to see/do/etc. once it's running.

Edit: Turns out I did have a SHVC-1A3B-13 sitting around, but it won't boot either :-/

Re: Controller port to serial cable

Posted: Mon Oct 22, 2012 6:34 pm
by qwertymodo
I got the Samtec headers in today, and after a bit of Dremeling, it fits beautifully. The part number is MEC2-30(/40/50)-02-L-DV. AVNET sells them for $5. My offer to assemble and send you one still stands, once I get around to dragging my etching materials out again...

http://avnetexpress.avnet.com/store/em/ ... e=2&rank=5

Image
Image

Re: Controller port to serial cable

Posted: Mon Oct 22, 2012 7:36 pm
by Near
Man, you're a hero! :D

The site seems to be sold out ... but I guess I can back-order a big quantity of them. And only 500 before a price break! :P

Your link goes to the -WT version, but I don't see weld tabs on your picture ... did you dremel them off? I think I'd prefer to get the non-WT version to skip that if so.

Version -02, I didn't think the card was that thick, but it looks like it fits like a glove, so -02 it is!

Did you test all of the contacts to make sure they're all working, and not bridging any pins? (still not sure if the pitch is 2mm or 0.078")

How are the bottom pins that are now sticking out of the SNES? What I would really like is a way to get that into a 14x2 IDC header (female end), so that I can get the expansion port connected to a breadboard for prototyping. The spec sheet makes those pins look like they're surface mount or something. Your picture kind of looks like they're coming off teh board, but they're impossibly tiny. I'd really prefer to not solder to each and every pin if it can be avoided ... what's the easiest way to get this to wire up to a 14x2 IDC header? Worst case if I have to learn surface mount soldering, so be it.

In that case, I'd like to get a PCB fabbed that just breaks off to a male IDC header, then I can just run an IDC cable between that board and a breadboard.

I'd like to be able to do it on my end, because I'd like to offer these for sale. I'll be happy to pay you for any trouble.

Again, thanks so much. Been trying to get people to help me connect to this thing for almost two years now.

Re: Controller port to serial cable

Posted: Tue Oct 23, 2012 1:42 am
by qwertymodo
The site isn't sold out, Samtec parts just tend to not be stocked by wholesalers like AVNET and DigiKey. They don't sell enough of them to keep them in stock, but you can still order them and it just takes a couple extra days for them to get the parts from Samtec and then send them on to you. The -02 thickness only comes with weld tabs, I dremeled them off. The only issue I can forsee is that the socket isn't very deep, and I'm not sure how good a connection you'll get if the board it's mounted too isn't completely flush with the bottom of the SNES. Breaking this out to an ICD header is easy. I've already made EAGLE footprints for both the -01 and -02 variants. I didn't get any samples of the -01's, but the -02 seems to fit snugly enough. I tried etching a board for it and failed twice... I hate broken traces :( I'll try again tomorrow if I get the chance. Honestly, it would be easier to mount male pins to the board, which would mate with a standard IDC ribbon cable. You'd need an additional male-male adapter on the other end of the cable to connect it to a breadboard, but that's not a big deal...

Yes, these are surface mount parts, and no, I couldn't find a through-hole alternative. 2mm pitch is pretty gigantic for SMD, so it shouldn't be too hard. The one annoying thing is that the pins are a bit recessed under the connector, so they are a little tricky to get to. I've been meaning to write up a blog post chronicling my experiences in learning to surface mount solder... maybe I'll get around to it one of these days. There is a lot of information on the internet, but it took a lot of trial and error to find something that worked well and consistently for me. Some tips off the top of my head:

Equipment:
Absolute necessity
------------------
Decent soldering iron, adjustable temp, preferably w/removable tips. It doesn't have to be a $200 iron, mine was $35, but the $15 electronics store crap isn't worth the cardboard packaging it comes in.
Liquid rosin flux. Stay away from water-soluble flux, it's more trouble than it's worth, especially early on. I have a bottle with a brush attached to the cap, but some people prefer syringes (they make less mess).
High quality, fine-tipped tweezers. I prefer bent tips. You want tips fine enough that you have to worry about jabbing yourself with them. Big, fat tweezers are useless. Look somewhere like Jameco or SparkFun, somewhere dedicated to electronics hobby work, and they'll have good tweezers.
Desoldering braid. Use it for removing excess solder from bridged pins. On surface mount pins, the surface tension of the solder is such that desoldering braid will almost never actually desolder the pin. I tend to just flood the whole row of pins with solder, creating one big bridge, then suck it back up with the desoldering braid and it's done.

Nice to have
------------
Brass tip cleaner. It's a lot nicer and works far better than a sponge.
Desoldering pump. Useful on through-hole pins, not so much on surface mount.
ChipQuik. This is the easiest way to desolder surface mount chips. It's a low-temp solder that stays liquid for a very long time. Apply the flux that comes with it, flood every pin on the chip with ChipQuik, then go back around one more time to heat up all of the ChipQuik and pull the chip right off.
Magnifying glass. Nice if it's attached to a helping hand clamp as well.
Dental pick. It's nice for a lot of things...

My basic strategy is clean the board with 99% isopropyl alcohol, then apply liquid flux to the pins. Position the chip, then apply solder to one of the pins in one of the corners. Once the corner is tacked down, reheat the solder you just applied while manipulating the chip with the tweezers to ensure the pins are all properly aligned. Now, apply solder to the opposite corner and repeat the heat-and-position until the pins are perfectly aligned. Next, I apply solder across all of the pins, typically bridging all of the pins together on smaller pitch parts. Then, use the desoldering braid to remove excess solder and any bridges. Check for shorts and fix as necessary. Keep in mind that the more you reheat the same solder, the less it wants to flow, so some times you have to add new solder to a bridged pin in order to get it to flow into the desoldering braid. Getting solder to flow nicely is one of the most important things to get a feel for, and it takes practice. Solder won't flow onto to a cold pin or pad, you have to apply the iron to the connection itself and then bring the solder to it, don't apply the solder to the iron and then bring that to the connection.

...that's most of the tips I can think of right now... it's late, I need sleep. If I get a board etched successfully, I'll let you know how it goes.

Re: Controller port to serial cable

Posted: Tue Oct 23, 2012 11:53 pm
by qwertymodo
Third time's the charm.

Image
Image
Image
Image

Re: Controller port to serial cable

Posted: Wed Oct 24, 2012 3:51 pm
by Near
> Third time's the charm.

Hot damn, you are absolutely amazing!

How much will I have to pay you to help me be able to make these in bulk? :D

I've been working with Sullins Corp for a few weeks now, they finally got back that they weren't interested in making a custom adapter, so that's out, and this is my only shot.

Okay ... so starting off, I can buy the Samtec connectors and a dremel tool, but how did you get the PCB with the traces to each pin like that? And what's your part# for the IDC male header? Guessing it's just a 40-row cut to size ... I hear those things snap easily.

Would love to know all the parts and tools you're using to do the surface mount soldering as well. But anyway yeah, I'll buy whatever's needed so I can put these together.

Re: Controller port to serial cable

Posted: Wed Oct 24, 2012 4:44 pm
by qwertymodo
The only issue I see with this connector is, as I said before, it isn't very deep. You can kind of see by the photo, but the PCB kind of goes into the port at an angle because the slot isn't deep enough to go in flush. I'm not sure if that will affect the connection. I would suggest using surface mount IDC pins like these to help this fact (the through-hole pins make the issue worse because they make a gap between the bottom of the console and the PCB). I did some continuity testing to make sure that the pins on the IDC connector were making connections into the console, but I don't have a pinout for the expansion connector to know where inside the console to test continuity. A handful of the pins registered continuity to the game cart slot, so I took that as a good sign, but I wasn't sure how many of the pins were *supposed* to be connected, so I couldn't tell you whether or not there were issues. I did confirm that the connections are good between the IDC pins and the socket contacts. I also confirmed that there are no shorts between IDC pins when it's plugged in (i.e. the socket is properly centered so the socket connectors aren't bridging multiple pins). Just curious, but how many of these are you realistically looking to build? If you don't want to invest in the money, time, and effort to get set up for surface-mount soldering, I'd be willing to do assembly for you as long as it wasn't a huge quantity. With professionally fabricated PCB's, parts would probably run about $10 a unit for the design I used here. If you want something different, let me know and I can give you a cost estimate. As far as assembly goes, cutting the connectors down to size requires the most time out of anything, and soldering will be pretty simple on professional PCB's, since they have soldermask.

Re: Controller port to serial cable

Posted: Thu Oct 25, 2012 10:54 am
by qwertymodo
Actually, if I use surface-mount IDC pins, I can alleviate the board-propping issue by fitting the entire board inside the recess created by the removable cover. That should be much more reliable, but it requires a 2-layer board (which isn't a problem, I just can't reliably etch one myself...).

Something like this:
Image

Re: Controller port to serial cable

Posted: Fri Oct 26, 2012 10:27 am
by Near
Okay, I have an order for a half dozen of the Samtec's on their way.

> I don't have a pinout for the expansion connector to know where inside the console to test continuity

Oh, just take the SNES board out of its case, you can see the solder points for all the pins clearly on the other side of the board.

The male connector was soldered on through-hole style.

> Just curious, but how many of these are you realistically looking to build?

Initially, I wanted 500. But the cost of $5 per connector is too high for that. So I'd say 100. But of course, I need something actually working first, so probably 20-25 for now until we have the actual comm board between the PC and SNES working.

> soldering will be pretty simple on professional PCB's, since they have soldermask.

Not sure what that means, but I assume it means it's 'pre-tinned', so all we have to do is heat the pins with a dry iron and move on?

It'd be even cooler if we could stick these things in a toaster oven to reflow the solder :P

> Actually, if I use surface-mount IDC pins, I can alleviate the board-propping issue by fitting the entire board inside the recess created by the removable cover. That should be much more reliable, but it requires a 2-layer board (which isn't a problem, I just can't reliably etch one myself...)

Sounds good, let's do it. Looks like we want a 4cm x 1.5cm (max 5cm x 1.5cm) board, surface mount on each side.

If you can do the EAGLE map or whatever, I'll put in the order for 50 or so boards to start us out. Just be careful with the placement of the Samtec connector, that has to be perfect for it to fit.

Re: Controller port to serial cable

Posted: Fri Oct 26, 2012 10:55 am
by qwertymodo
I know of a good place to get prototype PCB's in low quantities (1-3), so how about this: I'll go ahead and order myself the parts to build one, and once I'm happy with it, I'll send it to you so you can test it out and see if you're happy with the design. At that point, once we're both satisfied, then we can figure out the logistics of a larger order. With this design, the connector should sit pretty snugly in the recess, and the board should be close to flush with the bottom of the SNES case, so when you start looking into designing actual add-ons for this, all you'll need to do is have one of these on your add-on.

Re: Controller port to serial cable

Posted: Fri Oct 26, 2012 11:17 am
by lidnariq
byuu wrote:Sounds good, let's do it. Looks like we want a 4cm x 1.5cm (max 5cm x 1.5cm) board, surface mount on each side.
Measuring the full gap with calipers, it looks like at maximum you could fit a 17mm×65mm 2mm-thick PCB in there, with a 2mm radius quarter-circle for the corners. Obviously smaller (like you said) reduces chance for error.

Re: Controller port to serial cable

Posted: Fri Oct 26, 2012 11:46 am
by qwertymodo
Continuity looks good, but hold off ordering any more connectors for now, I want to get a sample of the -01 thickness to compare. The -02 makes a good solid connection, so don't worry about the ones you've already ordered, but I think the -01 might be a better fit. Also, I have calipers, so I can measure the recess just fine. I don't want to fit it exactly, or it would be a pain to remove. Besides, PCB's are sold by area, so it doesn't make sense to add a bunch of unnecessary empty space to the board. I want to add enough of a tail to one side that our indicates a "right" way to put it in, but I don't want to have it exactly the same size as the recess. I'll mark pin numbers on the silkscreen layer to match the pin numbers on the SNES PCB silkscreen.

Re: Controller port to serial cable

Posted: Fri Oct 26, 2012 6:00 pm
by MottZilla
I'm a little confused as to what's going on now. First talk of a controller port serial communication setup and now expansion port connectors. This is meant for debugging stuff? What is the expansion port meant for? MSU-1 as a separate device finally? ;) Sorry if it should be obvious, the thread was split so it's kind of odd.

Re: Controller port to serial cable

Posted: Fri Oct 26, 2012 6:15 pm
by qwertymodo
We were originally talking about creating a hardware serial debugger that communicated through the controller port. Then, when I came across a connector compatible with the expansion port, we got sidetracked. Eventually, the idea is to take the hardware debugger idea and use the expansion port instead of the controller port, since the expansion port gives you a full 8-bit data bus, rather than the 1-bit serial bus coming out of the controller port. So it's all related to the original hardware debugger project, it just took a leap in a different direction when I found that connector, since byuu's apparently been looking for one for a very long time... Also, the way this adapter works, you could use it to develop any kind of expansion port device that you like, not just the hardware debugger we've been discussing. From what I've read, the MSU-1 can't be an expansion device anymore, but that doesn't stop someone from creating their own device along that same idea...

Anyway, I drew up some photos of where to cut the Samtec connectors to get them to fit properly. Notice that you actually cut out 30 pins and use the the divider between pins 29+30/31+32 as the outer edge of the final connector. You shouldn't have to remove pins 29 and 30, but I did (just ripped them out with a pair of needlenosed pliers). I would probably just leave them in, since they don't actually come out cleanly. In the first photo, the top connector is the finished one that I have mounted on the board, held next to an uncut one to show where each cut occurs.

Image
Image
Image