OK, new idea. (UZEBOX Stamp?)

Topics regarding the Uzebox hardware/AVCore/BaseBoard (i.e: PCB, resistors, connectors, part list, schematics, hardware issues, etc.) should go here.
CompMan
Posts: 91
Joined: Mon Aug 25, 2008 3:48 am
Location: Kent, WA

Re: OK, new idea. (UZEBOX Stamp?)

Post by CompMan »

uze6666 wrote:ENC28J60/Magjack
I assume this means you decided to go with my idea for Ethernet and not the XPort.

I like all of your decisions. I agree long term this configuration will work the best. I also like the idea of using jumpers to be able to disable things like midi.

Compman
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by uze6666 »

Yeah you were right :) . I had a look at your approach and it was a better solution, specially for a PCB. Much cheaper and faster since it uses the SPI. Btw, did you made any progress on your implementation? Could it be used on the uzebox?

I really hope we can have one made soon.
CompMan
Posts: 91
Joined: Mon Aug 25, 2008 3:48 am
Location: Kent, WA

Re: OK, new idea. (UZEBOX Stamp?)

Post by CompMan »

I have been doing some software for this but I have yet to test it. My programmer is broken so I have to order a new one.

I think we can reduce the amount of code on the Uzebox by adding a small server side script, maybe JAVA.

Compman
havok1919
Posts: 474
Joined: Thu Aug 28, 2008 9:44 pm
Location: Vancouver, WA
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by havok1919 »

uze6666 wrote:I just read PSX docs and I think I got over exited a bit. Its much more complex both in term of protocol and cycle count. I'm really divided on that joystick issue!
Ok, so let me comment on that for the sake of debate. I have a few concerns about relying on the NES/SNES pads...

a) does anyone have a source for the NES joypad connectors in volume? I've *seen* the NES connectors on Andre's Hydra board (xgamestation), but I don't have a source for them. I can get a friend to ask the guy that owns Parallax if he knows their supplier. I had to buy ~2K of the PSX connectors as a minimum order from Taiwan a couple years ago so I'm worried that NES connectors might have the same volume commitments. The couple links I've seen online have been pulls from dead NES's and they only had a few parts. Even a 10 pc run of boards would wipe 'em out, much less 100...

b) does anyone have a source for new NES control pads with the original style connector? Most of the ones I've seen recently have been Famicom clones using DB9's. I found a couple in the $8/ea range and again, I notice that Andre found 'em for the Hydra, but I kinda doubt he'd want to help us out since he'd undoubtedly see Uze's design as competition.

c) dual-shock PSX joysticks are <$2/ea new from China, PSX mice are ~$3/ea... I've bought digital PSX joypads for $0.76/ea, new, in small quantities. (!) The only NES pads I know of in production at the moment are the Generation NEX wireless for ~$45. There's a SNES aftermarket pad for about $8/ea (cost), but the mating connector is a problem.

Basically if this turns into a "100+" volume market I don't much fancy relying on used NES pads and pulled connectors to try to build hardware. Just been burned by component shortages way too many times. ;)
1) We need a "standard" board with all bell and whistles. A thumb could be nice afterwards.
Fair enough. (Although technically the 'standard' board could just be a carrier board with a little thumb/stamp type module on it.)
2) Lets stick to the simpler NES/SNES serial protocol.
(See above.) ;)
3) A board should have the two NES PH connectors and also related empty through holes for direct wire soldering. It should have the requested D-sub connectors with two 4021. That will support in one shot genesis and Amiga/C64 joysticks and perhaps PSX with the help of your adapter. (could it be on the board directly?). A jumper will be needed due to 5V not being on the same pin (I think).
Losing some of the elegance and packing on some costs there, IMHO. It's doable, but the PCB is growing and the costs increasing. :? If you gotta have DB9's I'd suggest getting ones with plastic shells (otherwise the metal hoods will shave down the plastic joystick plugs and they'll cease to fit 'snugly' after a while). Unfortunately I don't have any sources for cheap plastic hooded DB9's... More like ~$2.50/ea in 100's.

