[Thumbgps-devel] Build vs. modify vs. what should we be doing anyway?

Patrick Maupin pmaupin at gmail.com
Sat Mar 10 13:02:40 EST 2012


In this message on esr's blog, I suggested that perhaps we should
acquire and test/modify a really cheap ($23) USB GPS module.

http://esr.ibiblio.org/?p=4171&cpage=1#comment-374779

esr correctly wanted to understand the value in this.

There are several reasons to do this.    First, it's dirt cheap for
playing with.  We can test the latency through the prolific, hack in a
couple of FTDI chips and test their latency as well, test the wobble
on the PPS pin from that particular module, etc.

Second, if I understand correctly, this device is EXACTLY what we want
to build, except for the lack of the PPS connection.

Third (and I alluded to this on the blog, but perhaps didn't stress it
enough) electronic parts pricing follows an exponential decay curve
vs. quantity.  It is actually unlikely that you could make a PCB and
buy all the parts in that thing for anywhere as low as $23 in
quantities of 100, plus the labor of building the board is significant
compared to the labor of cutting a board trace and adding a wire.  So
the first production run (maybe all production runs) could be to buy
those, add a blue wire, and ship them.  (FWIW, real actual consumer
products ship with hacked boards all the time.)

Fourth, and I can't stress this enough -- when you're doing things in
small quantities, you're unimportant.  Priorities change.  Nobody
bothers to inform you that the part you settled on as "best" after 30
hours of research is going to be end-of-lifed in 2 months.  But they
DO tell the customers that buy thousands, and those customers put in a
final buy order, and a few more are made and then the thing becomes
completely unavailable.  Then you're spinning a new board, scrapping
the 200 "extras" you had made because board pricing is such that the
first one costs a couple of hundred but the next few are practically
free, and doing a lot of extra work just to ship the next ten units.

(As an aside, the fourth point doesn't apply so much if you're willing
to pay a lot for the more industrial modules, but that probably gets
us above the price point we're aiming for.)

Fifth, the most important thing for us is probably a testbed that
gives us confidence in the latencies through the system.  This is not
a board that will ship in quantity.  As with all science, it should be
reproducible, but perhaps you only need two or three in the world.
This test system should probably be FPGA-based and should have at
least these capabilities:

- High resolution, high stability frequency source (OCXO or TCXO).
- Ability to timestamp PPS signals from multiple attached GPS devices
to look for wobble
- Ability to timestamp start-character information from multiple
attached GPS devices -- maybe we can get lucky and find one that has
consistent message timing
- Ability to compare latency through different USB converters

In other words, trust but verify.  Spec sheets are meaningless, but we
can apply metrics to all the hardware we can find.

OK, so what should we be doing?

I propose:

1) Such a test-system, thoroughly documented and used by 2 or 3 people
(or more if they want).  Investment might be around $300-400/unit to
achieve excellent accuracy, plus cost of whatever GPS devices you want
to hook to it.

2) A process whereby several different options are presented and the
pros and cons discussed and user chooses the best one for him

3) A dialogue with different vendors, and lots of descriptive links to
different products.

4) A storefront, perhaps with someone like seeedstudio or sparkfun,
where we can contract for them to build and have available a few of
the units du jour.  Minimal investment on our part that is not
designed to make a profit, but rather to facilitate their efforts in
making these things available.  As an example, buying 100 of those
cheap units would cost $2300 and if you had them modified and
minimally tested in seeedstudio in China that would add $2 to $5/unit.
 (seeedstudio is cheaper and probably more amenable to modifying other
devices.)

5) Links to other webpages where people have done the same sorts of
modifications.  I have seen several of these, some quite useful.

I think that the market is actually working well for these devices,
and that our efforts will be best spent categorizing winners and
losers and almost-winners, and facilitating modifying almost-winners
into winners, both on a one-off standpoint and with the manufacturers.
 At the end of the day, if we are successful, lots of manufacturers
will be shipping GPS mice with the desired properties.

Other people's mileage may vary and it may very well be that the right
answer is to, in fact, build a board and source components and build
the thing from scratch.  We all have our own biases, so I will
describe a little about my background here.  I work for a chip
manufacturer.  We ship zillions of chips.  But to design and test
those, we need boards and widgets in the lab.  We make anywhere from a
couple of those to dozens of those.  We also ship development kits
that may ship in the low hundreds.

So, while our product is made in China, we don't make enough boards to
do that.  I know nothing about getting a board made in China, and
frankly have no interest in learning at this point.  We have boards
made locally, or we hand make them in the lab.  Making boards in the
lab would be too expensive for 100 boards.  Making them in a local
board shop would probably be to expensive unless your minimum
production run was at least 50 boards --  then you could probably get
the assembly cost down to $10-$15 per board.

But making small modifications is a piece of cake.  I could probably
give our best technician $300 to take home 100 of those dongles that
just need a blue wire added, and take them home and add the wire, and
then we'd all be extremely happy.

You can see these economics in action all over the place.  Go look at
sparkfun or seeedstudio or any similar sites, and take a good look at
the products they actually make.  In a lot of cases, you will see "out
of stock" notices.  This is because the economies of the entire
process, from purchasing to board fabrication to board assembly, are
heavily weighted towards batch building.

The only economies that aren't significantly improved by batch
building involve hand labor (but even those are improved to the extent
that it's easier to outsource modifications to a batch than to a
single board).  This is why I strongly suggest that we find someone
who (1) has good economies of scale because they are making thousands,
(2) actually passes on a significant value of those economies of scale
to their customers, and (3) has a product that is easily adaptable to
what we need.

This is what I do all the time at work.  I make boards that have a
header to accept power from an ATX supply.  I build projects that fit
inside aluminum external drive cases (which you can buy for less than
you could buy the power supply inside!)  I work really hard to
leverage existing stuff I can find for cheap and turn into what I
need.  Sometimes.  If you're just building one board, banana jacks for
a lab supply are fine.  If you're building 15, it's nice for it to
have its own power supply.

In short, if this was a work project, I'd be buying a couple of those
$23 units with an eye towards hacking them and figuring out if I
wanted to buy another hundred.  In that process, I would develop a
test bench and some skills that would let me analyze the units, and
other similar ones in the future, to evaluate if they really meet the
needs at hand, and to help insulate myself from inevitable future
product unavailability.



More information about the Thumbgps-devel mailing list