herr_prof wrote:

from a live performance standpoint, it would be better to put all cable outputs on the bottom

Hmm... this is very true, but the way the case is set up makes it difficult to do this. Though I suppose using a big headphone board, that could be possible. For at least the first version of this, I'm going to leave it as it is for the sake of simplicity. Definitely a good idea to consider for the future though! smile

nitro2k01 wrote:

I have an idea for how you might (mis)use the serial port for this. You have already have 3 functions that map well onto the ICSP header, SIN, SOUT and SCLK. A small trick using a resistor is needed for one of the signals, however. Then there's one unused pin on the link port, which you don't actually need to connect according to the DMG schematic. You can use this one for ICSP reset. You can make that a cuttable trace, since it's not needed anymore once the Arduino bootstrap is in place.

I do recommend keeping the other header, containing Gnd, Reset, and two way serial. This allows reprogramming using an external USB adapter that plugs into that header, via the Arduino software. To make this optimal, it might be a good idea to rearrange the use of some of pins on the microcontroller. This would be pretty easy in the Arduinoboy source code, but would improve some aspects of the design. Further polishing of the code to allow it to peacefully exist together with the link port might be a good idea.

I would not support a removal of the link port, though.

Will have to elaborate on my evil ideas later, though.

I'll definitely be leaving the link port where it is, mostly for universal support of Game Boy linking and peripherals, but also because it looks nice.

I'm not sure about using the port for ICSP, simply because it's basically a one-time thing. On the other hand, perhaps an FT232 for USB communication with the Arduino could be adapted to work through the link port. If it could be done, it would make things a lot nicer for the end user to upgrade or develop for the onboard Arduino. Of course, that would only work if the link port was still fully functional as well.

I've already done a bit with the Arduinoboy code, but haven't been able to test it on a built arduinoboy, so I'm not sure if it works 100% correctly. I added a standby mode which only consumes 30-50% of the power of the other modes (I don't recall the actual number). I also fiddled around with the pin modes, and according to my logic probe, the pins which connect to the link port are neither high nor low when it is sleeping. Hopefully that will mean things like LSDJ sync will work fine when it's in standby mode.

NeX wrote:

if you are willing to work together, i can give you a rough design of an LCD PCB that would include a pocket screen, maybe a second arduino for RGB control or other things,

i have no experience with designing circuit boards, so i will just be drawing it out by hand and you would have to do the digital version.

like i said before, this is great work, i think if you can loose the bootloader header and maybe fit some extra big SMD caps too, i will try and get that arduino code tested,

Hit me up on Google Talk and we can discuss the LCD PCB. smile

The headers may or may not be temporary. I could program the ATmega before it goes on the board, but that complicates things, and I'd need to get a TQFP-32 ZIF socket, which isn't cheap. There's room for bigger caps, so that will likely happen in the future.


kitsch wrote:

if you need any assistance with PCB design, let me know.

since you are in EAGLE, i'm pretty proficient...  learning altium designer made eagle cad a cinch...  well, apples and orange, but altium can be like pulling teeth compared smile

but, yeah, if you need any advice/assistance, please let me know.  i'm happy to help how i can.  including the grounding plane issue.  which, tbh, is going to be an issue the way eagle handles this and the board is laid out. 

this goes to Rolf and Nex in particular, but to anyone else really.  i don't mind helping out with eagle.  its pretty fun honestly. 

also, be careful in eagle because the free version's license has some caveats concerning the making of things to sell.  the free version is meant for hobbyists really, not for commercial application.  last time i checked, they offered a single license thing to get past this...  but i don't know the cost.  altium ended up being substantially cheaper and more powerful for me personally...

i'd try to talk you out of eagle, but its too late wink

edit -- also, many of the eagle libraries are licensed as well, including the sparkfun one the last i checked (try the adafruit one instead).  meaning, you shouldn't use their footprint/silkscreen/etc...  i always make my own footprints in eagle though, except for caps and resistors really, and can help with this also.  or, can walk you through the basic process of doing this.  its pretty horrible the first couple times, but becomes very easy after you figure out what it is you are doing...

Thanks for the offer for help. I'll get a hold of you if I'm ever stuck with anything.

EAGLE is missing some pretty important features, but for the most part, I like how simple it is. I tried Altium for a little while, but I didn't really like it. I can see how it would be better for someone more serious about PCB design.

low-gain wrote:

i have a stupid question.. why would you make pads for "pro sound modding" when you're designing a pcb? just make the audio lines the way they should be with a quite buffered output... that being said.. it's a DMG!!! it doesn't need to be modified.. lol.

