I cannot get my bluesmirf to communicate at all. Connection appears to work correctly on OS X… although I can only connect in the bluetooth preferences if I specify to use an empty passkey; every tutorial I’ve read suggests that I should need to enter a passkey of “default”. I can’t connect if I use this or the older “1234” passkey I’ve seen mentioned.
When launching ZTerm the green light comes on showing connectivity but I’m not able to receive any response to any messages sent to the bluesmirf. I start by trying to send the config cmd “+++” within 60 seconds of powering the bluesmirf up; no response. No response to “AT”. No response to anything. Once in a blue moon I might get some garbage text to pop-up.
I’m using the ZTerm settings described here:
http://todbot.com/blog/2006/02/23/howto … rial-port/
57600, N81
The bluesmirf is being powered with 5 volts straight from a battery.
This is killing me. Again, the green connection light is lit but I get no data back. I’m also suspicious that I’m able to connect without a passkey. Any ideas? THANK YOU!
I spent ages trying to get my BlueSmirf talking with AT commands, I also had nothing.
In the end I discovered that I had actually got a Blue Smirf Gold, the AT commands are different, this may (or may not) be the problem you have.
Try typing $$$ instead of +++. might work…
Cant think of anything else that would do it, circuit sounds right.
Thanks for the response. I had already tried that, to no avail…
I think it’s a problem with the pairing in some weird way, and the fact that it doesn’t accept “default” as a passkey when configuring in my bluetooth preferences. Something weird seems to be going on there… anybody using os x leopard having similar problems?
EDIT: The PIN on this chip is 0000, that works fine. But I still can’t communicate with the chip after pairing. Just deafening silence.
or, more importantly, anybody running leopard get a bluesmirf silver to run correctly?
Can’t get it to work in XP either with HyperTerminal… what the hell? Paring happens correctly (green light comes on) but no messages are acknowledged.
Do I just have a bad chip? So frustrating… if anyone has one of these working with the BGB203 chip on it (not the older Mitsumi one) please let me know. Thanks.
So everyones using the default configuration parameters on page 64/65 in [here, yet your not getting anywhere?..
(the most important ones)
UART baud rate - 115200
UART parity - none
UART word length - 8
UART stop bits - 1
UART RTS/CTS flow control - false
UART DTR/DSR flow control - false
PIN code - 0000
Hmmm… I need more thought… :?](http://www.sparkfun.com/datasheets/Wireless/Bluetooth/BGB203_SPP_UserGuide.pdf)
Yes to all of the above and still no go… but thanks for the pointers!
Only posted earlier because in your first post you said you were using a baud rate of 57600 not 115200, the most probable cause of…
bigbadotis:
“once in a blue moon I might get some garbage text to pop-up”
And where on Earth did you get a 5V battery? (or do you mean you've got it running through a regulator?)
Yeah, I pretty much tried every baud setting possible because I kept reading different tutorials saying different things. But the spec clearly says 115200.
And yes, it’s a 9V battery going through a regulator.
Customer support wrote me today and said it’s not possible to enter command mode via bluetooth on this chip, which is a drag. They also said to make sure I had a RS232 to TTL converter before I try and hook it up to a serial port. But I’ve tried to put it in command mode with an Arduino and failed, and that’s running at TTL right? I’ve also tried with a Keyspan USB → Serial adapter… no dice, and I’m assuming that’s TTL also because, 5V, just like the Arduino.
Hmmmm.
bigbadotis:
“Hmmmm.”
Indeed.
You haven’t done the obvious and accidentally switched TX/RX lines when plugging it into your Arduino? (a surprisingly common mistake :roll: )
I can’t even find the actual BGB203 datasheet due to Phillips merging with ST on the Bluetooth series…
Ok so I finally have this wretched thing working by virtue of much futzing around and reading of the
http://www.robotshop.ca/content/PDF/BGB … rGuide.pdf manual which is clunky but gives better hints than the sparkfun technical support. I’m going to give this as if it was gospel but of course it’s not. It will probably work though, and if it doesn’t I can probably help you poke at it.
Try this first:
The sparkfun guys say you can just hook up the bluesmirf’s power and ground then use whatever bluetooth software is on your pc/laptop to connect with it. Good luck with that but, if it works, you can just hook up the rx to your arduino’s tx and vice versa and you’ll be good to go.
If not, read on:
-
hook up the bluesmirf module to power and ground and a 9600 N,8,1 ttl level serial port. I used an FTDI cable but you could do it, from (say) your arduino although it’s a little hard to monitor your results. In what follows is a carriage return.
-
type +++ and ATI. You should get a cheery little response like 1SPP Ver: 1…
-
type AT+BTAUT=1,1 You’ll get OK – this tells the module to auto start after power on so you don’t need to repeat this.
-
type AT+BTSRV=1 You’ll get OK – this tells the module to accept connections.
You can now try your laptop again and I bet it will connect. Just decline any requests for passkeys. When it does connect you will have one or more new COM ports on your laptop. One of them will be the serial port for the bluesmirf and if you open a new terminal session on it you will be able to type back and forth between this and the original session where you entered the AT commands. In native Vista you may get two ports – one for incoming and one for outgoing – don’t ask me why.
That was it for me, I was able to hook up the bluesmirf to my battery arduino and connect with Processing. I haven’t tried the IDE yet
bill2009,
Thanks for that great explanation, but I don’t have access to any device with a TTL level serial terminal. Is that really the only way? It looks like I’ll have to build or buy something just to get it into the correct mode. Sigh…
redredred:
bill2009,
Thanks for that great explanation, but I don’t have access to any device with a TTL level serial terminal. Is that really the only way? It looks like I’ll have to build or buy something just to get it into the correct mode. Sigh…
well you do… The arduino speaks ttl levels. If it’s a diecimilia with an integrated USB you can either:
-
pop the atmega chip out and connect the bluesmirf to the tx & rx pins or
-
connect the bluesmirf to any two digital pins of the arduino and use ‘software serial’ to talk to the bluesmirf.
What kind of arduino are you using? You have to solve this sooner or later to get the arduino hooked up to the bluesmirf anyway.
Did you try this to start?
Try this first:
The sparkfun guys say you can just hook up the bluesmirf’s power and ground then use whatever bluetooth software is on your pc/laptop to connect with it. Good luck with that but, if it works, you can just hook up the rx to your arduino’s tx and vice versa and you’ll be good to go.
Thanks for the reply, but I guess I wasn’t clear. I don’t have a arduino at all. I am using the BlueSmirf to connect too the serial port of a Roomba, which also uses TTL levels. So I have no way of attaching to the serial side unless I build a TTL-232 converter.
ah… did you try it just with power and ground to see if your PC could see it?
did you try it just with power and ground to see if your PC could see it?
Yes. My PC can connect via Bluetooth no problem. But I cannot get into command mode from that direction. In fact I even got a step further. When powering up or down the roomba it sends a sequence of characters, which came across to the PC as gibberish characters. It looks to me like a baud rate problem. But again, I can't change the baud rate without getting into command mode.
redredred:
did you try it just with power and ground to see if your PC could see it?
Yes. My PC can connect via Bluetooth no problem. But I cannot get into command mode from that direction. In fact I even got a step further. When powering up or down the roomba it sends a sequence of characters, which came across to the PC as gibberish characters. It looks to me like a baud rate problem. But again, I can't change the baud rate without getting into command mode.
I think you’re in good shape already and you don’t need command mode. All my diddling was just to get the bluesmirf to connect with the PC and you’ve already got that.
I don’t think the bluesmirf cares about the baud rate - it’s just a channel. You just have to set the baud rate on your PC to whatever the roomba wants and it should work. per the link below the roomba wants 57600,n,8,1. Is that what you were trying?
http://www.irobot.com/images/consumer/h … Manual.pdf
The setup is this:
PC <—bluetooth—> BlueSmirf <—TTL Level 232 —> Roomba
The PC to BlueSmirf connection is established fine, and you are right baud rate seems irrelevant as it all goes through the com port emulation driver.
The other connection, however, is the one where I need to set the baud rate. I believe, although I can’t absolutely confirm this, that the BlueSmirf is set to some other baud rate on that connection than the Roomba. So I need to get the BlueSmirf into command mode to play with that setting, but I can’t through the bluetooth side.
This may prompt me to to just get a arduino. They are fairly cheap and I’d like one to play with in my projects.
Thanks,
Rich
redredred:
This may prompt me to to just get a arduino. They are fairly cheap and I’d like one to play with in my projects.
ok. you may want to start by getting a USB->TTL cable. That will let you talk to the bluesmirf (or a stationary roomba) directly without having to program yet another device. If you get an arduino clone later(boarduino, freeduino etc.) they usually use these cables rather than direct usb.
good luck. do get an arduino by the way - they’re great fun.
Bill,
I got the arduino a few days ago and I got it to work great with the bluesmirf. It turns out that for some reason the bluesmirf’s UART was configured at 9600 baud, which I discovered by trial and error. Anyway, it works just fine now and I figured out how to set the bluesmirf to whatever baud I like.
Unfortunately, though, my Roomba is still talking garbage to it. But that is another story.
Thanks,
-redredred