Skip to content

Latest commit

 

History

History
273 lines (153 loc) · 18 KB

romi-jetbot-bom.md

File metadata and controls

273 lines (153 loc) · 18 KB

Romi Jetbot

Original BOM - https://github.com/NVIDIA-AI-IOT/jetbot/wiki/bill-of-materials


For details on the 8265 go to the Intel product page and click "Ordering and Compliance" - there you can see that there's the 8265.NGWMG and three variants (NV, S, NVS). There's also a version for LTE coexistence - the D2WMLG.

According to this Intel support answer you need to determine from the manufacturer of the device, with which you intend to use 8265, as to which variant is appropriate.

From the photos in the various tutorials all you see is "8265NGW".

Mouser sells the standard 8265.NGWMG (and also the various variants).

See the Nvidia forum thread on diagnosing Jetson Nano WiFi issues.


Jetson Nano Developer Kit - https://developer.nvidia.com/embedded/buy/jetson-nano-devkit


The original BOM suggests a Leopard Imaging camera (with 145° FoV) or a standard Raspberry Pi camera with 160° attachment. The BOM links to Amazon and eBay for resellers of such an attachment - but in all cases the original manufacturer seems to be Waveshare. Waveshare seems a very common source for these cameras (ModMyPi, the Pi-Shop and many others carry them).

Waveshare sell all-in-one wide-angle units, i.e. attachment and camera PCB. However in the case of Waveshare (and most other similar units) the sensor is the older Omnivision 5MP OV5647, that was used in the V1 Raspberry Pi camera, and has been discontinued by its manufacturer. The Jestson Nano only supports the newer Sony 8MP IMX219 sensor used in the V2 Raspberry Pi camera and cameras like the one from Leopard Imaging. See this Nvidia forum post and this GitHub issue for more details and pointers to supported cameras. The Leopard Imaging camera and the standard Raspberry Pi camera with attachment are the only fairly cheap options, the other supported cameras are all noticeably more expensive.

Note: the Raspberry Pi camera is fixed focus but it can be adjusted with a pliers - an easier alternative is the Adafruit lens adjustment tool.

Update: I bought a lens adjustment tool from Adafruit but the camera module arrived it came with an identical tool.

Note: from the pictures it looks like the Waveshare 160° attachment might have adjustable focus (see threading), however from the descriptions of it, the all-in-one unit and the Leopard Imaging camera, they all seem to be fixed focus.

Important: in various camera reviews people comment on having created shorts screwing in the camera module - so probably best to use nylon screws and washers.

I bought a Raspberry Pi camera module V2 and 160° attachment from Waveshare. On Chinese sites it's sometimes impossible to tell if a product is really from the expected original manufacturer. Terms like genuine or official Raspberry camera module V2 can just mean indistinguishable (it may even be from the same Chinese contract manufacturer). The camera module supplied by Waveshare comes in RS Components packaging and looks to be the real thing.


2 x Molex antenna - available from Mouser and Digikey.

64GB microSD class 10 U3 (look for the 3 in a U symbol) - digitec

Note: UHS is a little confusing, there's the bus type - UHS-I, UHS-II or UHS-III and a speed class - U1 or U3 - the two cards linked to above (and the card on Amazon in the original BOM are all UHS-I U3 cards).

MicroUSB 5V 2.5A power supply - https://www.adafruit.com/product/1995 (this has a US plug).

Note that Adafruit comment that it's really a 5.25V device - the pictures for a similar produce from digitec claim the same as does the description for Reichelt's equivalent.

PiOLED - https://www.adafruit.com/product/3527


2x36 right-angle male header - https://www.adafruit.com/product/1541

You only actually need 2x3 - Adafruit on its partsfinder page suggests the Samtec TSW series for generic right-angle 2-row header.

Just go to Mouser headers & wire housing and select:

  • series: TSW
  • mounting angle: right angle
  • number of rows: 2
  • number of positions: 6 and all higher values
  • termination post length: 2.29mm
  • contact plating: gold
  • type: pin strip

Note that the letter (F, L or G) before the "-D-RA" bit denotes the plating - F being the cheapest gold plating and G the most expensive.

And just choose look what's in stock and seems like good value - I chose TSW-116-08-F-D-RA.

Update: just order the header as part of the Pololu order - 2x40 pin - https://www.pololu.com/product/2668


While not in the BOM they stick down the WiFi module with what looks like polyimide tape, i.e. temperature resistant and non-conductive tape - https://www.adafruit.com/product/3057

Additional:


USB Gooseneck mount - https://www.modmypi.com/raspberry-pi/camera/camera-cases/camera-board-360-gooseneck-mount

Unfortunately it's out of stock (as of 9.4.2019). Graspinghand product a similar but more expensive mount: http://www.graspinghand.com/product/scorpi-b

