Hardware Design History:


The 3rd generation Wocket:
  • Updated accelerometer to active production part
  • Microprocessor with additional memory, to support 1 minute bursting of raw data mode, which allows long battery life on the phone
  • Design that better supports parylene coating (i.e., no unsealed buttons)
  • New microSD-shaped connector for charging, which we anticipate will be easier to use and more robust than the (problematic) microUSB connector on V2.x. The connector also facilitates connection of our waterproof housing.
  • No "extra" components or parts (e.g., single battery connections).

V3 Rev1 (2011)

The revision of V3 adds electrical changes to reduce voltage on charging pins when undocked. Without theses changes, the voltage potential between adjacent exposed pads will cause a corrosive chemical reaction. As part of these changes, the Charger was slightly revised to use a fixed target voltage setting instead of a reference exposed via the wocket pads. Previous rev. chargers can't be used to program a Rev1 wocket, but charging functionality is fine. Some copper clearances were adjusted to improve solderability.

Sensor Design PCB Data:
PCB Supplier: http://www.ship.ie
Schematics and assembly drawign: Wocket_Rev3P1_SCH.PDF
Assembly and test services: http://www.shimmer-research.com/

Current SD Charger Rev3 Data:
Design PCB data: SD_REV3.zip
Schematics and Assembly Drawing: Wocket_SDCharger_Rev3.pdf
BOM with DNI parts for programming:Wocket_SDCharger_Rev3_without_DNI.xlsx
BOM with DNI parts for programming: Wocket_SDCharger_Rev3.xls

ECO instructions (for upgrading Rev2 to Rev3 charger): WocketRev3P1_PROGECO.pdf

V3 Rev0 (2010)

Prototype just assembled (5/27/10):

Known issues/bugs and mitigation.
  1. Battery isolation diode has low surge rating and may below. Mitigation: replace with higher rated part. To mount on Rev1 layout, use the "+" terminal pad and existing land for the diode cathode.
  2. Board thickness is incorrect on fabrication drawing. Should be .8mm, ideally .8 +/- .5mm to match microSD spec. Mitigation: Use tape to increase board thickness

Volume Pilot Build update (12/10):
  • Board thickness now .8mm
  • Hard gold used on SD fingers for improved durability. This triggered a panel outline change. Updated panel gerbers will be posted once tested. No changes at PCB/ "one-up" design level.

Design PCB data: Wocket_Rev3.zip
PCB Supplier: http://www.ship.ie
Schematics: Wocket_Rev3_SCH.PDF
Assembly Drawing: Wocket_Rev3.PDF
Assembly and test: http://www.shimmer-research.com/
BOM: Wocket_Rev3P0_RTT.xls

V3 uses a new charger design for programming and charging. This design supports charging of 2 wockets and an optional 6-pin header programming connector compatible with Atmel ISP.

Current SD Charger Data:
Design PCB data: Wocket_SDCharger_REV2.zip
Schematics and Assembly Drawing: Wocket_SDCharger_Rev2.pdf
BOM: Wocket_SDCharger_Rev2_0.xls

Old SDCharger Data (depricated):
Design PCB data: Wocket_SDCharger_Rev1P1.zip
Schematics and Assembly Drawing: Wocket_SDCharger_Rev1P1.pdf
BOM: Wocket_SDCharger_Rev1P1.xls

V2 (2009)

The 2nd generation Wocket (v2). The board was designed by Ben Kuris. The design goal was to reduce size and improve usability by integrating battery management and a programming connector. The current revision is v2.1 (v2.0 boards are not supported but are functional for development purposes).

Suggestions for additional features for v2 (still allowing a quick turnaround ... v3 will incorporate more significant revisions)

V2 Rev2

Minor revision to address some HW bugs
  • Replace CPU power isolation diode with FET to maintain rationmetric relationship with Accelerometer
  • Remove PTC-- voltage drop is causing failures during programming and limiting charger circuit
  • Fix component spacing in a few places for easier assembly or rework.

Design data for assembly and board fabrication: Wocket_Rev2P2.zip
Assembly Drawing: Wocket_Rev2P2_ASM.PDF
Schematics: Wockets_REV2P2.pdf
BOM: Wocket_Rev2P2.xls

V2 Rev1

