|Published (Last):||9 June 2013|
|PDF File Size:||17.83 Mb|
|ePub File Size:||10.61 Mb|
|Price:||Free* [*Free Regsitration Required]|
Now, I decided to buy an actual device instead of just a Bluetooth module for two reasons: first, and most importantly, the only source I know of for the HID-profile module I was looking at has been out of stock for quite some time.
There are many places to buy SPP-enabled modules, and in many cases these can be adapted to providing keyboard and mouse support. All they require is a driver on the host device to translate the serial data into input control signals. However, my goal is to have the Keyglove be detected natively as an input device, so that no special driver is required. The only problem is that nobody sells those modules by themselves, so I decided to try taking one out of another device.
Progress certainly does foster enthusiasm, which creates the desire for more progress. The reason I decided on the CE Compass keyboard is that it has both mouse and keyboard control built into the same device. I was not able to determine via research online whether the Broadcom BCM chip and corresponding Bluepacket BP module support both of these simultaneously. I knew that the CE Compass device did support it though, whatever Bluetooth module it used. These come from the key contacts and go straight to the module.
This chip appears to have traces to pins 7, 36, 37, and 45 of the module. Since all I had at my disposal was a soldering iron, I did my best to remove the pin SMD module from the main CE Compass board after disassembling the device.
I eventually ended up using my pen knife on the soft solder and then pried the module off the main board. This keyboard comes in a no-frills plain white box and includes only the keyboard, manual, and driver CD which was unnecessary for me.
It has a distinctive rounded construction, and the back is made of classic fingerprint-magnet shiny black plastic.
I found the easiest place to be right near the power switch on one side. The main board, keypad, and casing all come apart without difficulty, leaving you with individual pieces as shown above. Apart from the fact that there is no built-in mouse in this keyboard, I found it to be a much better investment all around for cannibalizing the Bluetooth module when compared with the CE Compass keyboard:.
The next order of business was to remove the module from the board. The hot-air rework station had arrived by this time, so it was just a matter of reading the poorly translated manual for it and giving it my best shot. The cheap IC popper that came with the rework station was too large to fit under such a tightly mounted module, so I used my little trusty pen knife—this time for leverage though, not to try to cut through solder.
It only takes a minute or less of applying heat, and the solder melts nicely. In the end, I had a good, clean, detached Bluetooth module. These appear to be all the same size and have the same component layout, though there is something curious about the last two: they actually have 48 pins instead of The physical positioning of each pin except the extra one is the same among all of them.
This extra location is pin 30, and pins normally are instead pins As far as I can tell, this extra pin is not actually used for anything. Once I got the module separated, I needed some way to use it in a prototyping environment, ideally on a solderless breadboard. That meant I needed a breakout board.
Enter the stupendous, wonderful guys from Wayne and Layne. They had designed two breakout boards for their project, both of which were built as stand-alone devices. After some brief back-and-forth conversation about it, they ended up offering to create a brand-new custom board for me for a very reasonable cost.
Additionally, since they had already worked with the board, they knew what the circuit design and external parts needed to be—something that I would have had no clue about.
A short time later, I had three copies of the new board in hand:. They even sent along the external components required, which saved me the time and effort of ordering them from Mouser. I got the BT module soldered carefully onto one of the breakout boards, and added the rest of the components, resulting in the following prototype-friendly unit:.
The board is very full, but it makes a great use of space and is just narrow enough that on a typical 2-row 5-pin solderless breadboard, it leaves one accessible pin hole uncovered along both sides of the board. Plus, having all necessary external components right on the board including a pair button and LED and a power header is extremely convenient. A note about pairing the module with your computer for testing: Bluetooth devices usually require a pairing passkey in order to connect to a host device.
In the case of both the CE Compass keyboard and the ITON keyboard, the normal procedure during pairing is to actually type in the pairing code provided by the host computer using the number keys on the keyboard, followed by the Enter key on the keyboard. Fortunately, the guys at Wayne and Layne have detailed a method of pairing this module without entering the code. However, after I mounted my module on, I found that the pair button did absolutely nothing. This means that although the ITON module works on the custom breakout board, the pair button is only useful if you have a real BP How sad.
Here are the pair pins for each of the four modules mentioned above, according to the documentation or circuits I could find:. I already tossed the host board from the first one I bought, or I would do it now. One thing about all of these boards is that the publicly available datasheets are heavy on functional description and light on implementation details. In fact, it is nearly impossible to find any schematic information at all. I have no idea why, since it would simply increase demand for that board, but whatever.
While the GPIO pins are not used exactly the same across all four boards, it is definitely a good starting point for a circuit to work with any of the modules, if you are at a complete loss otherwise.
The important bits like power connections and such are the same for all boards, so you can probably get a basic connection working even if the GPIO usage is still undetermined.
As for my current prototype unit, let me say that the one in the picture above is actually my third attempt. I thought it was going rather well, actually, until I noticed some of the circuit traces being peeled off the bottom of the BT module as I removed it.
The third attempt worked, and I managed to pair it and even send a few key codes. During normal operation, this is usually off. It remains off unless you connect the pairing pins together, at which time it will start slowly blinking, perhaps a little less than once per second. Once paired, the module will automatically reconnect to the paired host if possible after a reset. Of course, having no actual keys connected, making this happen involved connecting two GPIO pins together using a wire.
Anyway, that was the proof of concept I was looking for. The rest will certainly take some effort, but it will be possible. There will be a discovery process to figure out what connections trigger what keycodes.
Until I hear back from somebody, I think the next thing on the Keyglove to-do list is finish up the conductive thread sensors. Any recommendations for rewards? I bought the ITON mini keyboard with the intention of using it in a custom keyboard project. As I had traced and mapped the matrix on the PCB I was able to find what memory addresses contained the matrix and change it. I wonder if the firmware is interchangable between different brands of this module? You figured out how to modify the key code matrix?
Bus Pirate maybe? I have been kicking about the idea of making a wireless NES controller and this has given me the information needed to order a bluetooth keyboard to use at the base. Thanks for the great post.
Lots of great info here! I went through the membrane switch and figured out what the key matrix is, but none of the HID scan codes seem to be matching up in any kind of pattern to the EEPROM data. How do you identify the key matrix? I tried as many different port settings as I could think of baud, data, parity, stop bits , but I never got anything useful. The connection itself is not difficult, I think only four pins including 3v3 and GND , but getting any useful data might be difficult.
A great post. Very useful details there. Good article! I just found out the BLuePacket modules are end-of-life and the last order date is sometime in early October. I wonder how many are still in the field, ready to be mounted into those cheap BT keyboards?
It has digital temperature controls, which are not strictly necessary, but cool. If you have a soldering iron you like already, that should be fine as long as you have or can get a fine-point conical tip to work with smaller parts. Very interesting article. Thanks for the hard work. Question: For the people that analyzed the content of the onboard rom.
If i want to change the device name that shows up on the host side when the bluetooth devices are pairing, is there a variable for that in the ROM?? I would imagine that the device name is probably programmed into the same area of the EEPROM though, so you should be able to accomplish what you want to. After reading your article, I decided to get a mini keyboard like this one.
While trying to wire it for my needs I decided to solder wires to the pads instead of figure out what pins did what I connected one of the ctrl-l pads to a pad in the column to the right of it. I guess what I was thinking about a common ground was wrong as it now types multiple characters for each key press. Holding it down will type more zeroes. Most of the letter buttons type the letter pressed and another letter or semicolon after it. The semicolon button only works with ctrl-l pressed.
Any ideas? Check this page out for an example:. It may or may not be possible, but at least it should help…I hope! Is it possible that withers broken trace could cause this or that what I did somehow changed the way it operates ie changed the programming or something like that?
Hi, This Prject ist very great. Is there a plan for a matrix witch key is connected from row x to column x?
Bluetooth Mouse With Broadcom 2042 Chipset
Have a good idea for a new product for SFE or Olimex? Let us know! I found this while trying to find a small solution for doing a bluetooth keyboard hack. It would make things really easy to send simple keypresses or mouse commands to a computer. According to your site, this is also the chip inside the wii-mote that handles the Bluetooth. It can be found at Arrow or Avnet but unfortunately there is a 16 week lead time for both. Thanks, Dave.
Interfacing with a BCM2042/BP20422 Bluetooth HID Module