Roving Networks RN-42 bluetooth device.
I got my RN-42 from Technobots. As it is a SMD, and I've never used an SMD before, I built a small jig to hold the device in place while I tried to solder wires to it's pads. The jig had a stand fitted to it to hold a magnifying glass, which gave me a good view of the pads. The device sat in a recess of a piece of card, which was tape to the base to hold it in place. I put some marks on the card to indicate which pads I should solder to. I fitted a 1mm tip to my soldering iron, and proceeded to solder some bare wires to the pads. I then tinned the end of a piece of wire(25mm), tapped it to the card with the soldered end on the pad, and touched it with the soldering iron for a few seconds. I just couldn't seem to get some of the wires to stick, and unfortunately I damaged some of the pads. 3 hours later, and after several attempts, with only 2 wires properly soldered, I gave up. This was a lot more difficult than a thought it would be.
The jig I made for trying to solder the RN-42.
The following day I had another look at the device, and noticed the small indents on each side of the device, and thought if I could get the wires to touch the indents, but what would hold them in place? there's no way I could solder them, then I came up with this idea.
I cut a piece of card, the type used for mounting photographs, about 6mm wider than the device all round.
I then place the device centrally on the card, and held it firmly in place while marking the indents with a large
pin. Note the device cannot move, and the pin needs to be tight up to the indent, also I only marked the
indents for the connections I needed.
Next I carefully pushed the pin through the card at each mark. Some support is needed under the card as it bends very easily. Once all the holes where made I made sure they would accept the wire by pushing a piece through each hole. The wire I used was from telephone cable, which is a bit thinner than normal hook-up wire(0.6mm) so it may be 0.4mm or 0.5mm. This wire is a bit more flexible, and fits into a turned pin socket quiet nicley. I cut several pieces to about 25mm.
I fitted a turned pin socket into a plug-board to hold it firmly in place, then starting
at one end of the card, I pushed a wire through the first hole in the card then into the first hole in the turned pin DIL socket.
I worked my way down one side, then back up the other.
The card was about 12mm above the socket. I went round checking each wire was firmly
inserted into the DIL socket.
Next I made a spacer from 3 small pieces of card glued together, and cut it to fit between the top rails of the turned pin socket and the underside of the card. The card was then carefully pushed down to sandwich the spacer. This should leave about 6mm of each wire protruding from the top of the card.
I made a plan of the pads of the RN-42 and how they relate to the pins of the DIL socket. Now for the moment of truth, with the RN-42 angled to one side, I carefully pushed it to the wires on that side. I then bent the wires outward slightly on the other side, and carefully pushed it down onto the support card. This should be quiet a tight fit, if all the wires are touching the indents. I then went round the assembled device with a magnifying glass and check the each wire was in it's corresponding indent, also checking my plan for pad numbers and pins of the turned pin socket.
Next I build the circuit board and added the turned pin socket assembly.
The turned pin socket fits into a standard IC socket on the circuit board. Note the RN-42 needs 3.3v and the PIC needs 5v, so I needed to convert 3.3v RN-42 Tx to 5v PIC Rx, and convert PIC 5v Tx to 3.3v RN-42 Rx.
RN-42 bluetooth voltage converter.
Now came the really interesting part, making a connection with my PC. My PC has no internal bluetooth connectivity,
so I went out and bought a bluetooth dongle from a local Pound shop, which cost me £1.00!. I thought there's no way
this is going to work. I got it home and inserted into a USB socket and it immediately loaded a load of Windows software
I never new was on my computer. Great, has I have no experience of bluetooth devices, I wasn't really sure what I was
supposed to do next. Anyway I switched on the robot, ran the bluetooth software to make a pairing, and it did match
to my RN-42, as the name 'Fire-fly' was shown, and the virtual Com port was COM3. So I opened Hyper-terminal to make a connection
but no data was coming through. Is it my device, or is the pairing not set properly, or the COM port not set properly??
So I rechecked my device and tried again for a new pairing, this time it set the virtual Com port was COM5, but again no data
on Hyper-terminal. After several attempts and now on COM8 I got it working.
Not sure how, but I think this is how I should have done it.
- Run Windows bluetooth software.
- Set pin PIO3 of RN-42 high for 'Auto discovery'. ( Once paired this pin should be low at all times.)
- Start robot, and wait for status LED of RN-42 to go to a slow flash, after about 60 seconds.
- Then get Windows bluetooth software to pair with the device.
- If OK, go to device manager, select ports, and COM8(mine), right click for 'properties', now the correct baudrate can be set(115200)
- Close everything down and all should work OK.
- Set pin PIO3 of RN-42 low.