The ModMyPi variation may be available from: https://mixtronica.com/varios-raspberrypi/17562-gooseneck-flexivel-para-camera-raspberry-pi-mmp0031-PTR002440.html

This kind of gooseneck mount, that plugs into the audio jack, seems more common: https://www.pi-shop.ch/camera-board-360-gooseneck-mount - but I don't see how using a round jack can work very well.


See also "Tools needed" section - https://github.com/NVIDIA-AI-IOT/jetbot/wiki/hardware-setup#tools-needed - nothing surprising.

Misc

Adafruit M2.5 stand-off set: https://www.adafruit.com/product/3658

M2.5 is the size you need for the holes on the Raspberry Pi and related components.

Sparkfun line follower array: https://www.sparkfun.com/products/13582

At $32 it'd seem better to build your own array: https://learn.adafruit.com/spinning-disc-step-sequencer/build-the-sensor-circuit

The Adafruit build requires sensors (5 for $3), resistors (25 for $0.75 and a proto board (1 for $4.50).

Or a seemingly near identical array from Pololu for $9.50: https://www.pololu.com/product/4348

Ball head compatible camera mounts:

Which could be used with something like these:

These are all fairly substantial, i.e. 5cm or more in height.


Full build blog for Polulu Romi with Raspberry Pi (you can control the Pi via a web interface from phone or laptop): https://www.pololu.com/blog/663/building-a-raspberry-pi-robot-with-the-romi-chassis

Alternative customer build: https://www.pololu.com/blog/675/romi-and-raspberry-pi-robot (blog entry) and https://forum.pololu.com/t/rpb-202-a-beginners-robot-based-on-romi-chassis-and-raspberry-pi/11243 (forum entry)

A near identical but more generic alternative is covered here: https://www.pololu.com/blog/577/building-a-raspberry-pi-robot-with-the-a-star-32u4-robot-controller

See also my forum post on A-star vs Romi: https://forum.pololu.com/t/romi-vs-a-star-on-generic-expansion-plate/17160


Romi chassis kit - blue: https://www.pololu.com/product/3506

Includes:

  • One blue Romi chassis base plate.
  • Two mini plastic gearmotors (120:1 HP with offset output and extended motor shaft).
  • A pair of blue Romi chassis motor clips.
  • A pair of white 70x8mm Pololu Wheels.
  • One blue Romi chassis ball caster kit.
  • One Romi chassis battery contact set.

Additional ball caster kit: https://www.pololu.com/product/3536

Romi 32U4 control board: https://www.pololu.com/product/3544

You can mount a Raspberry Pi directly onto this board with standoffs (not supplied).

Romi encoder pair: https://www.pololu.com/product/3542

Note on second ball caster: "... ball caster has built-in suspension that you might need to stiffen through the addition of a rubber band as described in the assembly section of the Romi user guide, or you can disable the suspension entirely and lock the ball caster in place using a washer." See also https://a.pololu-files.com/picture/0J7328.1200.jpg

Expansion plate x 2: https://www.pololu.com/product/3560

The expansion plate only comes in black.

The expansion plate also requires:

Alternative single piece expansion plate: https://www.pololu.com/product/1532

This is the narrow version of this plate, the wide version is 2mm too wide for the Romi.

You can find the dimensions of the Romi parts here: https://a.pololu-files.com/picture/0J7257.1200.png

It's 163mm front to back and 125mm between the wheels.


http://timdettmers.com/2019/04/03/which-gpu-for-deep-learning/

Host system GPU:

They seem to be identical cards except for differences is card dimensions.

MSI actually have four variants of the GeForce RTX 2060 Ventus: https://www.msi.com/comparison/graphics-card/?compare_list=[%22R2VGb3JjZS1SVFgtMjA2MC1WRU5UVVMtNkc=%22,%22R2VGb3JjZS1SVFgtMjA2MC1WRU5UVVMtWFMtNkctT0M=%22,%22R2VGb3JjZS1SVFgtMjA2MC1WRU5UVVMtNkctT0M=%22,%22R2VGb3JjZS1SVFgtMjA2MC1WRU5UVVMtWFMtNkc=%22]

OC probably means overclocked - the OC models run at 1710MHz while the non-OC ones run at 1680MHz. XS probably mean extra short - the XC models are 205mm long while the non-XS ones are 226mm long.

Note: sellers seem to be a bit confused about what model they're selling. Two models numbers, V375-017R and V375-035R, seem to be commonly available in German speaking countries - the V375-017R is generally described as the OC model, while the V375-035R is sometimes described as just XS and sometimes as XS OC. The MSI site doesn't help - it doesn't seem to list these model numbers anywhere.

Note: that these cards consume about 160W at full power and that MSI recommend a 500W PSU. My Dell has a 290W PSU - so I'd need something like this https://www.digitec.ch/de/s1/product/seasonic-focus-plus-gold-550w-pc-netzteil-6392517

Note: a 450W PSU is significantly cheaper than a 550W one, e.g.:

The Tim Dettmers's hardware guide (the link up above is his to his GPU specific guide): https://timdettmers.com/2018/12/16/deep-learning-hardware-guide/

Here he says you should buy a PSU the covers the CPU and GPU wattage plus 10% on-top for everything else. So with my Dell the CPU is 84W, this plus a 160W GPU plus 10% extra is just 270W which seems within the limits of the system's existing 290W supply.


Amazon - mixed inventory and you're never quite sure what you're getting or from whom.


Price comparison: you can price compare across Digikey, Mouser, RS, Arrow, Vertical, Element14 and others at https://www.eciaauthorized.com/en

Note: Element14, Farnell, Newark and Avnet are all the really same thing (or at least part of the same family of companies).

Note that Digikey and Mouser both distribute some or all of the Adafruit and Sparkfun ranges. Digikey carries some Pololu parts but the coverage doesn't seem very comprehensive.


Final purchase list: https://docs.google.com/spreadsheets/d/1FN-KnapP9kOOyOERJ5lF4QC2hGJ5NDRDmlzqIKKYnAw/edit?usp=sharing

I ordered all Adafruit parts from Mouser, except the header - where I just took an equivalent in-stock part from Mouser.

https://www.exp-tech.de/ looks like the best European source for Romi parts. But the shipping costs for Switzerland are EUR 29.75, not including UPS MwSt related fees. So it's cheaper just to order direct from Pololu (and ship with USPS).

Additional delivery costs

Update: when the Pololu order arrived Die Post charged an additional Fr. 30.30:

  • Verzollung - Fr. 16 + 3% of the package's value (not including the postage cost).
  • MwSt. - 7.7% of the package's value plus Verzollung.

In both cases the package's value did not include the postage cost. For packages coming from Germany, Austria, France and Italy the fixed fee is Fr. 11.50, rather than Fr. 16, but the rest is the same.

So that's postage of US$30.45 plus Fr. 30.30 of fees/duties on parts that cost just US$116.20.

Update: at least Die Post honestly and clearly laid out the charges - unlike FedEx which just quoted a sequence of amounts (giving the same amounts diffent names on two different sheets) without even mentioning what they believed to be the CHF value of the thing that had been delivered. Bizarrely the Arrow delivery note that accompanied the package appears to mention no price, while covering everything else - tariff code etc.

So from this FedEx page and the order confirmation email I can piece together the following:

Deliver item cost: EUR 89.92. However in the documents provided to the EZV they say the original item currency was USD (again without stating the amount) and the exchange rate was USD/CHF 1.020909, i.e. $1 buys Fr 1.020909.

So as Arrow say the USD price of the Jestson is $99 that's Fr. 101.07.

They apply a "Bearbeitungsgebühr von 2,5 % der Zölle und Steuern mit einem Mindestbetrag von CHF ". What the "Zolle und Steuern" came to they don't say but clearly it came to less the Fr. 22, so they charged:

  • Bearbeitungsgebühr- Fr.22
  • Applied MwSt of 7.7% to the Fr. 22 - Fr. 1.70
  • Tax applied to the actual package at 7.7%: Fr. 9.25

In the documents they filed with the EZV they say the taxable value was Fr. 120 - and 7.7% is Fr. 9.25. But where did the (very round) figure of Fr. 120 come from - it's not the Fr. 101.08 I calculated above given the rate they say they used.

So the Fr. 22 + Fr. 1.70 are entirely related to their fees, and the Fr. 9.25 is the amount I owed the Federal government (on the unexplained amount of Fr. 120).

I've asked FedEx (by email) where the Fr. 120 amount comes from.

The Fr. 120 amount and the exchange rate don't come from the FedEx bill instead the bill includes a [link](https //e-dec-web.ezv.admin.ch/edecZugangscodeGui/) to a page on the EZV where you can download the documentation that FedEx filed with the EZV. You have to enter the Zollanmeldungsnummer and the Zugangscode given in the bill, along with your email address - they then send you a zip file via email which you then have to unpack with 7zip:

$ 7z x edecReceipts_19CHEI001243104657_2019-05-17_2213.zip

It's a password protected zip file and you have to use the Zugangscode here again as the password.

So the postage was "free" on an item that cost just US$99 but then an additional Fr. 32.95. And it's odd that it's hard to reconsile how FedEx determined the actual MwSt. involved and how Die Post did it.

TODO: work in this response from FedEx regarding the figures:

Shipment 495105461730 was customs cleared according to the invoice (copy attached) provided by the shipper: value US $ 99.- without any Incoterm (shipping/sales method). In this case, the value for customs is: goods value US $ 99.- + freight charges Swiss Francs 19.- = CHF 120.-. According to the Swiss VAT law Art 54.- freight charges are subject to import VAT