HC 05 / HC 06 master / slave set up to project

Hi guys. For a start I'm super new to all of this and I'm really trying to learn but I'm ABIT slow and late to the party so bare with me....
So my project isn't Arduino but maybe it can help. I'm basically trying to delete the link cable out of a Gameboy by using a HC 05 master / slave module. All the ports needed from a Gameboy are on the HC and I can physically wire it and get it to power. I can get it to pair to my phone but not connect. I was hoping that by connecting the wires to the correct place I could effectively do what the cable does but without the wire sending serial data through bluetooth for trading Pokémon for example. I have a gameboy emulator that has blue tooth connection with master or slave setting which I was also hoping to be able to transfer with. While it finds the HC it doesn't respond. If I could just get it to connect via Bluetooth to my phone there's a chance it will work. I'm guessing there's some code I need involved or I need to enable to enable the device to just allow connection freely. I'm really new to this and I'm sorry. I've just in the last month just started learning Arduino. I've modded Gameboys for a few years and id like to go further with my electrical knowledge. I didn't really know where else to ask this so I've turned to this forum In hope of some freindly advice. Cheers!

You look like aiming way above Your knowledge/experience. For large projects even professional people split the project into small parts and then attacks each small problem, one a t the time. When all small matters have been settled they can be integrated one by one.

Putting everything in a sack, shaking it and starting debugging is the worst way to go.

Yes I am to be honest. But that's how I learn. And from what I've read and understood this module is capable of doing what I want it's just there's a part Im missing and just want pushed in the correct direction with that's all. The HC module is easily powered. The game boy has a tdx, rdx, CTS, rdx all what the HC module has. I guess I just need a way to allow the module to be connected to to and disconnect when the serial data is sent. The emulator uses the exact same method with Bluetooth. Your able to do it with another rom but it would be nice to to it to a real cartridge. I've done quite a few projects now including av out mods from scratch. I'm not bad at the physical parts it's just the technical parts ...which matter. If I can learn to my specific needs I can expand. That's how I'm here!

It's getting late here. Reading Your "ton of text" trying to find the question..... Not today.

Split the large project into small pieces and solve one little matter at the time.
Your text flies "all over the place" visiting a number of different things. Focus a little bit.

Tomorrow brings new opportunities....

1 Like

That sounds an entirely reasonable premise and, if it is possible to do at all, it should be quite simple. Note though, that pairing with the phone only requires, and proves, a power connection. It does not prove the signal connections are kosher, so check that they indeed are Rx-Tx and Tx-Rx.

I don't know anything about games but I submit that about the only problem with what you propose is that the data protocols are beyond the HC-0x, thereby requiring different Bluetooth modules.

Ultimately, you will need to configure the HC-05 to talk to HC-06, but getting them to work with the phone is a sensible first step.

Hi nick thanks for the reply. You have given my some hope!

https://gbdev.gg8.se/wiki/articles/Serial_Data_Transfer_(Link_Cable)

I have the Gameboy link cable protocol. This is for a 90s Gameboy so I can't imagine it being overly complicated and from I read here it seems the hc 05 or 06 is capable of doing what I need it too.

As far as I can tell I need to set the HC 06 to pair and connect to my phone and set up to send and receive serial data? My phone has the software to send out the command. I was hoping by having the phone at the master and the HC as the slave it would give the serial data and info needed to connect and start a transfer bit it doesn't.

Sorry I'm probably going all around the houses to explain things but I'm just trying to be thorough.

I really appreciate any help and advice you can give me.

I have split it into parts. I've wired it all up. Researched, seems like what I want to do is possible. I just can't find the info I need because this hasn't been done before to a Gameboy.

I'm just trying to send and receive very basic serial data through Bluetooth instead of a cable. And the HC offers everything the old 90s Gameboy has + some

I dont feel like it's fully out of my depth. I just need a push in the right direction.

From what I can tell the HC is just sending a signal to pair to my phone at the moment but it has no information to anything with. Am I right in thinking the HC needs a few small commands for it to trigger into action?

This is reminding me of someone telling me I was out of my depth changing a car engine years ago and with some help from forums i managed it....now I do it all the time!

