files and guide

This commit is contained in:
edsammy 2016-11-29 18:26:04 -08:00 committed by espes
parent 94a2a9767c
commit 0a8404b384
13 changed files with 14137 additions and 2 deletions

7
LICENSE.neo Normal file
View File

@ -0,0 +1,7 @@
Copyright (c) 2016, comma.ai
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

View File

@ -1,2 +1,50 @@
# neo
comma neo research platform
neo
=====
<img src="https://github.com/commaai/neo/blob/master/neo.png">
The neo is an open source robotics research platform. It is powered by a OnePlus 3 smartphone and an [STM32F205](http://www.st.com/en/microcontrollers/stm32f2x5.html?querycriteria=productId=LN1433)-based CAN interface board, in a 3d-printed housing with active cooling.
The neo platform includes [NEOS](https://github.com/commaai/neo/releases/tag/swag), a stripped down Android ROM designed for robustness and to get out of the way of your software. It also provides a modern linux environment for easy development.
Why
------
You cannot get a higher performance embedded processor than what's shipping in modern smartphones. They also come with an impressive array of sensors and radios, and are very low cost.
For some background see the work of [Android Based Robots](http://www.socsci.uci.edu/~jkrichma/ABR/abr_background.html).
Build
------
The neo is designed to be very easy to construct. You need to be able to shop online and use a soldering iron.
There is a **[very detailed guide](https://github.com/commaai/neo/raw/master/guide.pdf)** with instructions on what to order and how to build a neo.
to build a neo, 6 orders must be placed from the following sources:
- digikey
- mcmaster
- shapeways
- oshpark
- amazon
- oneplus
The total cost is about $700.
Directory structure
------
- board -- EagleCAD schematic, board, and library files
- parts -- csv bill of materials
- case -- stl files for 3d printing
Licensing
------
neo research platform is released under the MIT license.
**THIS IS ALPHA QUALITY SOFTWARE FOR RESEARCH PURPOSES ONLY. THIS IS NOT A PRODUCT.
YOU ARE RESPONSIBLE FOR COMPLYING WITH LOCAL LAWS AND REGULATIONS.
NO WARRANTY EXPRESSED OR IMPLIED.**

4041
board/comma.ai.lbr Normal file

File diff suppressed because it is too large Load Diff

1899
board/neo.brd Normal file

File diff suppressed because it is too large Load Diff

8104
board/neo.sch Normal file

File diff suppressed because it is too large Load Diff

BIN
case/bottom.stl Normal file

Binary file not shown.

BIN
case/cover.stl Normal file

Binary file not shown.

BIN
case/mount.stl Normal file

Binary file not shown.

BIN
case/top.stl Normal file

Binary file not shown.

395
guide.pdf Normal file
View File

@ -0,0 +1,395 @@
neo
research platform
comma.ai
github.com/commaai/neo
, 1
suppliers
, 2
electronics
1. download github.com/commaai/neo/parts/digikey.csv
2. go to digikey.com/classic/Ordering and register or log in
3. click and navigate to the downloaded csv file
4. change the “First part Record Begins on Row” to 2
5. change the first column to “Digi-Key Part Number”
6. change the second column to “Quantity”
7. leave the rest as undefined then click
8. this bom includes spares of various components and should cost
board
1. download github.com/commaai/neo/board/neo.brd
2. go to oshpark.com/uploads/new and drag the downloaded brd file into the window
3. enter your email and click continue
4. scroll to the bottom of the next page and click
5. OSHpark requires a minimum of 3 boards per order
cables
1. order cat6 cable from amazon.com/dp/B00N2VISLW
2. order OTG USB cable from amazon.com/dp/B0194WSKOM
3. optional: order serial debug cable from sfe.io/p9717
4. optional: order 12V 2A power supply from amazon.com/dp/B019Q3U72M
, 3
3d prints
1. download all stl files from github.com/commaai/neo/case
2. go to shapeways.com and login or register
3. click upload in the top right corner
4. select one of the downloaded files (keep units in millimeters) and then click upload
5. repeat for the remaining three files (you can only upload one at a time)
6. hover over “MAKE” on the top menu bar and then click “My Models”
7. select the material and finish of the 4 prints (we recommend “Black Strong & Flecible”)
and then click “ADD TO CART”
, 4
hardware
1. download github.com/commaai/neo/parts/mcmaster.csv
2. open the file in your favorite text editor and select all
3. go to mcmaster.com and click “BUILD ORDER” in the upper right corner
4. click “Paste products and quantities” then paste the previously copied text
5. click add and all the neccessary hardware will be added to your cart
, 5
electronics
assembly
, 6
tools
soldering iron wire strippers tweezers
, 7
parts
C14 U1 Cs&Rs
Y1 U4 Q1
J2
J1 LED1&2 U3 SW1
U2 J3
J5
J4
cat6 cable board
8
,
bill of materials
digikey part num qty ref des value footprint
1276-1817-1-ND 0603
2 C1, C2 8pF
490-1532-1-ND 0603
C3, C4, C5, C6,
490-3296-1-ND 0603
490-10744-1-ND 9 C7, C11, C13, C16, 100nF 0805
radial
P12372-ND C17 0603
1276-1784-1-ND thru hole-6
S1011EC-40-ND 3 C9, C10, C18 2.2uF thru hole-2
smd-4
WM1731-ND 2 C12, C15 2.2uF thru hole-8
1175-1008-ND thru hole-20
AE10398-ND 1 C14 330uF 0805
670-2294-ND 0805
475-1410-1-ND 1 C8 4.7uF sot23-3
475-1415-1-ND
MMBT2222ALT1GOSCT-ND 1 J1 uart connector 0603
311-10KGRCT-ND 1 J2 fan connector 0603
0603
311-18.7KHRCT-ND 1 J3 usb a 0603
311-1.0KGRCT-ND 0603
311-2.7KGRCT-ND 1 J4 rj45 0603
smd-4
311-22GRCT-ND 1 J5 jae 20 pin lqfp-64
311-220GRCT-ND thru hole-7
P12961SCT-ND 1 LED1 green so14
sot23-5
497-11153-ND 1 LED2 red smd-2
296-20515-ND 40x10mm
568-8681-1-ND 1 Q1 mmbt2222a 28mm
296-36844-1-ND
887-1667-1-ND 6 R1, R5, R8, R12, 10k
603-1840-ND R14, R15
345-1108-ND
1 R11 18.7k
2 R6, R7 1k
2 R2, R13 2.7k
2 R3, R4 22
2 R9, R10 220
1 SW1 spst
1 U1 stm32f205
1 U2 ptn78020w
1 U3 tja1048
1 U4 3.3v
1 Y1 8MHz
1 H1 12V fan
4 H2, H3, H4, H5 heatsink
, 9
, 10
, 11
build notes
1. solder U1 onto the front of the board and check for any shorts between pins, this is
the microcontroller that interacts with the OnePlus3
2. solder C1-13 in any order onto the front of the board
3. solder R1, R2, R7, R8, R11-13 onto the front of the board
4. solder Q1 onto the front of the board, this controls the speed of the fan
5. solder U3 onto the front of the board, this is the CAN transceiver
6. solder U4 onto the front of the board, this is the 5V to 3.3V converter
7. solder Y1 onto the front of the board, this is the main crystal resonator
8. optional for uart debug: fashion J1 by breaking away 6 pins from the 40 pin
connector then solder onto the back of the board, this is the uart breakout
connection
9. solder J2 onto the back of the board with the notch on the right (see image
below), this is the connector for the fan
10. solder J3 onto the back of the board, make sure it remains level with the board so
that the otg usb cable will lay flat when connected
11. solder J4 onto the back of the board, make sure the plastic legs are fully snapped
into their holes, this is the breakout to the research vehicle
12. J5 is used externally from the board, put it aside for later
13. solder LED1 and LED2 to the back of the board, note that the green and red
LEDs do not have the same polarity so if they are mixed up they will not operate
properly
14. solder R3-6, R9, R10, R14, R15 onto the back of the board
15. solder SW1 onto the back of the board, this is used to put the microcontroller into
DFU mode to flash the initial firmware (should not be required for future firmware
flashes)
16. bend pins of C14 before soldering so that the curved surface lays on the back of
the board (see image below)
17. solder C15 onto the back of the board
18. solder U2 onto the back of the board, this is the 12V to 5V power supply
19. go to page 14 and build the breakout cable in order to test the board
, 12
notch on J2 faces this way
, 13
breakout cable
1. cut off ~8” of the cat6 cable and strip the internal wires
2. for a Honda vehicle, make the connections in the JAE column (for all other vehicles
make the connections show in the OBDII column)
3. cover the back of the JAE (or OBDII) connector with hot glue in order to prevent any
shorts or breaking of wires
note: you can build an AC-DC adapter using the 12V power supply mentioned on page 3.
this is useful for using a neo outside a car environment.
rj45 cat5 (t568b) wire signal JAE OBDII
pin gnd
+12V
1 14 4
orange stripe
2 10 16
orange
3 green stripe car CAN low 13 14
4 ignition 19 ---
blue
5 gnd 14 4
blue stripe
6 green car CAN high 2 6
7 brown stripe radar CAN high 7 ---
8 brown radar CAN low 18 ---
, 14
jae connector (J5)
back
, 15
test the board
1. check for any shorts between the pairs of points shown below, fix if any exist
2. setup the OnePlus3 with NEOS by following the instructions at
github.com/commaai/one/tree/master/neos
3. plug the female end of the OTG USB cable into the board and the USB C
connector into the OnePlus3
4. plug the rj45 connector into the board and hold down SW1 while you plug the
breakout cable into the car (or 12V adapter), this puts the microcontroller into
DFU mode
5. the OnePlus3 will upload the firmware to the microcrontroller, if the red LED
on the board begins to flash then your board is working properly
6. if you have any issues or submit an issue request at
github.com/commaai/neo/issues
2
3
1
5 4
, 16
case
assembly
, 17
tools
soldering iron phillips head
, 18
parts
A B C D E F
1x 4x 7x 6x 4x 2x
blower fan (H1) heatsinks (H2-5)
1x 4x
OnePlus3
unlimited data SIM
order on oneplus.net
1x 1x
,
19
case top case bottom
1x 1x
mount 1x
back cover 1x
20
,
assembled pcb
1x
usb otg cable
1x
, 21
1 E
slowly push E into the plastic using
the tip of a soldering iron
E
, 22
2
F
F
item F will take significantly less
force to insert than item E
, 23
3
E
E
, 24
4
slide top onto the OnePlus3
remove paper backing from heatsinks and
stick to the OnePlus3
, 25
make sure the corners of the top heatsinks
are flush with the corners of the plastic case
, 26
5
slide the cover into the top part of the case
then set aside to work with the bottom
, 27
6
D (6x)
, 28
7
C (4x)
C (3x)
, 29
8
A
, 30
9 B (4x)
, 31
10
push the cable into the slot on the bottom
of the case until it clicks into the interface
board
snake the cable through the channel in the bottom of the case
and plug the usb c connector into the OnePlus3 (this may take
, a few tries)
32
done
, 33

BIN
neo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 KiB

29
parts/digikey.csv Normal file
View File

@ -0,0 +1,29 @@
digikey part num,order qty,qty used,ref des,value,footprint
1276-1817-1-ND,3,2,"C1, C2",8pF,0603
490-1532-1-ND,10,9,"C3, C4, C5, C6, C7, C11, C13, C16, C17",100nF,0603
490-3296-1-ND,4,3,"C9, C10, C18",2.2uF,0603
490-10744-1-ND,3,2,"C12, C15",2.2uF,0805
P12372-ND,1,1,C14,330uF,radial
1276-1784-1-ND,2,1,C8,4.7uF,0603
S1011EC-40-ND,1,1,J1,uart connector,thru hole-6
WM1731-ND ,1,1,J2,fan connector,thru hole-2
1175-1008-ND,1,1,J3,usb a,smd-4
AE10398-ND,1,1,J4,rj45,thru hole-8
670-2294-ND,1,1,J5,jae 20 pin,thru hole-20
475-1410-1-ND,2,1,LED1,green,0805
475-1415-1-ND,2,1,LED2,red,0805
MMBT2222ALT1GOSCT-ND,2,1,Q1,mmbt2222a,sot23-3
311-10KGRCT-ND,10,6,"R1, R5, R8, R12, R14, R15",10k,0603
311-18.7KHRCT-ND,10,1,R11,18.7k,0603
311-1.0KGRCT-ND,10,2,"R6, R7",1k,0603
311-2.7KGRCT-ND,10,2,"R2, R13",2.7k,0603
311-22GRCT-ND,10,2,"R3, R4",22,0603
311-220GRCT-ND,10,2,"R9, R10",220,0603
P12961SCT-ND,1,1,SW1,spst,smd-4
497-11153-ND,1,1,U1,stm32f205,lqfp-64
296-20515-ND,1,1,U2,ptn78020w,thru hole-7
568-8681-1-ND,1,1,U3,tja1048,so14
296-36844-1-ND,2,1,U4,3.3v,sot23-5
887-1667-1-ND,2,1,Y1,8MHz,smd-2
603-1840-ND,1,1,H1,12V fan,40x10mm
345-1102-ND,4,4,"H2, H3, H4, H5",heatsink,28mm
1 digikey part num order qty qty used ref des value footprint
2 1276-1817-1-ND 3 2 C1, C2 8pF 0603
3 490-1532-1-ND 10 9 C3, C4, C5, C6, C7, C11, C13, C16, C17 100nF 0603
4 490-3296-1-ND 4 3 C9, C10, C18 2.2uF 0603
5 490-10744-1-ND 3 2 C12, C15 2.2uF 0805
6 P12372-ND 1 1 C14 330uF radial
7 1276-1784-1-ND 2 1 C8 4.7uF 0603
8 S1011EC-40-ND 1 1 J1 uart connector thru hole-6
9 WM1731-ND 1 1 J2 fan connector thru hole-2
10 1175-1008-ND 1 1 J3 usb a smd-4
11 AE10398-ND 1 1 J4 rj45 thru hole-8
12 670-2294-ND 1 1 J5 jae 20 pin thru hole-20
13 475-1410-1-ND 2 1 LED1 green 0805
14 475-1415-1-ND 2 1 LED2 red 0805
15 MMBT2222ALT1GOSCT-ND 2 1 Q1 mmbt2222a sot23-3
16 311-10KGRCT-ND 10 6 R1, R5, R8, R12, R14, R15 10k 0603
17 311-18.7KHRCT-ND 10 1 R11 18.7k 0603
18 311-1.0KGRCT-ND 10 2 R6, R7 1k 0603
19 311-2.7KGRCT-ND 10 2 R2, R13 2.7k 0603
20 311-22GRCT-ND 10 2 R3, R4 22 0603
21 311-220GRCT-ND 10 2 R9, R10 220 0603
22 P12961SCT-ND 1 1 SW1 spst smd-4
23 497-11153-ND 1 1 U1 stm32f205 lqfp-64
24 296-20515-ND 1 1 U2 ptn78020w thru hole-7
25 568-8681-1-ND 1 1 U3 tja1048 so14
26 296-36844-1-ND 2 1 U4 3.3v sot23-5
27 887-1667-1-ND 2 1 Y1 8MHz smd-2
28 603-1840-ND 1 1 H1 12V fan 40x10mm
29 345-1102-ND 4 4 H2, H3, H4, H5 heatsink 28mm

7
parts/mcmaster.csv Normal file
View File

@ -0,0 +1,7 @@
mcmaster part num,pack qty,qty used,ref des,description
92010A005,1,1,A,m2 10mm flat head
92010A122,1,4,B,m3 12mm flat head
92000A013,1,7,C,m2 6mm pan head
91828A111,1,6,D,m2 hex nut
94180A331,1,4,E,m3 heat set insert
94180A307,1,2,F,m2 heat set insert
1 mcmaster part num pack qty qty used ref des description
2 92010A005 1 1 A m2 10mm flat head
3 92010A122 1 4 B m3 12mm flat head
4 92000A013 1 7 C m2 6mm pan head
5 91828A111 1 6 D m2 hex nut
6 94180A331 1 4 E m3 heat set insert
7 94180A307 1 2 F m2 heat set insert