gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Hardware > Using GBA as USB-host (am I crazy?)

#115878 - miep - Fri Jan 19, 2007 10:28 pm

Hi all,

Admission: I have only a couple of weeks experience with GBA development. I have basically no clue what I'm doing. Well, not totally, but in general, I've got a lot to learn.

Here is a CRAZY idea I have, and I am wondering if it's even theoretically feasible.

The 'problem': I use a ergometer, that's a rowing machine made by Concept-2. You sit on a stationary thing, you pull a thing on a chain and set a large wheel in motion. There's a piece of electronics on the machine that reads out the speed of the machine etc., and shows a lot of statistics. You can interface with this machine, because the display has a way of connecting to, say, a PC using standard USB. In USB-speak, the fitness machine is a client (or better: a function) that needs to communicate with a host (= PC). It uses a standard communcation protocol that's being used for other fitness equipment too, CSAFE.

Rowing on an erg is BORING. The display only shows your speed/time/distance, which is not very motivating if you're rowing for an hour long every day. The thing BEGS to be hooked up to a game, something that will entertain you. It's CRYING to be hooked up to a GBA.

Picture it: racing against others, better statistics gathering, music videos. It would be a GREAT hack, and you would also be able to use it on stationary bikes, etc.

Simple question: can you hook up a GBA acting as a USB HOST to a device? Is there any way to use the general purpose mode of the link port such that this could be done at all?

An alternative is to bypass the display entirely. The display is hooked up to the spinning wheel via a standard 1/8" microphone plug. I assume there is some signal that tells how fast the wheel is spinning that the display can read out. Maybe this can be easily hooked up to the link-port?

Would love to hear your thoughts.

#115883 - KeithE - Fri Jan 19, 2007 10:51 pm

If the microphone plug outputs a digital signal, then you could certainly put the GBA link port into general purpose mode and sample the ergometer at a fast rate to measure the rotation speed.

#116096 - miep - Sun Jan 21, 2007 10:49 pm

KeithE wrote:
If the microphone plug outputs a digital signal, then you could certainly put the GBA link port into general purpose mode and sample the ergometer at a fast rate to measure the rotation speed.


'problem' with this is that the display that normally connects to the serial port does all kinds of calculations with the rotation speed of the flywheel. Therefore, I'd like to do the USB-method, because then I could make use of the intelligence of the display itself, rather than having to recode whatever is in the display. Also, because the formulas in the display are proprietary, it's hard to come up with something that yields the same results. So the serial method would be my worst case scenario.

Would a USB-to-Serial converter help, with the serial end connected to the link port? I am not a hardware type, I just have no idea if you can do that anyway.