Offline
Seattle, WA

After a thousand-or-so hours faffing about, I finally have something to show for it.

If it turns out this thing works, I'll auction off 8 boards to fund a second batch of 25-50. Then (because I'm assuming there'll be some interest) I'll move on to the DMG++ overhaul I've been dreaming of for years.

I should probably wait to have a working prototype before posting anything, but the PCBs are shipping out this week, and I'm too excited not to share!

This mounts over the (removed) link-port and other (removed) components - just above the top left corner of the CPU. It stands off the board with headers soldered to the ground, power, clock, and IO pins. The mode switch is right behind the USB, so it's accessible with a pen or something, but out of the way. This means there's no need to drill holes anywhere - it just goes straight into the case (at least, in theory). If you want to mount a button elsewhere, the included one can be removed to expose the necessary solder points. LEDs are placed below the PCB and USB for non-intrusive indication, but there are also solder points if you want to re-wire them elsewhere. And, for your convenience, there's +/- pins to boot.

I actually have more in store for the finished product, but I want to build one before I say anymore. I'm still fairly certain I have no idea what I'm doing.

tl;dr: USB Arduinoboy mounted internally and accessed where the link port is - it's a thing. I'm making a few. If it works, you could buy one.

Last edited by bit 9 (Dec 17, 2015 5:28 pm)

Offline
Michigan

props

Offline
Unsubscribe

nice!

Offline

BOOKMARKING THIS

Offline
Russia

it would be cool, if use micro-usb

Offline
Seattle, WA
stress_tn wrote:

it would be cool, if use micro-usb

It's mini. The link port's opening in the case is huge; you could almost fit a full sized 'B'. I've found that more devices use mini, so folks will likely have extra cables to spare - though micro has been trending.
First prototype run and all that, I want to keep the spec easier to manufacture.

Offline
Ardèche, France

Wow. That's absolutely awesome.
But, the Teensy components are not in the shield, right?
After desoldering the components for fitting the shield, will a modified Link cable with B-USB connection work with normal mutiplayer games?

Offline
Seattle, WA
Adzetko wrote:

Wow. That's absolutely awesome.
But, the Teensy components are not in the shield, right?
After desoldering the components for fitting the shield, will a modified Link cable with B-USB connection work with normal mutiplayer games?

