Grips are connected to the main block with three-wire cords with a 3.5mm jack at the tip.
Bill of materials (BOM):
1x Upper shield (3D-printed)
1x Main Block Basement (3D-printed)
1x Battery (Li-Po, 3.7V, 250 mA*h to 450 mA*h)
1x push switch (PB-22 or alike)
1x SparkFun Lithium Charger & booster (Sparkfun PRT-11231 or alike)
1x Bluetooth Modem (HC-06 or BlueSMiRF) - preferrably with 6-pin footprint
1x Connector Board with 5-pin Male Connector
1x Main Board (engraved or etched)
1x Atmel AtMega32-AU
1x 16 MHz oscillator (can be reduced to 4 MHz without any issues, but flashing requires 16 MHz)
1x 6 Pin Male connector (0.1" step)
1x 5 Pin Female connector (0.1")
4x NDS355 MOSFET (SOT323 housing)
1x 0.1 μF Capacitor (SMD 1206)
1x 10 KOhm Resistor (SMD 1206)
1x Lower Clip (3D-printed)
1x Upper Clip (3D-printed)
1x M5 Nut
1x M5x10 Screw
1x Clip Board (engraved or etched)
2x 3.5mm Jack Sockets
5x Phosphored Bronze Fingers (0.05" wide)
5x 6mm Acrylic formers
1x 1ft three-wire cord
1x 3.5mm Jack
1x PCB with
2x LEDs (bright red or white work the best)
2x 100 Ohm resistors
The project was largely supported by Fablab77 (FabLab in MIS&S, Moscow) and Skoltech (Skolkovo Institute of Technology).
Step 1: Electronics. Let's Prepare PCBs
_traces.png and _cutout.png files are intended to be fabricated on a milling engraver (eg. Roland Modela MDX-20) machine.
Traces should be done first.
Step 2: Making Hounsing
Step 3: Flashing
First, you will need an in-circuit programmer to flash Arduino bootloader into the chip.
Connect 6-pin connector (Vcc, GND, Reset, SCK, MOSI, MISO) to appropriate pins of Atmega (28 for Reset, 16 for MOSI etc).
Using Arduino environment, upload the bootloader.
Note: you might need to change the signature in avrdude.conf for ATMEGA328P from 1E 95 0F to 1E 95 14!
Second, upload the firmware: http://pastebin.com/i30vqvfb
Then, install Amarino onto your phone: http://code.google.com/p/amarino/downloads/detail?name=Amarino_2_v0_55.apk
Then install our demo app from Play Market: https://play.google.com/store/apps/details?id=ru.skoltech.navigator
It should perform well with "Test" function.