I admit that I'm not a fan of the serial shift registers really. I'll have to go look at the page discussing them and see if I can't get my enthusiasm up. ;)

I already have an AVR assembly implementation of the PSX stuff. Maybe it could just run in game-code land and not in kernel time or something. (as long communications happen at about 60Hz things are OK-- most controllers have no 'time' requirement at all, but the wireless ones do.)
4) We need SD interface and ethernet with the ENC28J60/Magjack, composite, svideo and MIDI IN. There should be a jumper to disconnect MIDI from the UART to make it free for other uses.
Load MIDI on all boards then? (I wasn't including that in my earlier costs-- I figured that would be a "small minority" feature.) Are you saying ethernet is standard then too? (I fear we're rapidly approaching $100 retail price boards with all this)
5) A header to get access to most pins and a separate standard spi header socket
Affirmative. (Are you meaning the 6 pin AVR-ISP socket?)
6) I know you prefer SMT, but I strongly prefer DIP mounted on a socket for the MPU. For two good reasons: to replace it if it blows and to be able to upgrade to the new 1284P.
It's possible to go DIP MCU, but man... That's pretty much negating everything I was shooting for. (small size for lower PCB cost, parts commonality with other products I have in volume production to get the price breaks on components, little if any through-hole to keep automated assembly costs low-- throughole is a hand-op and as soon as a tech touches it we're adding dollars per board in labor). Do people really smoke MCU's that often? I had more people mangle DIP parts putting them in and taking them out than I've had SMT devices fail. :)
Here you go. I know this will raise the cost a bit, but I think we'll have a winner. And your price will be mine (and ours). If you want, I'm willing to buy you a batch to resell. Hope you're still interested?
Yeah, I don't want to push back too hard on your plan (it is *your* gizmo!), but that's really diverging from what I was hoping to do... Don't get me wrong, it's doable, but the up front costs will be higher (need to buy more 'new' parts in quantity), the PCB costs are higher (larger), assembly costs higher (hand-adds, probably need to run it over the wave instead of just the SMT oven), BOM costs higher (multiple connectors, more parts).

Maybe at this point we should agree to disagree? I can still do a design for you to your specs and get all the manufacturing package and stuff ready and then you can just pay for the parts and assembly on them (or just make 'DIY kits' if you prefer). I'd still go ahead with my smaller, SMT version and/or a stamp+carrier board instead.

-Clay
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by uze6666 »

Maybe at this point we should agree to disagree?
So close to the goal, are you crazy ;) ? A bit of negotiation is always fun...no :D ?

That said, all your points are valid, and your are the specialist here, not me. More I think of it, with (at minimum) a carefully planned standard buttons matrix as we discussed, the rest doesn't really matter for each implementations. So I'm more than willing to concede on your points since we came a long way in two days, and I prefer something thats not *exactly* what I would like, than nothing at all!

Soooo...to recap:
1)Lets go for a stamp+board, full SMT as you proposed. As I said initially, I love the stamp idea. The stamp would have the pinout of a 40 DIP I guess, to expose all pins?

2)For the MIDI, leave it out. I agree its a "small minority" feature. And having a header makes it irrelevant.

3)Happy you agreed with a 40 pin header on the board. Small detail, but an ISP connector, like in the picture, would be perfect.
board.jpg
board.jpg (1.98 KiB) Viewed 7224 times
(just love that blue!)

4)Forget the DIP version then. We can always have another batch of stamps made when the 1284 comes out...right?

5)Since it's already designed, use your weighed DAC. IMHO, it won't make a big difference visually anyways.

6)You did not comment on the SD card and ethernet. I assume you were ok with those. I (you know it by now ;)) would love to see them there. If so did you intend to use a ENC28J60/Magjack solution?

7)For the rest, I think we agreed on having these on the main board: composite and svideo, mono audio and power connector. I guess a power switch, led and reset button were already planned.

