DX BCM20730 modules aren’t that great

DX.com sells some Bluetooth 3.0 modules carrying Broadcom BCM20730 as the core (link). According to the datasheet attached to this Geekhack post, it scans the matrix of a keyboard automatically. The chip also supports an external optical mouse, IR encoding/decoding, and other undocumented features as the datasheet is preliminary. The BCM20730 is used in a wide range of Chinese Bluetooth keyboards found on eBay and was pretty huge a few years ago, which I think was an advertisement campaign led by Broadcom to publicize their chip.

Working on the ThinkClamp project at the time, I got myself 2 of them, did some research and have some breakout boards made. Here’s the Gerber if you like to use Elecrow to manufacture them; their 5×10 cm for $11 deal is particularly awesome! I got the breakout board about a week ago. Here’s how it looks with everything soldered. For testing purposes, only the UART pins, GND and 3V3 pins are needed to be soldered. TP-BCM730 Schematic for reference.


According to the datasheet and various other sources, Broadcom Bluetool is used to configure these modules. Broadcom is highly secretive I’ve come to know. They keep their development resources tight and controlled via confidential agreements with their customers. Unfortunately, an older version of Bluetool got uploaded. Now I have no idea what’s the current version of Bluetool to say that the version I found is old, but given that there are only 2 COM ports accessible and the old-looking user interface, it’s safe to say that this piece of software was written in the Windows XP era.

Using this testing guide (attached in post) for what I think is another BCM20730 development board and a USB-to-UART converter, I attempted to send commands to the DX module. For most of the time, the RESET command works and a value of ‘Success 0x0′ is replied. However, for all other commands, the module fails to reply.

As I do not have a USB-SPI converter to try to use the chip’s SPI functionality, for me, this module has proved to be potentially useful for invested ones but absolutely useless without clear guidance for usage. So unless you have the tools, good documentation and time to work this module, don’t bother with it.

Update: Finally got some data from these modules I think it was just pure luck that this happens. Despite all connections were soldered properly and letting using the same setup all the time, this happens to be a one-time lucky event. TP-BCM730 log

DIY 18″ E-reader?

Technical books are big and heavy so I prefer to read them in digital formats, which I have found is only possible thus far for me, through computer monitors and my Nexus 7 tablets. The Nexus 7 tablet is only 7″ diagonally, making it tiny and uncomfortable to read text with diagrams while computers are well… I get distracted all the time and find it hard to read through an entire document. Weirdly enough, I also find that if I tilt my head downwards like I’m holding and reading a book, I can read much quicker.

(Head to the 2nd-to-last paragraph for quick rant on TI’s awesome MIPI DSI to eDP converters to be used on high-res eDP displays with Raspberry Pi’s DSI port)

Now, there are existing large tablets on the market, such as the monstrous Samsung Galaxy Tab S 10.x series and Samsung Galaxy Note Pro 12.2. They are ultra thin and large but also fairly expensive and out of my budget ($500-$900).

During work experience earlier this year, my boss gave me a monitor that doesn’t stay on for a long time – could be due to a blown capacitor (there was 1 when I opened it up). I also have another 17″ LCD sitting in my room doing nothing. So I could turn them into portable e-readers by using a Raspberry Pi A+, LED strips to replace the CCFL tubes and a HDMI-to-VGA adapter.

Let’s talk Pros and Cons.


  • Cheaper: Pi ($25) + LED strip ($10) + Power ($15-$20) + Batteries ($40 x 3) + Monitor (Free) = $175 approx.
  • Larger screen estate
  • Matte screen


  1. Much thicker and heavier
  2. Much lower resolution, could be an eyesore for long period of time
  3. No touch screen
  4. Involves lots of development time
  5. Washed out colour
  6. Lower brightness
  7. Battery life concern

Now let’s break down the Cons if see if there are any mitigations for them.

  1. Thicker and heavier is expected, the screen is already much thicker.
  2. Nothing I can do about that. Let’s focus on the positive that we’re getting much larger screen estate here.
  3. Could be fixed with Microchip GestIC with a sensor board mounted behind the display.
  4. Too bad, though it’s cheaper, that’s an upside.
  5. The Pi may be able to be programmed to use a grayscale colour profile.
  6. Too bad.
  7. The iPad 1 used 2 batteries. Maybe I can stack up 2 or 3 iPad battery packs to make up for the Raspberry Pi’s height and extend the battery life that way.

eDP Displays

What if you want to use a laptop/tablet display like the newer eDP or embedded DisplayPort displays that the newer iPads and MacBook are using? Well, Raspberry Pi has DSI display ports. Earlier this year, I noticed that Texas Instruments has been manufacturing MIPI DSI-to-eDP chips! How good is that!

