WT12 Custom Breakout Board: Take 2

After my original post about the WT12 breakout board I was working on a while back, I thought I should really follow that up with some info on what’s happened with that adventure. In short, it’s been a great success! The PCB revisions that I made proved to work very well, and I now have two great boards available for purchase through InMojo, as well as an Eagle library if you want to make your own.

The first is a full board that breaks out every pin of the module, and fits on a standard solderless breadboard with enough room to use the pins. It also has a separate UART header that is pin-compatible with SparkFun’s BlueSMiRF boards. The second is basically the same hardware, only it’s cut down to only the size and connections necessary for UART access.

As far as I am aware, this is the absolute cheapest way to get an assembled breakout board for this module, and I would argue that this is the best Bluetooth module out there for simple microcontroller access due to the very capable iWRAP firmware that supports multiple profiles, including the elusive HID profile.

As I mentioned before, I designed the PCBs in Eagle, and while doing so, I created a Bluegiga Eagle library with a full range of Bluegiga’s Bluetooth modules (including the BLE112 Bluetooth Low Energy module). All are designed strictly to the datasheet specifications, but I have only actually used the WT12 part in my designs so far. Feel free to use the parts in your own designs, and if you do, I’d love to hear about them!

Most of Bluegiga’s modules come in a couple of different variants, usually with and without an on-chip antenna. The Eagle library includes parts for both variants in the cases of modules that include them. Additionally, each variant of every module has a normal schematic part and a “visual” schematic part. For the normal parts, the pins are arranged into logical groups based on their function, as is often the technique used in schematics. The “visual” parts have the pins arranged exactly as they are placed physically on the module, which makes breakout board designs simpler. It is up to you which version you want to use.

If you need a powerful Bluetooth module for your MCU project, I highly recommend this one. It’s working great for me so far with the Keyglove, and Bluegiga’s documentation and support are excellent.

