WiFi Update

Some updates on the project:

  1. I was unhappy with the linear regulator’s heat performance, so I changed to a switching module.  This increased the number of passive components a bit.  I found a nice module from TI that has an integrated inductor, so the whole thing still fits nicely.  The PCB layout is tricky for switching regulators, but I did my best to follow the guidelines in the data sheet, so I’m hopeful it will work as expected.

    Rather than making a separate breakout board to prototype the regulator, I just went ahead and ordered the PCBs for the whole project.  I’ll reflow the regulator components first and test the circuit out before reflowing again to add the WiReach and additional components.

  2. Mathias suggested a buffer to translate between 3.3v and 5v signals, but this is all 3.3v logic.  I did add a buffer for another reason– the fact that the module is powered separately from the Newton means that the Newton can be pushing 3.3v logic signals when the module is powered off.  I checked with ConnectOne and the module is tolerant to this, but it wastes power and possibly causes problems with an inconsistent state on power-up.  By using a buffer, the logic signals are kept at the same voltage level as the module itself.  I chose a buffer that has “power off protection on inputs and outputs” which means the buffer can be at Vcc=0 and still tolerate signals coming from the Newton.1
  3. I have an idea for the reset circuit.  The power regulator has a “Power Good” output that holds to ground until the power regulation hits the target voltage.   The idea is to tie this to the WiReach module’s reset pin.  This should hold the module in reset until the power regulator is fully online.  This only costs one extra pull-up resistor.

    In case this strategy doesn’t work, I’ve got an alternate setup where the Newton’s extra GPIO can trigger the reset.  The GPIO is looped through the buffer, again to keep the logic at the same voltage as the WiReach supply.  A solder jumper selects which reset circuit you wish to use.  The WiReach reset pin is an open-drain, and can be pulled low by the module.  I added a 200 ohm resistor inline to limit the current should the Newton be outputting a 3.3v signal while the module is pulling down its own reset signal.

  4. Switched the test pads to just pads rather than thru-holes.  Moved them near the edge of the board so I can clip on with alligator clips to test.  Exposed the reset and MSEL signals as test pads on the back of the board as well.  These can be used to reset the module into rescue mode if necessary.
  5. Some of the routing is a little odd but I tried to keep the jumpers on the bottom layer as short as possible.  This resulted in few extra vias.  I wanted to keep the ground plane as intact as possible.
  6. I’m still paranoid about the hole locations and the physical design fitting properly, so I 3D printed another mockup to test the fit.  Seems to work well.  Hole placement is still iffy.  I’d love to know the real measurements.  Each time I tweak it a little, but never seem to be happy, so I’m finally just going with it.

So the board is off at ITEAD Studio being built, assuming it passes their error checks. update: it passed error checks and is being manufactured I also ordered two solder stencils from OSHStencils.  I also built a reflow toaster out of an old toaster oven I got for free from a garage sale.  All that’s left is to get some solder paste.  I also want to build a little pick and place jig to help place the small components.

Hopefully this will all work in the end… and then there’s still the antenna to figure out.

  1. The data sheet for the On Semi MC74VHCT50A is vague on exactly what “Power Down Protection Provided on Inputs and Outputs” actually means.  I did a little testing on the bench, and found that when Vcc=0 the inputs and outputs seem to work like they are Hi-Z. (I’m not sure how to verify that they are definitively Hi-Z, but I can’t measure any current flowing in or out when Vcc=0) It expect it to work for this application. ?