8)Remains the joystick "issue". I rejoiced when ladyada found that manufacturer. Can you have a second look for NES/SNES connectors and pads in bulk there? Otherwise, I really dont know the impact of using a PSX interface, can you mail me your ASM code please? I'll have a look to confirm the impact. To me, its bus protocol seemed rather complex for the resources available to the uzebox. However, you told me that connectors and pads can be bought for peanuts. If you include them in the kit, well, I would concede on that too. But again, if you could find a way to make it with a SNES interface, you would make me a very happy man!

Wow, I really need a beer man...to much time in front of my computer lately! :D

Thanks for your time and let me know what you think!

Uze

ps: yeah Andre's console is also pretty awesome. However I didn't like the idea of learning their SPIN language. Moreover, with 32-bit running at 80mhz, too much power, it was not challenging enough... ;)
havok1919
Posts: 474
Joined: Thu Aug 28, 2008 9:44 pm
Location: Vancouver, WA
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by havok1919 »

uze6666 wrote:
Maybe at this point we should agree to disagree?
So close to the goal, are you crazy ;) ? A bit of negotiation is always fun...no :D ?
Hahah... Yeah, I just didn't want to annoy you by fighting all your suggestions. ;-)
1)Lets go for a stamp+board, full SMT as you proposed. As I said initially, I love the stamp idea. The stamp would have the pinout of a 40 DIP I guess, to expose all pins?
Yeah, I think that'll work out best for everyone initially. The nice part especially being that instead of swapping out an entire board, they can just get (or make) a new baseboard depending on what they want. (ie, you could have a baseboard with 'everything', or one with just MIDI and maybe a better (more expensive) audio LPF for higher audio quality, or one with a motor controller, or a SCART interface, or RS232 or RS422, or PS/2 mouse/keyboard, etc. And you can swap the 'stamp' board and reuse the baseboard. (if you wanted an xmega version or something)
2)For the MIDI, leave it out. I agree its a "small minority" feature. And having a header makes it irrelevant.
Ok, we can just leave the 'serial interface' to the baseboard.
3)Happy you agreed with a 40 pin header on the board. Small detail, but an ISP connector, like in the picture, would be perfect.
board.jpg
(just love that blue!)
Heheh... I have plastic hooded 5x2's and 3x2's I think. (I kinda like the 3x2's since that's what I seem to use on AVR stuff now, but 5x2's work...) We can probably put a 3x2 right on the stamp at the expense of component height (or mount it on the side of the PCB perpendicularly). Or it could go on the baseboard.
4)Forget the DIP version then. We can always have another batch of stamps made when the 1284 comes out...right?
Yeah, could always have some of each-- some people might want to save the money and just use the 644 even after the 1284 is ready. (No sense in paying for extra memory if you don't need it.)
5)Since it's already designed, use your weighed DAC. IMHO, it won't make a big difference visually anyways.
I doubt it'll matter much either. NTSC = Never Twice the Same Color. ;) OTOH, it would make graphics converters easier since you can just shift and mask the bits instead of converting the blue to a scalar and then re-applying the different binary weighting points. It'll probably be a little better on LCD's to. (Since they quantize color coming in with their NTSC decoder they seem to show color 'steps' more noticeably.) (also makes the BOM shorter and assembly costs lower (fewer feeders) since all color guns use the same resistors)
6)You did not comment on the SD card and ethernet. I assume you were ok with those. I (you know it by now ;)) would love to see them there. If so did you intend to use a ENC28J60/Magjack solution?
I actually had it tucked in by the MIDI comment. SD, yep. I'm going to put a microSD socket on the stamp, but then we can have a regular SD on the baseboard if people wanted that instead. (I'm just thinking it'd be nice for "all" the MCU/memory/audio/video to be on the stamp.)

