Tuesday, 22 October 2013

Breakout board for HLK-RM04 wifi module

A while back we got some cheap wi-fi modules from Chinaland, which are proving quite popular on various online stores: despite different appearances, they're all variations on this module, the HLK-RM04:

Some have a covering over the chips to make them difficult to distinguish, but it's basically the same board underneath:

The thing to notice is the little ceramic onboard antenna (or lack of it) next to the gold antenna connection point (it looks like an oversized 1206 SMT resistor: the first photo has one, the second - if you look at the top-left of the module - doesn't).

Our module has an onboard antenna, but it's range is pathetically limited - it couldn't even pick up the router from across the main room at BuildBrighton tonight; soldering a "genuine" antenna did enable the module to connect to the router, although it reported a signal strength of 0% most of the time!

What isn't apparent from the photos above (and we didn't notice until after they'd arrived) is that the pin spacing on these modules is not the standard 0.1" pitch - it's much smaller (probably nearer 0.0625"). So before we could try using these, we had to make a breakout board so we could poke wires onto the pins and actually see some data flying around:

It only took most of the evening (after an aborted press-n-peel attempt and some drilling disasters on another board) but eventually we managed to get our wi-fi module onto a breakout board that was suitable for testing.

With so much time lost to making the board, we didn't have very long to spend getting data in and out of the device. As usual, Steve came to the rescue with his l33t Arduino skillz and demonstrated that the device could operate in both AP (access point) and infrastructure modes. We were even able to query the device and get it to return the dynamically assigned IP address it got from the BuildBrighton router as it changed from one mode to the other.

With our pcbs on order and awaiting delivery, it's important that we can get as far as possible with the wi-fi side of things, so that when the boards arrive, we can just hook them up and have them talking to our software, quickly and easily. So far everything's looking quite promising. Talking to the modules over serial is a bit clunky and they're not very quick to respond, but they seem to be working well enough for what we need. But then again, if there are any problems, we know we can always fall back on the excellent Wi-Fly modules from Farnell.

For the next few nights, we'll probably battle on with these and see what they can do!