SmartBoard WiFly


This is a bridge board (aka 'shield') which supports the SparkFun WiFly module enabling remote sensing and remote control via WiFi.

Design Goals

Create a simple adapter to plug in the WiFly module, sacrificing the minimum number of usable circuits on the SmartBoard Baseboard. The WiFly can then be used as another communication channel for the SmartBoard.

Initial Concept

From the initial concept, I connected the WiFly as you see here. This was enough to prove the concept and develop a more "conventional" schematic.



As you see this is mostly just providing an electrical interface.

Smart WiFly v1.0 Schematic

PCB Design

The PCB is providing a stable mechanical as well as the electrical interface.


Smart WiFly v1.0 PCB

With the pin spacing of the SmartBoard WiFly, you can also use this module with a proto-board, but note that this will plug in on the outer row of sockets on the proto-board.

Order this PCB

BatchPCB is gone, and I haven't posted this elsewhere. Contact me to see if I have spares or am preparing an order.


And lastly, for a BOM, I had everything I needed laying around, so I didn’t create a BOM. I encourage you to double-check my notes here so you don’t get something you can’t use.

ComponentDescription and a possible source
C1, C210 uF, 6v, SMD 1206 size. DigiKey 1276-1312-1-ND.
Wifly Header1 x 10 pos 2 MM Vert T/H (qty 2) Possibly these parts from DigiKey will work - S5751-10-ND, 3M9405-ND, 952-1354-5-ND
Mbed Header1 x 20 pos 2.54 MM Vert T/H 0.62 length (qty 2) It looks like I bought a few of these 50 pos parts and snapped them down to size - SAM1059-50-ND
Reset SwI had an old kit of switches I’ve been pilfering for years, and so used those. This is the DigiKey part - CKN1723-ND; I would have sourced a lower price unit if I didn’t already have this …
3-pin HeaderA106719-ND
Shuntto use on the 3-pin header A26228-ND
Screw TerminalsThere's a 7-position right angle ED2640-ND
Screw TerminalsAnd a 4-position 45 degree one that I never bought, so I do not have a part number

Build this device

As simple as this is, you may want to skip this set of instructions, but at least scan them for details not to overlook.

/media/uploads/WiredHome/img_20130310_113142.jpgSmartBoard baseboard just visible on the left, Smart WiFly in the middle, WiFly above that, and the mbed at the bottom.
/media/uploads/WiredHome/img_20130310_113332.jpgNote how the mbed nestles between the leads of the Smart WiFly bridge board. When they are lined up together, the pair install easily into the baseboard.
/media/uploads/WiredHome/img_20130310_113426.jpgInstalled onto SmartBoard
/media/uploads/WiredHome/img_20130310_113544.jpgPowered and Connected!

Handy Tools:

  • Fine tip soldering iron
  • Small diameter solder
  • A steady hand
  • A good magnifier (an inexpensive eye loupe works well)
  • A small bench vise to hold the PCB