Ethernet I would suggest goes on the baseboard. (otherwise it'll burden the cost of the stamp board-- and people that just want to play around with games don't need to be paying an extra ~$10-20 for something they won't use.) That having been said, I did order some of the Microchip parts in QFN to see how they'd fit on the stamp board. But even the integrated magnetics jack is pretty big...
7)For the rest, I think we agreed on having these on the main board: composite and svideo, mono audio and power connector. I guess a power switch, led and reset button were already planned.
I didn't have a power switch on there... again, a good baseboard feature. ;)
8)Remains the joystick "issue". I rejoiced when ladyada found that manufacturer. Can you have a second look for NES/SNES connectors and pads in bulk there? Otherwise, I really dont know the impact of using a PSX interface, can you mail me your ASM code please? I'll have a look to confirm the impact. To me, its bus protocol seemed rather complex for the resources available to the uzebox. However, you told me that connectors and pads can be bought for peanuts. If you include them in the kit, well, I would concede on that too. But again, if you could find a way to make it with a SNES interface, you would make me a very happy man!
Yeah... If we can get SNES or NES connectors I'm happy to include them. I've got a thought though...

Right now you have four digital lines for the two NES pads. If we add one more line, we can support a single PSX pad. So that's five I/O's. An Atari/Commodore/Amiga Joystick is just four directions and a button-- the same five lines. So with just those signals you have support for the four most common controller families on the planet. In addition, the baseboard could bring most the rest of PORTA out to the DB9 in such a way that it could hit all the lines on a Genesis pad. What you'd end up with is basically seven bits of PORTA along with power and ground on a DB9. That'd make for a real easy "expansion" port for people as well as a joystick port.

(so you could have a single Atari/Commodore style joystick; or two NES or SNES pads; or one PSX. I think that's a pretty good compromise. I suspect the vast majority of applications will be single-player, but the ability to have the analog controls on the PSX pads would be really nice for 'paddle' games, driving, aiming, etc.)
Wow, I really need a beer man...to much time in front of my computer lately! :D
Me too... I suppose I should do some "paying" work here for a while. ;)

-Clay
ps: yeah Andre's console is also pretty awesome. However I didn't like the idea of learning their SPIN language. Moreover, with 32-bit running at 80mhz, too much power, it was not challenging enough... ;)
Yeah, I was thinking the same thing. It's like the ARM based stuff I do; just throw MHz and RAM at things and the necessity to be clever erodes rapidly...
havok1919
Posts: 474
Joined: Thu Aug 28, 2008 9:44 pm
Location: Vancouver, WA
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by havok1919 »

So for grins I took a shot at a quick placement/layout.

I kept to 6mil trace/space and 15 mil (ugh!) drills so that I can use the cheap $33/ea PCB prototype service from Advanced Circuits. It looks like it'll route in two layers without being too crappy. Worth a try at that anyway-- much cheaper.

It has:

* ATMega644 in QFN
* AD723
* 5V analog supply filtering to the AVR (ferrite + caps)
* filtered 3.3V LDO for the digital supply to the SD card
* a zener/resistor combo on MOSI to protect the SD card from 5V I/O on the AVR
* 5V analog supply filtering to the AD723 (ferrite + caps)
* 6 pin AVR ISP header
* damping resistors on sync, clocks, SD_CLK, joypad interface
* reset button (right angle, mounted on the bottom-- left side in red)
* microSD (right angle, push/push, mounted on the bottom-- right side in red)
* power LED

I had to drop a few pins on the otherwise 40 pin outline to get the SD to fit and I haven't tried to hook up all the pins of the Mega644 to the free pins on the DIP yet. (There's several nets still unrouted and GND isn't poured in for connectivity either.) The fanout to the DIP pins might be the make or break for 2 vs. 4 layers. (Four layers should be "no problem", but I'll try it in 2 first.)

Image

(Probably not going to be much on there in the line of top-side silkscreen designators.) :lol:
-Clay
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by uze6666 »

