nvidia Jetson TK1 board dead

U-Boot SPL 2014.10-rc2-00001-g9f88c9e (Dec 01 2014 – 14:29:15)
[0000.000] [TegraBoot] (version UNDEF_BUILD)
[0000.004] Reset reason: power on reset
[0000.008] Processing in recovery mode
[0000.011] Established communication link with host
[0001.088] Downloaded bct successfully
[0001.093] No Battery Present
[0001.097] Sdram initialization is successful
[0001.111] Downloaded DTB successfully
[0001.138] No Battery Present
[0001.227] Downloaded bootloader successfully
[0001.231] CPU-bootloader entry address: 0x83d88000
[0001.235] BoardId: 375
[0001.238] Vpr Carveout Base=0x0f4600000 Size=0x00ba00000
[0001.243] Tsec Carveout Base=0x0f2600000 Size=0x002000000
[0001.248] Lp0 Carveout Base=0x0f25ff000 Size=0x000001000
[0001.253] Xusb Carveout Base=0x0f2300000 Size=0x000200000
[0001.258] Platform-DebugCarveout: 0
[0001.285] NvTbootI2cClearBus(): error code 0x00045004 Invalid register value in bus clear status register
[0001.294] NvTbootI2cDeviceWrite(): error code 0x00045004 I2c Open Failed
[0001.301] NvTbootI2c: Read failed for slave 0x80, offset 0x00 with error code 0x00045004
[0001.308] FAILURE in NvTbootConfigureCpu
[0001.312] Error is 45004

More info about the error 45004:

0x00045004, “The controller reports the error during transaction like fifo overrun, underrun”)

So basically it needs I2C to boot and it doesn’t work.

https://devtalk.nvidia.com/default/topic/831539/now-unable-to-flash-jetson-tk1/?offset=17

 

 

usb hub review

usbhub


lsusb

Bus 003 Device 030: ID 8564:1000


An unbranded Chinese 10 port usb hub

I plugged a usb stick on each port and used usb-devices to check how they're named.

Each written line is a port from 1 to 10


T: Bus=03 Lev=03 Prnt=09 Port=00 Cnt=01 Dev#= 14 Spd=12 MxCh= 0
T: Bus=03 Lev=03 Prnt=09 Port=01 Cnt=01 Dev#= 13 Spd=12 MxCh= 0

T: Bus=03 Lev=04 Prnt=10 Port=00 Cnt=01 Dev#= 16 Spd=12 MxCh= 0
T: Bus=03 Lev=04 Prnt=10 Port=01 Cnt=01 Dev#= 17 Spd=12 MxCh= 0
T: Bus=03 Lev=04 Prnt=10 Port=02 Cnt=01 Dev#= 18 Spd=12 MxCh= 0
T: Bus=03 Lev=04 Prnt=10 Port=03 Cnt=01 Dev#= 19 Spd=12 MxCh= 0

T: Bus=03 Lev=04 Prnt=11 Port=00 Cnt=01 Dev#= 20 Spd=12 MxCh= 0
T: Bus=03 Lev=04 Prnt=11 Port=01 Cnt=01 Dev#= 21 Spd=12 MxCh= 0
T: Bus=03 Lev=04 Prnt=11 Port=02 Cnt=01 Dev#= 22 Spd=12 MxCh= 0
T: Bus=03 Lev=04 Prnt=11 Port=03 Cnt=01 Dev#= 23 Spd=12 MxCh= 0


It seems it has 3 hubs inside. one for ports one and two and the other two hubs and then another two hubs.

The red leds cannot be turned off without desoldering. The board is made of bakelite and is brittle but does well inside the plastic enclosure.

VNH2SP30 CJMCU single motor Arduino test code

Detrasdelante

Arduino Test Code


   /* 
      EN (Diagnostic) and 
      CS (Current Sense would go to analog in)
      are not connected.
      GND to Arduino nano's GND
      +5V to Arduino nano's VIN
   */

    int PWM  = 3;  
    int InA = 7;
    int InB = 8;
    
    int PWM_val = 64; // 25% = 64; 50% = 127; 75% = 191; 100% = 255

    void setup() {
   
      pinMode(InA, OUTPUT);
      pinMode(InB, OUTPUT);
      pinMode(PWM, OUTPUT);
    }

    void loop() {
      // Turn CW ClockWise  
      digitalWrite(InA, HIGH);
      digitalWrite(InB, LOW);
      analogWrite(PWM, PWM_val);
    
      /*
      // Turn CCW Counter ClockWise
      digitalWrite(InA, LOW);
      digitalWrite(InB, HIGH);
      analogWrite(PWM, PWM_val);
      */
    }

This can work as a unitary test code for those cheap chinese boards. Their price is cheaper than the unitary chip price from ST.

Power consumption on the rover

lsusb -v

Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB
MaxPower 100mA

An Arduino Nano also reports 100mA but according to the datasheet it requires less than 20mA in normal use and 50mA is more likely.

10 Arduino <= 60mA*10 = 600mA = 0.6A @5V
2 Usb Hub <= 100mA *2 = 200mA = 0.2A @ 5V
1 Jetson TK1 <= 2-3A @ 12V
total<=40W