This is a lot simpler than changing an engine - far less physical, and no dummy first motion shaft needed.

First though, I assume your phone is an Android. If it isn't, get one that is, and read no further until you do.

I guess the age of the Gameboy suggests the data is plain-vanilla SPP, like HC-0x, but the voltage of the signal might be a problem. HC-05 is a 3.3v device, and I bet the Gameboy isn't. I have never actually heard of an HC-06 dying under a 5v signal from an Arduino but it is good practice to use a 1k/2k divider on Bluetooth Rx pin. If Gameboy is more than 5v, this could be an issue. Similarly, Arduino is fine with the 3.3v signal from HC-06, but Gameboy might not be.

The phone is always a master, and both HC-05 and HC-06 are slaves by default. Once you have paired Blueteeth in the phone's settings you can connect from within a standard Bluetooth terminal app.

You should then see a datastream in the terminal. This presupposes you can create the datastream in Gameboy. I assume you know how to do that. It also presupposes the signal wires are the right way round, and if you get nothing, this may be the problem, so just reverse the connections. No harm done. I imagine the data does not have to be intelligible, anything can be counted as a win. I have no idea what you would send but, if you can get something from the console, you can assume two way traffic is possible.

Once you have proven you are OK with the phone, you need to interconnect the two Blueteeth.

The power is not problem. The Gameboy runs the unit absolutely perfect and doesn't seem to have drained the battery much after having it on with the HC 0x for hours now.

Yeah I have a android! And I have a Bluetooth terminal app. I can connect the HC via a terminal app and get a connection. I'm not getting a data stream though. When I try and set a server on the phone with the emulator it just instantly says won't connect. So there's definitely a issue with the connection side. Everything's wired up correctly. I've swapped the serial in and out as on the game boy Rx goes to tx. But still no luck.

I really can't see any reason it's not working though I less I have something wired wrong but I've checked and checked again and it's fine. Like you say it's all very vannila. The Gameboy and games from 1997 so it's nothing too complex.

It's annoying because really the emulator is a type of terminal Bluetooth within the app to allow linking games. So it has to be a information issue. Not getting any. Or not being able to trigger the signals for the HC to pick up.

Also I just want to say thank you for taking the time to reply.

I think the problem is maybe the emulator is coded to only work with another emulator that's the same. Gameboy not being a emulator is maybe the issue with this one. The emulator just refuses to connect. It should in theory just need to establish a connection then send the data. The problem is it won't connect in the 1st place. The emulator also supports connection via WiFi so I'm wondering is that's maybe the way to go.

My only other idea was to put 2 Bluetooth modules in 2 Gameboys and have them work this way without a cable. For this is just need 2 devices I can pair together. Then once there's a connection the data can be sent. I'm not sure if the HC supports this it's self of needs a program to get it to do this? Does the HC have a memory it can support commands itself? Or does it need a Arduino or decide with software for it to command?

I hope this makes sense

Right so after more research the whole problem is the HC 05 pairs but doesnt connect to the phone as a connection for sharing data. While you can do this through a Bluetooth terminal app you cant connect a phone itself and that's the issue. While it's connected to the terminal app it can't connect to the emulator. And when it's not connected to the terminal app it just won't connect, just like the phone won't connect it will just pair...... So question is how do I get the HC to connect as normal to a application without it being a terminal app.

Connecting via a terminal app IS the normal. I have no idea of what the emulator is, or where or why. The only reason why I mention the phone is that it can be used to confirm that Gameboy will converse with HC-0x - by using a terminal app. This is a first step, irrespective of the final objective. All you say is that you are trying to delete a cable and replace it with Bluetooth, which is sensible enough, but without any mention of what is at the other end of the cable. Hence my comment that I have no idea of what you would send, but one-way traffic should prove the point anyway.

IF, by "emulator" , you mean a phone app that enables you to communicate via the abovementioned cable, I imagine it is possible to simply replace said cable with the OTG cable that came with the phone, thereby enabling the phone to host a USB/TTL adapter and HC-0x connected to that.

Gameboy>HC-0x.......HC-0x>USB/TTL>OTG>Android.

