mirror of https://github.com/commaai/neo.git
files and guide
This commit is contained in:
parent
94a2a9767c
commit
0a8404b384
|
@ -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.
|
52
README.md
52
README.md
|
@ -1,2 +1,50 @@
|
||||||
# neo
|
neo
|
||||||
comma neo research platform
|
=====
|
||||||
|
|
||||||
|
<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.**
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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 C’s&R’s
|
||||||
|
|
||||||
|
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
|
||||||
|
|
|
@ -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
|
|
|
@ -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
|
|
Loading…
Reference in New Issue