Ok, we can just leave the 'serial interface' to the baseboard.
Yeah. Having access to the UART through the baseboard header, makes it easy to just plug in MIDI later. And, as you said, we can always have a "deluxe" baseboard with all this.
some people might want to save the money and just use the 644 even after the 1284 is ready. (No sense in paying for extra memory if you don't need it.)
When they see whats possible with that 16k or RAM...they will want it, trust me! ;)
I'm going to put a microSD socket on the stamp, but then we can have a regular SD on the baseboard if people wanted that instead. (I'm just thinking it'd be nice for "all" the MCU/memory/audio/video to be on the stamp.)
MicroSD is a bit less common, but its great nonetheless. Specially if you were are able fit it on the stamp!
Ethernet I would suggest goes on the baseboard. (otherwise it'll burden the cost of the stamp board-- and people that just want to play around with games don't need to be paying an extra ~$10-20 for something they won't use.) That having been said, I did order some of the Microchip parts in QFN to see how they'd fit on the stamp board. But even the integrated magnetics jack is pretty big...
Totally agree, that's what I meant (same for the switch).
In addition, the baseboard could bring most the rest of PORTA out to the DB9 in such a way that it could hit all the lines on a Genesis pad. What you'd end up with is basically seven bits of PORTA along with power and ground on a DB9.
Then we must tell player to not push buttons, while the SD card is reading or surfing the net. PORTA upper bits are the SPI interface, remember? ;) Perhaps some PORTD pins. Still have to review free pin usage.

Very nice PCB, its so small, Way too cool! Questions: Is there a power jack on the stamp? And isn't putting the reset *under* the stamp a bit awkward? I guess its facing outward? If you can find a bit of space on top (moving the ad723 underneath), it would be more functional and look better too IHMO.

Great to have you on board!

Cheers,

Uze
User avatar
uze6666
Site Admin
Posts: 4801
Joined: Tue Aug 12, 2008 9:13 pm
Location: Montreal, Canada
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by uze6666 »

Just thinking of it, doesn't it bother you a bit to manufacture it with an out of spec (overcloked) MCU? I mean, what warranty do we have that all MCUs will work correctly? Already the 644P, seems to have issues with overclocking. This raise the voltage a bit like you mentioned earlier?

Anyway, just a thought.


Uze
havok1919
Posts: 474
Joined: Thu Aug 28, 2008 9:44 pm
Location: Vancouver, WA
Contact:

Re: OK, new idea. (UZEBOX Stamp?)

Post by havok1919 »

uze6666 wrote:MicroSD is a bit less common, but its great nonetheless. Specially if you were are able fit it on the stamp!
Yeah, I just think think it'd be cool to have the card on the 'stamp'. No other reason really. ;)
Then we must tell player to not push buttons, while the SD card is reading or surfing the net. PORTA upper bits are the SPI interface, remember? ;) Perhaps some PORTD pins. Still have to review free pin usage.
Ah, crap. Then I need to read the datasheet. I was looking at the pinout and thought they were on PORTB!
Very nice PCB, its so small, Way too cool! Questions: Is there a power jack on the stamp? And isn't putting the reset *under* the stamp a bit awkward? I guess its facing outward? If you can find a bit of space on top (moving the ad723 underneath), it would be more functional and look better too IHMO.
Power just comes in on a pin-- even small power jacks were *HUGE* when I put them on the board. :o

The reset is actually a right-angle switch I use on other products. Looks like this: http://media.digikey.com/photos/CK%20Co ... SWITCH.jpg (so it sticks out on the edge just a little to press it)

The one problem I have at the moment though is that the pin headers probably don't fit very well around the SD card. (there's room for the pins, but the black plastic strip they're connected to will interfere. I'd originally thought that it would be OK to just put the pins in first, pull off the plastic, then solder down the socket. Adds a couple of manual operations, but might not be *too* bad.

But... your idea of moving the SD to the back got me thinking. Leave it exactly the same, but mount the PCB on the pins "upside down". AKA, put the "chip" side facing down and leave the SD/RESET side up! That has two benefits-- it protects the 'component side' from damage, and it makes available a nice surface to put down silkscreen for a logo/etc. ;)

I'll have to think on that some more, but it might be a good way to do it.

-Clay
Post Reply