Wocket v2
Changed some of the board functionality and addressed some issues:
  • Removed Programming Mux
  • Isolated CPU power for USB programming to comply with CPU voltage limits
  • Fixed swapped UART pins on Bluetooth
  • Revised LED resistor values
  • Added User Button to indicate sleep mode
  • Added SW-controlled FET (can be used for Vibration Motor)
  • Changed default BT power switch pulldown to pullup to reduce power
  • Added weak pulldown to Accelerometer sleep pin

All design data: Wocket_Rev2P1_FAB.zip
Panelized gerbers (8-up). Use these for PCB reorders and assembly: Wocket_Rev2P1_panelgerbers.zip
Schematics: Wocket_Rev2P1.PDF
Assembly Drawing: Wocket_Rev2P1_ASM.PDF
BOM: Wocket_Rev2P1.xls
Cost Estimates: Not much different from Wocket_Rev2P0-Costs.xls
Some screen captures of layout + net names for debug purposes: CPU_Pins1.jpg CPU_Pins2.jpg BT_pins.jpg

V2 Rev 0

New form factor and schematic redraw.
  • Recharging over-votlage and polarity protection. Competed using barttery charger IC. Battery voltage monitoring added for graceful firmware shutdown.
  • Include a connector that simplifies programming. Done, revised programming connections to use extra mins in USB cable.
  • Round the corners of the PCB so that the board is slightly more comfortable when inserted into the prototype fabric band housing. Done
  • Miniature reset button? Done.
  • Miniature on/off button or soft power
    • Not supported on this revision but added MOSFET to control bluetooth module power.
    • Added user button to allow MCU to initiate soft-power down (turn off peripherals) on Rev 2.1
  • Consider using a parlex style cable to connect the battery (or batteries) with the board
    • Design choice was to include 2 sets of .1" spaced thru-holes for batteries or connectors




6-wocket Charger




ATAVRISP2AVR gcc compilerWocket_Programmer_Rev1P1.zipwockets_isp

USB Function
Wocket Function
AVR 6-pin header. Reset is generated on Wocket board.

Charging Power
Power Jumper installed





Other suggestions for features

