Need Bluetooth for Arduino

Hi, i am working on a wirless arduino project using the BlueSmirf (Bluetooth Modem - BlueSMiRF Gold (Old-School) - WRL-00582 - SparkFun Electronics) from spark fun. i already made one of these at the start of the year with a bluesmirf basic and it works fine. i use processing to send data to board.

now though, i ordered some new bluesmirfs and they do not work the same. i cannot just set up serial connection and send data for some reason (see this post - http://www.sparkfun.com/cgi-bin/phpbb/viewtopic.php?t=4321&highlight=)

So i am looking to buy some older bluesmirfs that will hopefully work - i think spark fun have changed something with their bluesmirfs and they dont work the same now. please let me know if you have any you want to sell or trade up for a brand new bluesmirf

OR if anyone knows any other bluetooth modem i can use INSTEAD of the bluesmirf please let me know. i just need one with grnd, power, tx/rx to easily connect to arduino.

Thanks

I've just bought the ESD02 http://www.rfmodules.com.au/bt_promi_modules.htm on this site since sparkfun seems to be sold out of their modems. About the same price ... I'll let you know how it works when I get it.

Ive had a look at these on their website, but havent bought one yet.

id be very interested to know if they work as easily with arduino as the BlueSmirfs did.

Please keep us posted with your progress. and if your having some troubles post back and maybe some poeple can help you.

Will you be using processing to send data to your wireless arduino?

I'm having trouble detecting the ESD02 with my USB dongle. From what I've seen in the manual http://www.sena.com/download/manual/manual_promi_esd-v2.0.0.pdf it may be because it defaults to mode 0 which means it doesn't accept any bluetooth connections. You need an additional developer board (that I didn't buy) to change modes.

Does anyone have any suggestions?

no idea. your best bet is to buy the developer board.

otherwise u may just waste heaps of your time. and im sure your time is worth more.

anyway, let us know how u go. sorry cant help.

I'm using the tiny Promi ESD 2 Bluetooth module, too (for around 50 euro at hantz.com). You definitelly have to use the configure software PromiWin to set it up. With PromiWin, I switched it to Mode 3, set a passphrase and could connect easily with my mac's bluetooth assistant. (Btw, PromiWin runs nicely with parallels on a mac and the usb cable im using :slight_smile: To set up, I didn't use the developer board! It's just a RS-232 level converter anyways. I connected a usb-to-serial chip's (silabs cp2102) txd and rxd with the corresponding pins on the module, pulled the module /reset pin high with 10kohm and supplied the module with 3.3V. That last part is critical, don't use Arduino's 5 Volt! And be shure you dont connect a 5V level TXD signal with the module's RXD ping. Its only 3,3V compatible (my usb-to-serial chip allready has 3,3V levels).
So far I got serial connections running over bluetooth with arduino but can't program over bluetooth, i'm still investigating on that....

oli

Hi, I also tried the Promi ESD module (I got the new version which is called Parani ESD200), without the eval board. I can't get it to run, though.. Here's what my wiring looks like:

The serial port is also via a usb/serial adapter, unfortunately its specs don't tell the voltage it uses. I also tried some variations of the wiring. In any case, the ParaniWin software (formerly PromiWin) can't establish any connection.
Oliver, does this look like you wiring? I'd be very happy if someone can point me to the mistake here.

Hi andre,

the wring of the module looks right. But your drawing shows a Serial Sub-D 9-pin connector. Are you really connecting to one of those? If yes, you have the wrong voltage range! A serial RS-232 interface with Sub-D conenctor usually has +/- 9 or 12 voltage swing! What the module expects at its TXD and RXD pins is only TTL level, which is between 0 and 5 Volts (even 5 Volt is not really within the maximum ratings of the modules datasheet but I accidently tried it instead of 3,3v and nothing burned... so it even seems to work save with 5 volt on the module's RXD pin).

You should really measure the TXD voltage on your Searial port, that is pin 3, as you showed right in your drawing.
Maybe, you can open your serial adapter and connect the wires before the chip that does TTL-to-RS232 level shifting (there usually is one) but it may be easier to buy a usb-to-serial adpater witch allready as TTL levels. Like Arduino Mini usb http://www.arduino.cc/en/Main/MiniUSB
If you have real bad luck, you may have bruned the bleutooth module's RXD pin with the too high voltage, but that's just speculation...

Oli

Good to see you guys have been able to work with the ESD200. this is good for people living in Australia so you dont have to order from the US...

But i have managed to change my software and USB dongle, and once again am able to work with the BlueSmirf from spark fun. this link explains the process i follow:

http://www.mitchellpage.com.au/research/?p=263

Nice tutorial. I linked to it from your other bluetooth tutorial in the playground: Arduino Playground - Tutorial01
Is there anything from the new one that should be merged into the old one?

Oliver, thanks for the hint!! I guess I should have investigated further into what TTL means.. I didn't know how to measure Rx/Tx on the USB-to-Serial-Plug, so I used a terminal program to enable RTS and measured between RTS and GND, and got 9.7V, just like you said.
I actually have an Arduino Mini USB here and now tried it with that, but I still don't get a connection.
Thus, I might have broken the module, but you never know. I am thinking now of ordering a new one, possibly together with the eval board. I would like to know, however, if you managed to get it connected to Arduino and talk to it remotely, or if there are more problems coming up.
Thanks again,
andré>

Hello

BTW the arduino bluetooth board is ready for sale
an announcement will go out tomorrow...

massimo

andre,
it should be allways bossible to meassure a voltage on a serial port TXD ping. If I remember right, Rs232 TXD level should be stable -9 to -12 volt when idle (i.e. nothing to do), a TTL TXD pin, + 5 Volt (hence the polarity difference). With 9-pin Sub-D connector you can meassure against ground on pin 5.
If you want to check whether your arduino mini usb works you can just connect a cable between TXD and RXD (a hardware loop :), use a terminal programm and check if you can see all characters you send ("software local echo" should be off...) If that works you can look at the esd002 module. You can listen with the terminal on the arduino mini and connect the bluetooth device with your system, in standard config it should allways send some confirmation messages like "ERROR" or "CONNECT xxxx" to serial pins . For me the module works like a charm now. To actually use it for programming arduino, I finally just had to disable these confimartion messages. In my config program, this option is called like "signals off" or "disable at commands". And, of course, the modules's baudrate must be set to arduinos download_rate, which is 19200bd by default. Oh and try switching the RXD/TXD pins, it won't damage anything and you may have interchanged them (I did... many times ;).
The only drawback is, I still have to press reset before programming. I wanted to use the RTS line for that, but it seems my BT module offers that only for hardware flow control...

@MASSIMO:
will the arduino BT module allow to use RTS, CTS etc. lines directly? So that they can be used for other purposes than hardware flow control? I have the bad feeling, that direct acces to these pins is maybe not within the bluetooh serial port protocol specs.... so no BT module would allow this.... right?

oli

Any news about the Arduino bluetooth board?

Eric

Oliver, thanks, you're right, it also measures 9V between TX and ground. I tried all kinds of wirings, but can't get it to work. The Arduino Mini USB works alright. I found a line in the ESD manual which says that it is set to hardware flow control by default, which might mean that I have to connect the RTS/CTS pins to talk to it as well.
Currently, when I use a terminal program for sending messages, it's like a loop and the messages are returned. When I switch RX/TX I get trash messages. Interestingly, I get the same results when I connect RX/TX from the Mini USB to CTS/RTS on the module..

Unfortunately, I don't have the time to investigate this further at the moment. Oliver, maybe you can write up a small how-to of what you accomplished?

Massimo, will there also be a Bluetooth module for the Arduino Mini? This would be so awesome!

yes it's in the works....

the original lineup for the mini was : USB module -> arduino mini -> bluetooth module

we are now manufacturing the arduino bluetooth board when that's shipped we will work on this one

massimo

The board is being manufactured right now

you can see the pre-production prototype here
Imgur

the board looks messy because it's a development board that was designed to accomodate multiple modules.

this is the limited edition pre production board that looks like the final one...(it will be blue... red is for our internal release candidates)

Imgur

to order contact gianluca martino at g dot martino at smartprojects dot it

massimo