Well the main reason for that is my complete lack of any formal training with electronics. I'm no engineer, to say the least. tongue However, I think that part works well enough to leave it alone for the time being. Besides, those pads were just thrown in after everything else as a "why the hell not?".

scienceguy8 wrote:

Will you be releasing the EAGLE files under an open source or non-commercial use license?  On the off chance someone tries to recreate the GameBoy processor with an FPGA, or tries some other complicated mod, having this board for a template would make things much easier.

I'll most likely end up making the files public. I need to read through the different licenses I could use though. Ideally I'd like it to be open but non-commercial unless I know about/approve it. I hope I don't sound too selfish or whatever by saying that. I'd love for this to help get more development going in the community.

nitro2k01 wrote:

...

Thanks for the advice! I'm fairly new to PCB design, so every bit helps a lot. I just add ground planes after routing because EAGLE won't render them on the fly, so it's tricky to organize things with them there.

I haven't decided whether to add the ground contacts for the top PCB or not. The problem with adding those is that they take up a fair amount of space, but if I can fit them in I will.

The socket actually has to be a DMG socket if it's supposed to fit in the case, because of the way the DMG screws together both inside and out.

Putting the daughterboard's caps and inductors on the motherboard has crossed my mind, but I never thought of doing it for space-saving. That's a great idea and it will also help out with the big daughterboards I'm working on too. smile

I'll look into the caps soon, I added the same number of extra caps to this board, but I should probably organize them a bit better.

I really like your idea of having extra 5V and ground pads for modders, as well as the extra RAM. I hadn't thought of that at all, but yeah, it should be possible to use up to 64KB with all 16 address lines, correct?

I thought of redesigning the power board, but I honestly don't know nearly enough about that kind of thing to bother with it at the moment.

Again, thanks for the input and suggestions, they're really appreciated! big_smile

tRasH cAn maN wrote:

Will you be able to house this in a DMG case?

Yeah, that's the goal. It will need three holes drilled in it for the two 3.5mm MIDI jacks and the arduinoboy button. Six more tiny ones if I use LEDs, but I think I'll be indicating the arduinoboy's mode with inverting flashes using the XOR gates instead.

I've been working on this for a while now, and I'm almost ready to make a prototype. Basically, it's a replacement motherboard for a DMG that (for now) has an arduinoboy, 7486 XOR "bivert chip", and easy prosound pads. It doesn't sound like much, but if I can get it to work right, it will be a huge step for further development, like adding different sound chips, or wireless communication... anything's possible, really.

Here's a screenshot of the (not quite finished) PCB design for those interested:

A big part of this for me was that I wanted everything to look and feel just like a normal DMG on the outside, other than some extra I/O and a button or two. A lot of parts must be harvested from a DMG motherboard to make these, such as the link port, power switch/jack, volume pot, RAM, CPU, op-amp, cartridge connector, and screen connector. This is just my personal preference, and of course anyone making their own could use whatever they wanted.

Big thanks NeX and bleepbloop for some of the pinouts and library files, great ideas and inspiration, Trash80 for the arduinoboy, and Jeff Frohwein for his DMG schematics.

Questions, comments, and suggestions are more than welcome!

41

(18 replies, posted in Nintendo Handhelds)

Solder the DMG's headphone amp output to the input. Problem solved.

Hmm... this just gave me the idea of an optoisolating link cable, or maybe even just a module to go between a Game Boy and the cable. I can't imagine many people using them though. I've never heard of Game Boys having ground loop issues while syncing before.

43

(17 replies, posted in Nintendo Consoles)

BR1GHT PR1MATE wrote:

WOW. i wonder how the sound is...

Just like a DMG, at least on the board. I don't know what exactly happens to the signal in terms of quality and noise as it goes through the NES, RF modulator, etc. though.

I'm actually rather disappointed that they used a full DMG PCB. I mean, it works... but it's certainly not the most effective use of space, and it seems like kind of the lazy way around things. Even still, this is pretty cool.

The first Game Boy game I ever had, with my first Game Boy (a Color, obviously) in the fifth grade. I remember listening to this in the car and having my mind blown.

I'm not sure about the USB version or any previous revisions, but I know that none of my four EMS carts work on a(n unmodified) Game Boy Pocket because their power consumption is quite high. They also drain batteries on my other Game Boys a bit faster than normal carts, but it isn't too bad. I'd really like to track on the Pocket though.