Suggestions for v3 and beyond (these changes are probably too signficant for a quick update to v1, but will be important later)
      • Explore options that allow complete waterproofing (possible?)
      • Protect the board from shorts and battery recharging leads exposure using a MOSFET (waterproofing)
      • Explore options (including cost implications) for flexible and/or thinner PCB (if PCB split into two, consider connecting with parlex style connector
        • v2 board is .020" thick (thin)
      • Explore options for splitting PCB into two components with a flexble wire between them (to improve some usability issues ... thinness to allow wrapping around a small wrist is key goal)
      • Explore options for other types of (thinner?) batteries?
      • Allow battery chaining so additional capacity can be added by adding more than one of the same type of thin/small battery
      • Explore options for tiny recharging connector that is appropriate for people with limited dexterity
        • Micro-USB is emerging std. for small devices.

V1 (2009)

      • Strategy #1: Cheap and small
        Try to route w/2 layers, bottom should be Ground w/the Bluetooth module (which has its own internal power and GND planes). Possibly run power traces (after LDO) around the periphery of the board but avoid cutting the ground plane in half. Place components to facilitate power routing. Probably with power regulator in a corner next to battery leads, microcontroller near the center. Try to make the rest of the board match the dimensions of the Bluetooth module. Use "via-in-pad" if necesary to achieve high density-- assembly house will complain because it leads to solderwicking down the vias creating opens, but if you are hand-soldering or have very few components it isn't an issue. This means putting vias inside the pads for SMT resistors and capacitors to save board space. Vias need to fit inside the pad so size accordingly (eg. 8mil hole, 16mil pad). It is cheaper to use 0402 size resistors and capacitors to shrink the design then it is to go to 4 layers but they are harder to hand solder. 0402 LEDs can be pricey.
      • Strategy #2: Easy to hand-assemble
        Put any components w/small leads/pads on bottom. These will be hand soldered but first you do a paste stencil for the top where the bulk of the components are located. Will require 4 layer board. Try to line up like components and keep everything neat as you will be hand placing components w/tweezers. I would find a more solderable accelerometer even if it isn't the best overall choice, or try the trick of putting a hole in the middle of the board and filling w/solder. Cover vias w/soldermask. This is called soldermask "tenting" or tented vias.

Suggestions for improvements to functionality/usability made so far (these are compiled from several poeple ... please add yours):
      • Possible: change from a 2-layer to 4-layer design to create ground plane. It may be possible to stick with a 2-layer board, however.
      • Move antenna away from copper areas to improve wireless performance and dispersion.
      • If you are hand-soldering, you can eliminate pads for pins that are not used to reduce the chance of shorting.
      • Add RF stitching vias to meet antenna design intent-- add lots of vias to ground around RF areas.
      • Consider trick of putting a hole in the board to simplify hand soldering of the flag/die attach pad on leadless parts (the accelerometer).
      • Keep the length of analog sensor lines short. Make them as direct as possible to processor and shield well. Keep the distances/path traveled by the x,y,z wires approximately the same.
      • Separate the location of the battery and the antenna as much as possible.
      • Consider heat dissipation.
      • Extend leads on accelerometer somewhat to make it easier to attach test wires if need be
      • Replace the LDO (linear regulator) so that it has the lowest possible idle (also called ground) current. Look at TPS769xx series or a newer version of the same part. LDO in v1 appears to be overkill. Carefully place LDO since it can generate a lot of heat.
      • Consider putting a soft-power switch on the bluetooth module power feed to allow SW shutdown vs. sending it a shutdown command and trusting the module firmware. Look at FPF1005/1006 (fairchild). Can save as much as 100uA idle current when the radio is inactive.
      • Test the analogue components of hardware first when doing the design (e.g. regulator w/worst case current load)
      • Pack the capacitors together and keep them close; there is no need to spread them across the board. The rationale is that there will be noise injected into the power/ground planes. The noise will travel away from the point it is being injected at a speed dependent on the properties of the material of the pcb. If the capacitor is too far from, for example, a noise producing IC then the capacitor won’t overcome the power glitches caused by noise. The bottom line the round-trip time to a capacitor must be very small (i.e. significantly shorter) than the time it would take the noise to cause power glitches (To determine that we can look at the risetime of the battery that we are using).
      • The via’s are too large. Smaller vias are preferred. Minimize the number of vias by careful placement of components and allocation of pins (pin swaps).
      • The power supply lines are too narrow, they should be wider-- least as wide as the pads they connect to.
      • Consider changing the Bluetooth module to CSR’s Bluecore. Try Bluecore 3MM RF On-the-Go and test connection and reconnection issues with the phone. (What is the package type? BGAs or microvias are outside of scope for low-cost module!). LMX series from National Semi are cheap, but power numbers look poor. Might be worth prototyping.
      • Add connectors that will simplify working with the prototypes (programming, battery connection). See next bullet (need suggestions for good ones that are not too loose but will not add thickness to the board) Add connectors that will simplify working with the prototypes (programming, battery connection) (need suggestions for good ones that are not too loose but will not add thickness to the board)
      • To simplify reprogramming during testing, consider using SAMTEC 1mm and .5mm headers . You can also extend part of the board and make a feature that gets broken off when you are done programming. Run to a larger header that mates with the programming board and perforate with large vias. You can cut with a sheers, mini-table saw, or just crack against the edge of a countertop. Leave pads to resolder if you want to reprogram later. An alternative (with a 4-layer board) would be to put large test pads on the board, maybe on the bottom or back and make a test jig using “Mill-max spring contacts” and then design a cheap 2-layer board that serves as a programmer jig.
      • If it is convenient, consider other micro-controller with better power management like the PIC24F series processor.
      • Consider smaller, less expensive microcontrollers that still provide necessary functionality, e.g. Atmega328p or Atmega168p
      • As you optimize firmware, go pin-by-pin to see what the optimal state is-- sometimes the details are confusing in the datasheets and counter-intuitive (for example a pin as a built in pullup or pull down resistor, so if your idle state is wrong you burn a bunch of power). Try to make pullup resistors as large as possible w/out breaking things. Try ~675k.
      • Orient the antenna on the board so that distance from the skin is maximized, to reduce body blocking as much as possible.

V1 Rev1

V1 Rev0:



v0 and v1
Freescale Semiconductors Accelerometer MMA7260Q
Roving Networks N-41 Bluetooth
AVR ATmega324p