So, yes and no-ish.
Yes: The Teensy is -in- the shield, meaning it's (1) the Teensy, (2) the Teensyboy, and (3) the removed DMG pieces. All at once. Plug-and-play style.
No: The USB goes into the Teensy, not the DMG. The Teensy would have no idea what to do with the gameboy data being fed into it.
-ish: Conceivably, you could add a mode to the Arduinoboy programming which would relay the the data to the DMG. The clock difference between the two CPUs wouldn't result in any lost data. For a messy solution, you could hard-wire a cable directly to the labeled pins on the shield, but I wouldn't recommend it (this would bypass the diodes sanitizing the data for the DMG's CPU).

---

You did get me thinking. It would be possible to add a hard switch to reroute the DMG-turned-USB cable's data, bypassing the Teensy entirely. Unfortunately, there's not enough room on a 2-layer board this size to add another switch and additional traces for this feature. It's crazy, crazy small. Like 3.05x3.06cm small. You might even call it teensy, because it's so small.

edit: here's a picture.

Last edited by bit 9 (Dec 19, 2015 3:19 am)

Offline
Sweden

Very cool, great job!

Would it be possible to keep the link port untouched and add the usb port somewhere else? Then we can still sync two GBs via the link port (for LSDJ master/slave, games etc).

Is it an easy mod to move the usb port if a user desires?

Offline
Unsubscribe

I think game boys are cheap enough it would be fine to have it dedicated USB and not over engineer the thing for all use cases.

Offline
Ardèche, France

Let's get to serious things, do you have any idea about the price of this awesome thing?

Also, how can we do USB-midi in with the USB-B port? I don't know if male USB-B to female USB cables exist.
Oh, and do you plan to make a version for pockets and/or color?

Last edited by Adzetko (Dec 20, 2015 10:29 pm)

Offline
Seattle, WA
Adzetko wrote:

Let's get to serious things, do you have any idea about the price of this awesome thing?

Also, how can we do USB-midi in with the USB-B port? I don't know if male USB-B to female USB cables exist.
Oh, and do you plan to make a version for pockets and/or color?

So, a few things -
(1) The USB size used is 'mini-b'. Kitsch sells one, but they're pretty darn easy to come by.
(2) This is not an Arduinoboy device, this is a Teensyboy device; a subtle but significant distinction. There is no MIDI cable necessary with a Teensyboy. The USB cable uses the USB protocol just like a thumb drive or a printer, etc. The Teensy (as opposed to the Arduino) speaks MIDI natively, and doesn't need a MIDI-box to translate. So, if you have a DAW, a tracker that can use USB, or something like that, the DMG itself is a MIDI device (for all intents and purposes). Kitsch had an external version (USB-boy) that's been sold out for a while.
(3) I don't want to get ahead of myself with the price when I don't have a working prototype. The USB-boy Kitsch sold was $80.
(4) If you're interested in where this is going, follow these links: March 2014, and April 2015. I only recently gained enough financial stability to come back to this project.
(5) There are other products I have on the back burner, a color version of this being one of them. But I want to get a website and the other necessary business trappings before I get carried away. Of course, before I can do any of that, I need to see if this thing works. There'll be a more complete post when I'm ready to sell the first batch of 4.

Small steps.

Offline

Hello,

Nice Project. About the integrated teensy, did you get a special deal with PJRC (creator of teeny) as the teensy is based on the HalfKay bootloader which is closed source and as i know you cannot download it to install the bootloader on your own microcontroller.

Also never tried to use teensyduino on other microcontroller (without midi usb libraries, it won't work).

Noizeinabox

Offline
Michigan
xray303 wrote:

Hello,

Nice Project. About the integrated teensy, did you get a special deal with PJRC (creator of teeny) as the teensy is based on the HalfKay bootloader which is closed source and as i know you cannot download it to install the bootloader on your own microcontroller.

Also never tried to use teensyduino on other microcontroller (without midi usb libraries, it won't work).

Noizeinabox

A bootloader will allow the mcu to communicate with the teensy environment on pc. Once you have a binary, you can iscp or bitbang the chip with the program.

Offline
Seattle, WA

Good news and bad news --

Good news: It worked!
Bad news: I'm not going to be selling off this run of boards.

Why: I made three oversights in designing this board.
The biggest one was the omission of a resistor necessary for the bootloader to actually load on boot. The board can be modded to make space for the resistor because the ground-plane is right next to the pin. Easy fix, but hacky.
The other two oversights are regarding both buttons. (1) The spec for the mode switch rotated the landing pad orientation 90 degrees from the reference drawing (wut?). The result - the button is facing the wrong direction, but works. (2) I used a pre-made library part for the Teensy's reset button, but both the landing pad and orientation was wrong (wut?). My fault for not double checking. The result - the button is rotated wrong, and doesn't work. There are fixes for both these, but also hacky.

The plan: I'm going to make a revision for some new boards to come next month to give it another go.

Lessons learned:
- When shopping for SMD components, make sure you're not accidentally ordering metric profile codes. There's a huge difference between 0402 imperial and 0402 metric.
- 0402 components are a bitch to solder by hand. Don't do that to yourself. 0603 is still very small and much more reasonable to solder.
- Always, always, always check to see if pin 1 is where is should be before soldering everything in place.
- Invest in a soldering station if you're remotely serious about things. I'm loving my new Hakko 888 (10/10 would recommend).

Other thoughts:
The plan was to keep from modding the case. And, while it cleared the plastic case, the metal sheath for the cartridge protruded into the board and needed to be clipped to fit. Not something I wanted to do. Incidentally, with the pin-headers acting as stand-offs for the shield, I was able to clear the processor entirely -- so I actually had a lot more room to work with than I had previously imagined. The negative side of this is that the USB was really high in the socket, making it difficult to plug-in the cable. The solution is to find a connector that will affix to the side of the board, not the top. This (I think) would put it at an ideal height, but would require scrapping the current design to make space for the inset part-profile. I probably was going to need to do that anyway to make space for the 0603 parts replacing the 0402 ones.

xray303 wrote:

Nice Project. About the integrated teensy, did you get a special deal with PJRC (creator of teeny) as the teensy is based on the HalfKay bootloader which is closed source and as i know you cannot download it to install the bootloader on your own microcontroller.

The PJRC store sells pre-flashed ATmega32U4 in a QFP profile for easier hand-soldering. I didn't know it was there until someone on those forums pointed it out to me.
And, you're right, it is closed source. The Arduino Leonardo has MIDI support, but I haven't gotten to tinkering with it yet. Might be a preferable alternative if it works.

And, for those who don't know, Noiseinabox (xray303) is responsible for the Teensyboy's existence. Thanks, btw.

Last edited by bit 9 (Dec 28, 2015 6:34 pm)

Offline
NYC

@bit9  Maybe you already knew, but concerning soldering, there exist soldering tweezers for dealing with SMD components.  I've never tried any myself though, so I can't say for sure if they really make it doable or not, but supposedly they do.