Building a wearable compass

I'm building my own version of the now defunct Northpaw.

I'd like it to have the smallest form factor I can get since it'll be a wearable (without having to design my own PCB). The Trinket seems was the smallest well-supported board I came across, but it doesn't have enough pins to drive the 8 motors + compass. I've read superficially about shift registers and port expanders, but am not sure about the best general approach. I am planning to use 2N2222s to control the motors.

So my questions are:

  1. What's the best board to use in this case?

  2. If it's a board with too few pins, what's the best way to address this?

  3. How hard / time consuming would it be to design my own PCB? (I've never done this before.)

  4. Are there services which will build one-off circuits for a reasonable price?

  5. Anything else I should keep in mind?

Plasticity:
I'd like it to have the smallest form factor I can get since it'll be a wearable (without having to design my own PCB).

Then it's not going to be very wearable. At the very least build solder your own board.

Start with an ATtiny861, should have more than enough pins for your outputs, and offers low power use and small footprint (SSOP20, I think it's available in DIP package as well). Run it at 8 MHz and it'll be happy with 3-4.3V supplies which is what a regular LiIon battery will provide without regulator or boost converter or so.

I am planning to use 2N2222s to control the motors.

Why not a logic level MOSFET in SOT23 package? Nice and small, more efficient.

  1. What's the best board to use in this case?

A piece of perfboard or stripboard for prototyping; a proper PCB for final product.

  1. If it's a board with too few pins, what's the best way to address this?

Get another board. So few outputs it's silly to use port expanders.

  1. How hard / time consuming would it be to design my own PCB? (I've never done this before.)

Not that bad. Use proper software such as KiCAD or EagleCAD.

  1. Are there services which will build one-off circuits for a reasonable price?

Of course - lots of them. Bare PCB or populated PCB or complete product even - whatever you like.

I don't think that the form factor is that important. Consider the battery size, that can feed the motors for the required time. IMO a Pro Mini could do everything, extended by a transistor array for powering the motors. Or you spend a simple motor driver (transistor and resistors) mounted with every motor.

Wearable .... 8 motors?

wvmarle:
Start with an ATtiny861, should have more than enough pins for your outputs, and offers low power use and small footprint (SSOP20, I think it's available in DIP package as well). Run it at 8 MHz and it'll be happy with 3-4.3V supplies which is what a regular LiIon battery will provide without regulator or boost converter or so.

I can try that.

Why not a logic level MOSFET in SOT23 package? Nice and small, more efficient.

I'd rather not use surface mount since I've found them to be a pain. I'm also unclear on how to select an appropriate MOSFET.

A piece of perfboard or stripboard for prototyping; a proper PCB for final product.
Get another board. So few outputs it's silly to use port expanders.

OK, which board?

You might try to see if you even need transistors to drive the motors. As the webpage says, a resistor can be put in series to limit current draw to allow direct driving from an I/O pin. Next thing would be getting a controller that doesn't require a lot of power to run and is easy to connect to a battery, but also has enough pins for the 8 motors plus the compass (I2C or SPI?). There is a feather 328P proto that should fit that bill and give you somewhere to mount the compass.