If that is the case, I guess the phone app is only communicating with the cable socket, without concern about what's plugged into it i.e. no changes to the app required. The only coding required is the appropriate configuration of Blueteeth, which has nothing to do with either Gameboy or the phone. You are actually hinting at this. The "small commands" you allude to is for configuration, not communication. The configuration is for the connection, not communication and is done by setting HC-05 as a master, to automatically connect with HC-06, the slave. It doesn't matter which Bluetooth is connected to which device.

Sorry I am going round the houses ABIT. Let me try again.

So the emulator is a app on my phone which simply emulates a Gameboy. As phones don't have the ext port a Gameboy does, they made a bluetooth or WiFi option within the app so you can connect to another Bluetooth device.
So for me to even start to getting data I need to be connected to Bluetooth within the emulator app. When I'm connected to a Bluetooth terminal app I can't connect to the emulator app. As it's one connection at a time.

Problem is the emulator won't connect even when the HC ox is waiting for a connection. Same with my phone's standard Bluetooth. It pairs but no connection and no functions ( like contact share, media share etc)
From what I've gathered this must be because there's no data being read for the tx - Rx?

So the other end of my Gameboy is my phone (emulating the Gameboy) instead of another Gameboy.

Reading about the emulator. It says once you've connected to Bluetooth. It will share the serial data the same as the original Gameboy just via Bluetooth.
I just can't get it to connect to anything other than a terminal app.

In the game to start the process of a "trade or battle"
Both Gameboys would be plugged in. You both goto place in the game and talk to a "trade or battle section" at the same time and who ever established the connection 1st would be the master Other being the slave. Then the information is just sent over 1 bite at time

As I have 2 of these. I might make another one. Connect the 2 HC ox together and try with 2 Gameboys rather than the phone and see if there's any luck there. If I can just pair a pair of HC ox together and send the information I can't see any reason it won't work.....if I can get them to connect!

Is there anyway to get 2 HC ox to connect to eachother manually without software? Like with some modules you power on both devices pushing a button down to get them to sync with eachother?

If not does the HC ox have firmware that I can make them do this?

Or is there a application I can get for Android to act as a bridge to connect the 2?

This is my only issue now. Its like I need to remove the passwords from both HC ox and have them just both open to connect once they both find a signal

Obviously the old gameboy has no setting to connect 2 devices within it. So I need a way manually connect the 2 then this will work now.

Looking online it seems like I need software to achieve a connection between the 2. If this is the case I need something that I can connect to small modules without software with a manual button or something along those lines.

I have already given you a link for method to power-on-auto-connect HC-05 to HC-06.

Sorry I didn't realize there was links within the words!!

I've just read through. Unfortunately it's all ABIT beyond me. I just wanted a way to connect both devices manually without a computer or having to use code.

I just simply need a transceiver that will pair to any other transceiver with the button on the module without all the tech.....shame I'm more hands on than book smart.

To me a car engines alot more simple as it's physical and you can actually see what your bolting together. With code you may aswell be speaking Japanese . There's a lot of people on Gameboy forums that really want this to work. I've passed all the info onto someone else who will reap all the benefits now :joy:.

But thank you for baring with it.

I think I need a super basic child's guide to get this stuff. I was confident because I've achieved other mods which I thought were just as technical but obviously not. I would have though this was easier than adding a video out to a Gameboy with how complicated that sounded but it's actually miles harder although on paper it's far easier

It's very frustrating because if the 2 modules were just connected the project is done. I cant enter codes via the Gameboy to allow it. I literally just need to manually connect without a computer or code to just connect the 2 devices together. I would have thought there's a way to just hold down both modules buttons to pair or something to get them to connect without a appp. Am I missing something or making it too overcomplicated? I understand the physical side of making one master and the other a slave but the code and the programming stuffs beyond me. As far as I was aware the Gameboys will do exactly what I want them to do as they have the code as long as there's a established connection. Why is it so hard to just get 2 Bluetooth modules to manually Connect ?? Whole reason I got them was from what I read you could do it with no code computer or anything. But everything else i read is just codes

Once I have a Bluetooth connection the Gameboy decides the master and the slave. The Gameboy had everything to do the job other than make the connection which would have to be done manually. I've tried setting one in at mode and have the other searching but that's as far as I can go I think