All that has to be powered by a Poweradd Apollo Pro

— Output: 1 x USB 5V 2.1A + 1 x DC12V/16V/19V 3A
— Solar Charger: 15V 150mA (max)
— Size: 224.79 x 124.96 x 21.84 mm
— Weight: 489 g

http://www.ipoweradd.com/poweradd-apollo-pro-23000mah-solar-battery-charger-for-iphone-5s-5c-5-4s-4-6_p1263.html

I will tear apart the powerbank to see what is inside before choosing it.

Some people said it had 18650 cells inside.

The 18 represents the cell’s diameter, in millimeters.
The 65 represents the cell’s length
The 0 represents that the cell is round

its thickness is 21.84 mm so it might be possible.

Problems:

The rover is supposed to carry a Kinect v1 and this one requires 12W @ 12V/1A

http://wiki.ros.org/kinect/Tutorials/Adding%20a%20Kinect%20to%20an%20iRobot%20Create

 

 

 

Rover wheel quick numbers

$_57

I’m making quick numbers for a slow rover but I want to know if the motors I’ve choosen will be good enough.

A wheel has 95mm diameter, so its perimeter is 2 pi * 95/2 mm so in one revolution it advances pi * 95 mm = 298.45mm . Aproximately the long side of a A4 paper.

I will probably use JGA25-371 DC 25 rpm motors. 25 rpm = 25 revolutions per minute so in one minute it advances 25*298.45= 7461mm = 7.4 meters (two cars) and in 1 second it advances 124.4 mm, the diameter of a DVD aproximately.

For the 41 rpm one it would be 41*298.45= 12236.45mm = 12 meters (three cars) and in 1 second it advances 203mm, the short side of an A4 paper.

Wheel:

http://www.ebay.es/itm/4pcs-12mm-Hub-Wheel-Rim-Tires-for-1-10-Off-Road-RC-Rock-Crawler-Buggy-Truck/281829885771?

RC 1: 10 Rock Crawler
OD: 95mm/3.74″
ID: 45mm/1.77″
Hexagon coupling: 12mm/0.47″
Tires wide: 36mm/1.46″

Motor:

https://www.openimpulse.com/blog/products-page/25d-gearmotors/jga25-371-dc-gearmotor-encoder-25-rpm-12-v-2/

http://es.aliexpress.com/item/2pcs-JGA25-371-DC-Gearmotor-with-Encoder-41-RPM-at-12-V/32289338412.html

Model:JGA25-371 Parameter
Voltage No Load Load Torque Stall Reducer Weight
Workable Rated Speed current speed current Torque Output Torque Current  Ratio Size Unit
Range Volt.V rpm ma rpm ma kg.cm W kg.cm A 1:00 mm g
 6-24V 12 41 46 32 150 2.5 1.25 12.5 1 103 23 89
6-24V 12 25 46 20 150 4.2 1.25 21 1 171 25 91

quickly test a Logitech C920 H264 cam under Linux.

hd-pro-webcam-c920-feature-image
How to quickly test a Logitech C920 H264 camera under Linux.


sudo apt-get install v4l-utils vlc
v4l2-ctl --list-formats --device /dev/video1
v4l2-ctl --set-ctrl=power_line_frequency=1

number two is for 60hz


v4l2-ctl --device /dev/video1 –set-fmt-video=width=1920,height=1080,pixelformat=H264
v4l2-ctl --get-fmt-video
vlc v4l2:///dev/video1:width=1920:height=1080:chroma=h264

Locating Counterfeit FTDI chips and CH340 using udev

Upd

FTDI chips:

http://zeptobars.ru/en/read/FTDI-FT232RL-real-vs-fake-supereal

ftdi-ft232rl-real-vs-fake

The original FTDI chips have the text engraved and the clones have the text printed.

FTDI used malicious windows drivers to brick the counterfeit chips (changing their Product ID to zero). The clones were quite good and the original FTDI tool can be used to revert the changes. The tool also has another open source implementation here.

Online shops couldn’t sell the arduinos and they began cheating, they blocked the FTDI chip so that windows drivers can not write to them (corrupting the eeprom). The problem lies in that they all have the same serial number now.

This tool can be used to recover the serial number (but should not be used later on windows).

        print "Deliberately corrupting the checksum of your device\'s EEPROM will"
        print "protect it from being bricked by the malicious FTDI Windows driver,"
        print "while still functioning with said driver. However, if you do this,"
        print "ALL SETTINGS WILL REVERT TO DEFAULTS AND THE DEVICE SERIAL NUMBER"
        print "WILL NO LONGER BE VISIBLE.

Then my previous post can be used to locate them.

CH340 chips:

They don’t have a serial number but if they’re plugged allways in the same place other udev tricks could be used (the kernel parameter). I’ve to test it yet and then I’ll update this post.

Update:
udevadm info -n /dev/ttyUSB0 -a|grep KERNEL|grep :|grep –
KERNELS==”1-4:1.0″

iker@L450:/etc/udev/rules.d$ cat prueba.rules
SUBSYSTEM==”tty”, KERNELS==”1-4:1.0″, SYMLINK+=”rueda6″

udevadm trigger