Recommended Construction Sequence:

  1. The surface mount caps. I chose large footprint parts that are easier to hand solder. I recommend you place a little solder on the PCB pad, then remove most of it, then while holding the cap in place just touch each end to reheat the solder. Once it is attached, you can apply just a bit more solder as needed.
  2. Double-check that the caps are aligned on their pads.
  3. Install the socket strips for the WiFly. Just tack the corners, then check the alignment, then finish soldering them down.
  4. Install the stand-off connectors on the bottom side, so the top side of the PCB stands up tall (the long leads are sticking down below the board. If you do not seat the connector fully onto the board, it may be easier to perform that extra soldering step on pins 1, 10, and 20. Then repeat on 21, 30, and 40.
    • On the top-side, the stand-off connector pins should be just barely stickup up above the PCB. Make sure they are of uniform height before you start soldering.
    • Solder each of the pins on the top-side.
    • Turn to the bottom side, and carefully heat and solder several, if not all, of the pins.
  5. Install the wire screw terminals. Note that there are two rows (one with 7 pins and the other with 4 pins).
    • Unless you have a version that supports wire entry at 45 degrees, it will be difficult to use the inner connector, so you'll see I left it off of the build shown in the photos.
  6. Install the reset switch.
  7. Install the 3-pin header for the jumper.

Hardware Checkout

  1. Inspect the connections, then inspect them again. Look for good soldering quality, and no shorts to adjacent circuits.
  2. Checking continuity from pin to pin per the schematic. Check that the signals are not shorted to adjacent pins.
  3. Install the SmartBoard WiFly onto a suitable baseboard, but do not install the WiFly module.
  4. Power up and probe the WiFly strip socket pin 1 to ensure that it has only 3.3v, as anything higher might destroy the WiFly module.
  5. Power down and install the WiFly module.
  6. Test with the following program. For this program, you do need to refer to the WiFly User manual.

Software Checkout


Many BaseBoards have some circuits permanently attached to the mbed modules pins. Check for conflicts with the WiFly module.

When using Smart WiFly v1.0 with SmartBoard v1.0, remove jumpers JP5, JP6, JP8, and JP10.

#include "mbed.h"

Serial pc(USBTX, USBRX);  // defaults to 9600 baud
Serial wifi(p28,p27);

int main() {
    pc.printf("Test Wifly!\r\n");

    while (1) 

At this stage, you can power up, run your favorite communications program on the PC and interact with the WiFly module. Start by typing "$$$" and look for the command prompt from the WiFly module. Long before this step, you should have downloaded the WiFly documentation. There's a lot to read there, but you can find good instructions to help you start up, connect to your [hopefully] secure network, and start experimenting.

What next ?

That's up to you, but you might be interested in the Smart WiFly WebServer.

9 comments on SmartBoard WiFly:

05 Aug 2013

Wondering if you uploaded a board so we can order and build our own.

05 Aug 2013

Hi Travis, I did get a build of this from BatchPCB, but in my hurry I had a few errors (trying to squeeze the design out before a long vacation). That as version 0.1 which you see in the picture above. BatchPCB is no more, and I haven't yet used OSH Park. I think I have two unused v0.1 board (but the errors are a bit embarrassing to share). Send me a private note if you are interested and don't mind having to make some cuts and jumpers.

What I learned from v0.1 is now in the schematic and pcb you see above as v1.0, but I have not yet made PCBs for this version.

17 Aug 2013

Hello David,

I think the WiFly module (firmware V4.00) is not able to handle more than one open TCP connection at a time currently. I believe that I saw a statement somewhere on their website that they plan to work on that feature in a firmware version after 4.00. Also there is currently no way (i.e. handle or socket ID) implemented which would allow you to distinguish more than one open connection, so you are not able to select which open channel/socket you want to communicate, right ? We shall monitor the RN website looking for an update of the firmware which implements this feature.

17 Aug 2013

Hi Henry. Yes, I confirmed this as well from the RN support. My workaround, for simple needs, is a javascript to load the extra resources (images primarily) after the page loads. This seems to work almost every time.

05 Oct 2013

Hi David, At anytime have you tried Wifly using the Xbee socket on the mbed "Aplication Board"? I am using RN-XV (RN171) which I have updated to firmware version 4.00 . No success to date. Regards, Kevin

06 Oct 2013

Hi Kevin,

I designed my board before the application Board existed, So, I have not tried that interface. Sorry I can't help more.

06 Oct 2013

Thank you David. I like your board. Cheers

01 Mar 2014

undefined wrote:

... have you tried Wifly using the Xbee socket on the mbed "Application Board"?

I now have an mbed application board, and the RN-XV (rev 3) module is working as good there as on my own SmartBoard design. There is a different set of interface pins for each.

ConfigurationWiflyInterface API
WiflyInterface examplesWiflyInterface wifly(p9, p10, p25, p26, "mbed", "password", WPA);
mbed Application BoardWiflyInterface wifly(p9, p10, p30, p29, "mbed", "password", WPA);
SmartBoard BaseboardWiflyInterface wifly(p28, p27, p23, p24, "mbed", "password", WPA);

The firmware I currently have on the Wifly module is "wifly-EZX Ver: 4.41 Build: r1057, Jan 17 2014 10:23:54 on RN-171".

12 Dec 2015

I updated one module to newer firmware I noticed on the Microchip web site.

wifly-EZX Ver: 4.75 Build: r1777, Oct 2 2015 10:18:50 on RN-171

Some testing is underway.

Please log in to post comments.