20 Comments
  1. Great post! Quick question: I picked up a WT12-A-AI from ebay with the intention of purchasing one of your breakout boards for an Arduino project. However, when the module arrived it was already mounted on a breakout board. The seller said that this is how they were provided by his vendor, though I’m having a heck of a time tracking down any details about the breakout board (which is, of course, unlabeled). The module has a fine-pitched 12-pin socket (6×2) and what appears to be holes for another 8-pin connector. Only markings on the breakout board are “Signalife BlueGiga rev 1.0”. Have you seen any of these breakout boards?

    • Hi Steve!

      I have not seen these before. It appears that Signalife may not still be in business, at least under that name. My best guess is that you got your hands on a discrete Bluetooth module designed for a wireless patient/heart monitoring system that they manufactured at some point. This page has some info about Signalife, including a picture showing some of the wireless hardware they made under the “Description of Products” section. The particular WT12 module you got may have a health-related firmware flashed onto it (HDP profile), or it might just be the regular firmware. In either case, if you can get at the pins, you can definitely re-flash it to the latest iWRAP firmware.

      In order to do that though, you’d need to trace those 2mm pins back to the correct contacts on the module (assuming VDD, GND, RXD, and TXD are broken out), or else use some SMT tools to remove the module from the board and start fresh. If you were planning to mount the plain module to my breakout board anyway, you might have the tools to do that handy. It’s pretty hard with just a soldering iron, I can tell you that.

      Jeff

  2. Hey,
    Any plans to make a breakout for the BLE112?

    • Yes! I have the part already in the Bluegiga Eagle Library, but it hasn’t been a priority due to all the other stuff I have going on. However, my many-months-old order for a few BLE112 modules from SemiconductorStore has just shipped (as of yesterday), so I have a reason to work on the breakout board. If I’m lucky, it will be done in a few weeks.

      • Excellent! I just ordered a couple BLE112’s (plus a couple of their USB dongles) a couple days ago. I was excited by the news that the new mac mini and mac book airs now support bluetooth 4.0. My plan is to mod a NES controller into a bluetooth HID joystick.

        Did you order bluegiga’s starter kit for the BLE112? I don’t get why it’s $400..Can’t you just download the “BG Srcipt and BG Profile Toolkit development environment” and what good is the “On-board firmware flashing tool”?

        • I just got the individual modules. The starter kit did seem prohibitively expensive, yeah. It will be interesting to play around with them, because as far as I know, they don’t support the iWRAP firmware that makes the WT11/12 so easy to use. Microcontroller implementations will need to be at least different, if not more complicated.

        • Hey Kevin, I’m interested in doing the same thing as you. How has this turned out? Any info you could provide about your experience would be just awesome! Any reason you selected the BLE112 over the WT12? Thanks!

        • Second question, is this BLE112 backwards compatible with legacy bluetooth 2.1 adapters? I like the low power consumption but it needs to work with my old stuff. Jeff, what’s your status on the breakout boards for these?

          • Sean, the BLE112 is not backwards-compatible with older adapters. It is what’s called a “single-mode” device, meaning it only supports the new specification and can only talk to other BLE devices. There are dual-mode modules out there, but the BLE112 isn’t one of them.

            As for the breakout board, I’ve got one that I have tested in a very limited fashion, but I’m not ready to call it finished quite yet since I haven’t verified all of the behavior as much as I’d like. However, I’ve got another small batch of PCBs scheduled to show up in a couple of days, which I intend to test and ultimately sell like the WT12s. You may not be interested anymore though, in light of the fact that you need more compatibility.

  3. Thanks Jeff. I’m new to all this stuff. If I purchased one of your WT12 UART modules, an Arduino Pro Mini, a power regulator/charger, and a battery pack, I’d have all I need to get a NES controller up and running wirelessly?

    Do I need a button for pairing? Do I do configuration/firmware tweaking with it wired up to the Arduino via USB or do I need to program it by itself?

    As you can tell, I’m not really a programmer/electrical engineer, I’m an artist trying to figure out what I need to get this project done! Thanks again!

    • Your sample set of hardware should work, yes. Although, you might want to go with a Teensy board + 3.3v regulator instead of the Arduino Pro Mini, because it can be connected as a wired USB device (Serial/KB/Mouse/Joystick) if desired. It’s also $1 cheaper than the typical Pro Mini. That design choice is up to you though.

      With the main MCU board, WT12 module, a LiPo battery, and LiPo charger, that should be all you really need. You could add a button for pairing, but that’s not strictly necessary (you could probably come up with a special combination of NES buttons, like A+B+select, to trigger pairing mode). In the simplest pairing mode, the WT12 will connect with a host device with absolutely no interaction. The important stuff can be controlled with simple serial commands.

      You can connect directly to the WT12 from a computer using a 3.3v FTDI board, but that’s also just one option. You can control and reconfigure it through the Arduino’s UART port as well.

      Now I’m tempted to try the project! 🙂 Too many other things going on right now for it to be a good idea though.

  4. Oh, and these modules have the built in antennas?

  5. Hi Jeff,
    I recently bought two modules to couple an Atmega with two sensors to a notebook. Now I read that it should be possible to execute custom code on the WT12 module. If this is true, do you know what tools I need to write, compile and download the code to the module. I´m afraid the avm studio is not the right choice.
    Thanx Lutz.

    • Hi Lutz,

      That depends on what you mean by “execute custom code.” If you mean compiling a replacement firmware image that is different from the official iWRAP releases, then I’m not sure. Bluegiga would be the place to ask; there might be a special development environment for that sort of thing, but I’ve never looked into it.

      Using the iWRAP firmware though, there are ways to attach other iWRAP commands to GPIO logic states, so that (for example) it will clear all stored pairing settings when you bring one GPIO6 high. This can be done with the official firmware quite easily, but obviously it is much more limited than what you could theoretically achieve by a complete firmware rewrite.

  6. Hi Jeff,
    what I mean is to replace the ATmega by the WT12 module processor. The ATmega execute basicly three interrupt routines, one for the serial connection, one for an ADC and one for an SPI to aacceleration sensor.
    The question is, is it possible to port theese interrupts to the WT12 module processor? I dont want to replace the firmware but to supplement it with additional code.

    • Hi Lutz,

      I don’t believe what you want to do is possible because the SPI interface is meant to be used as a device rather than a host, and I don’t think there is any usable ADC I/O pin for that level of custom behavior. You probably will need to keep at least some simple MCU as a layer between the WT12 and the sensor.

      However, I’ve never asked about that kind of customization, and I could be wrong if you are willing to get your hands really deep into the code. The guys at Bluegiga would be able to answer your question for sure though.

  7. Hi Jeff,
    I am designing PCB having BT-WT12 & AT-Xmega MCU as main modules.
    Should I need to use RS232 Transceiver chip while connecting Rxd,Txd Pins of WT12 with Microcontroller OR can connect directly both the devices together.

    • I haven’t worked with Xmega MCUs yet, but a quick look at the AVR specifications online shows that they have many UART transceivers built-in, much like the smaller ATMega MCUs. A UART transceiver can connect directly with a WT12 module, so you shouldn’t need any RS232 transceivers. Just connect the WT12 RX/TX pins to the Xmega TX/RX pins (TX->RX and RX->TX, not TX->TX and RX-RX), and it should work perfectly.

Leave a Reply