No FPGA mess, only that now you need to come up with high-speed PCBs and dedicated power supply ICs and lines to supply higher voltage lines (still DC though), and signal integrity to make sure that the power supply noises doesn’t interfere with display signals. And what’s more? All Raspberry Pi has DSI ports, even the older ones.

So yea, just something to think about.

Extending TWCalc simulator

Thanks to to the whoever wrote TWCalc’s simulator to make their code open as a Javascript source file, I’ve come to find that (berserker and paladin), and (trebuchet and nobleman) placement in the attacker and defender’s objects for simulation were swapped around. Once corrected, the battle simulation result were very much spot on.

Furthering the capability of the simulator, I then added in berserkers strength modifier and officer support to the attack strength formulae, and make this modification available as a customized simulator on Github Pages: TW2-Sim. Lacking the CSS skills to make it pretty, I resorted to tables and double-line borders.

Tribal Wars 2 Quick Sim Tool

I’m back into playing Tribal Wars (TW) again, this time it’s Tribal Wars 2 (TW2). It’s been going for about 5 months now. All started when I got this promotional e-mail from Innogames announcing their fancy new version. Of course, I waited a few months for the initial bugs to be ironed out, or actually I forgot about it.

Personally, I think the average proficiency of TW2 players are much lower compared to TW1 players. Barb-noblers are everywhere! It’s come to a point in which I’m deciding whether to bypass an entire province (like a church zone in TW1) because every single barb is taken. Overall, the game is buggy, slow and requires constant refreshing. For some reason, it needs lots of processing power which makes my laptop fan runs wild every session.

In TW2, there are no official simulators. I use TWCalc. The icons used to be coherent with TW2’s official unit icons, now it’s some random ones. Anyhow, it’s not very accurate, only gives a rough estimate. But it’s better than nothing. To speed up the process of having to enter units manually into the simulator and switching tabs to verify that the units are correct, I made a tiny Chrome extension to do this for me. And I checked with the TW2 support team, it’s not a breach of rule to do so! Thumbs up for the dev team for using a template for their HTML file, making the report so much easier to extract.

Here you go: TW2 Quick Sim. Behind the scene, it extracts the units from the top-right unit bar and extract the units from the scouting report; then opens up a TW2Calc website and inject this data into it. It ignores morality, luck and church – you can’t get these data from a spy (scout) report. Works like a treat!

ThinkClamp Bluetooth project ceased

I’ve decided to stop working on the ThinkPad keyboard adapter with Bluetooth support. It’s taking too much time and the work is repetitive. I’ll probably just add UART to my USB board, add in a LiPo charger and modify the firmware a bit. It’s possibly not going to be energy efficient compared to using interrupts on the keyboard inputs and the TrackPoint clock line.

Also, prices for MSP430 parts are jacking up. It’s simply not economical to use them anymore. I’ll switch to ARM Cortex-M0+, like Freescale KL2x series.

Thus, here’s the schematic to the ThinkClamp PCB v0.8. I hope it helps you with your future endeavor with building a keyboard & TrackPoint adapter.

As for folks who would want to build a case, I’ve made a 3D model of the ThinkPad T60 keyboard: Grabcad.

ThinkClamp – short project update

Finally got some spare time yesterday to solder the new PCB revision and it works well, some better than anticipated. I’ve found one or two PCB errors. Nothing major though, it’s all working well enough.

I decided not to solder on the reset buttons as a slide between the ON and OFF positions of the slide switch would effectively reset the entire board.

Soldered board with MSP430F5502 and HM-10

Soldered board with MSP430F5502 and HM-10

Now it’s time for some programming. With a USB-enabled microcontroller, this board would eventually support both USB and Bluetooth functionality, preferably with the same firmware flashed. I’ve decided to use the HM-10 with my custom firmware instead of using a RN42-HID module so I can further improve the firmware.

Update: There might be a minor problem with the LiPo charger in which the battery voltage may jitter when a battery is not connected. This caused a bit of a random enumeration/disconnection problem. However, if a battery is connected to the battery output pins, the board seems to work fine. The USB microcontroller enumerates with no problems at all. For now, I’ve soldered on a single-cell battery pack so that I may get on to write the firmware.

Krisp and their incredible glossy photo paper

Krisp’s glossy photo paper for inkjet printers is amazing for PCB toner transfer. It takes toner superbly well from a Xerox laser printer and with no soaking required, the paper can be easily peeled off, leaving toner sitting perfectly still on the PCB copper surface. Here’s the proof:

Great print

Great print

Amazing transfer

Amazing transfer, well except for that tiny bit on the bottom left

Trasferred PCB, it looks much sharper on camera

Etched PCB, it looks much sharper on camera

It has been wasteful to use an A4 piece of paper on so little printing area so imagine the if multiple PCB designs are panelized, imagine all the designs that can fit on an A4 and save so much time not soaking and removing the paper layer-by-layer.

This might be old news, but as the site description “The archive of things that are worth posting” dictates, this post is worth posting.