HELP! Didn't disconnect MOTORS doing firmware update

HELP!!!

I was doing the firmware update for my new GOPIGO, and I saw the instruction to disconnect the motors.
I thought I might click OK first, then do the disconnect. Unfortunately, after I click OK, the process kept going without asking yes or no, then the firmware update was done quickly.

I reboot, then the demo program cannot find GOPIGO. Was the hardware damaged already? (cry…)

I am from China, it took me 10 days to wait for the kit to arrive from U.S… SO sad this happend…

What should I do now?

Update:

I searched for solutions, and tried the instruction from one post After Firmware update, one motor runs constantly on reboot,

I tried sudo bash firmware_update_v16.sh, and it seemed works. Gopigo is moving forward again~~

To make sure it’s really good now, I did the troubleshoot,

can anyone help check my latest log to see if anything is wrong now?

Check space left

Filesystem Size Used Avail Use% Mounted on
/dev/root 3.6G 2.8G 615M 82% /
devtmpfs 427M 0 427M 0% /dev
tmpfs 432M 0 432M 0% /dev/shm
tmpfs 432M 6.1M 425M 2% /run
tmpfs 5.0M 4.0K 5.0M 1% /run/lock
tmpfs 432M 0 432M 0% /sys/fs/cgroup
/dev/mmcblk0p1 63M 21M 43M 33% /boot
tmpfs 87M 0 87M 0% /run/user/1000

Check for dependencies

python 2.7.9-1 install ok installed
python-pip 1.5.6-5 install ok installed
git 1:2.1.4-2.1+deb8u2 install ok installed
libi2c-dev 3.1.1+svn-2 install ok installed
python-serial 2.6-1.1 install ok installed
python-rpi.gpio unknown ok not-installed
i2c-tools 3.1.1+svn-2 install ok installed
python-smbus 3.1.1+svn-2 install ok installed
arduino 2:1.6.0 install ok installed
minicom 2.7-1 install ok installed
scratch 1.4.0.6~dfsg1-5 install ok installed

wiringPi Not Found (ERR)
wiringPi Found
I2C already removed from blacklist
SPI already removed from blacklist

Check for addition in /modules

I2C-dev already there
i2c-bcm2708 already there
spi-dev already there

Hardware revision

gpio version: 2.36
Copyright © 2012-2015 Gordon Henderson
This is free software with ABSOLUTELY NO WARRANTY.
For details type: gpio -warranty

Raspberry Pi Details:
Type: Pi 3, Revision: 02, Memory: 1024MB, Maker: Sony

  • Device tree is enabled.
    *–> Raspberry Pi 3 Model B Rev 1.2
  • This Raspberry Pi supports user-level GPIO access.

Check the /dev folder

i2c-1
spidev0.0
spidev0.1
ttyAMA0

USB device status

Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=smsc95xx, 480M

Checking for Atmega chip

avrdude: Version 5.10, compiled on Jun 18 2012 at 12:38:29
Copyright © 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright © 2007-2009 Joerg Wunsch

     System wide configuration file is "/etc/avrdude.conf"
     User configuration file is "/root/.avrduderc"
     User configuration file does not exist or is not a regular file, skipping

     Using Port                    : unknown
     Using Programmer              : gpio
     AVR Part                      : ATMEGA328P
     Chip Erase delay              : 9000 us
     PAGEL                         : PD7
     BS2                           : PC2
     RESET disposition             : dedicated
     RETRY pulse                   : SCK
     serial program mode           : yes
     parallel program mode         : yes
     Timeout                       : 200
     StabDelay                     : 100
     CmdexeDelay                   : 25
     SyncLoops                     : 32
     ByteDelay                     : 0
     PollIndex                     : 3
     PollValue                     : 0x53
     Memory Detail                 :

                              Block Poll               Page                       Polled
       Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
       ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
       eeprom        65     5     4    0 no       1024    4      0  3600  3600 0xff 0xff
       flash         65     6   128    0 yes     32768  128    256  4500  4500 0xff 0xff
       lfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       hfuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       efuse          0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       lock           0     0     0    0 no          1    0      0  4500  4500 0x00 0x00
       calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
       signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

     Programmer Type : GPIO
     Description     : Use sysfs interface to bitbang GPIO lines

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x1e950f

avrdude done. Thank you.

Checking I2C bus for devices

Checking I2C bus 0

Error: Could not open file /dev/i2c-0' or/dev/i2c/0’: No such file or directory

Checking I2C bus 1

 0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f

00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --

Checking for firmware version and CPU Speed and Voltage

v 1.6
CPU speed: 2
10.05 V

CHECKING ENCODER READINGS
0 0
Both motors moving Forward with LED On
after 5 sec 161 155
Both motors stopped with LED Off
None after stop cmd 167 160
None after 2 more sec 169 160
Both motors moving back with LED On
after 5 sec 282 262
Both motors stopped with LED Off
None after stop cmd 282 262
None after 2 more sec 282 262

CHECKING ENCODER TARGETING

Initial encoder read vals: 0 0
Enc tgt Status: 1
Enc tgt Status: 0
Final encoder read vals: 0 0

Initial encoder read vals: 0 0
Enc tgt Status: 1
Enc tgt Status: 1
Traceback (most recent call last):
File “/home/pi/Dexter/GoPiGo/Software/Python/tests/enc_tgt_test.py”, line 69, in
enc_stat=read_enc_status()
File “build/bdist.linux-armv7l/egg/gopigo.py”, line 610, in read_enc_status
File “build/bdist.linux-armv7l/egg/gopigo.py”, line 601, in read_status
IOError: [Errno 5] Input/output error

@zhanghewnn,
It looks like the GoPiGo hardware is still working properly,

Can you tell us which image are you using on the SD card. Is it Dexter Industries Raspbian for Robots or something else.

Can you also do a firmware update to your GoPiGo, by typing the following command on your terminal/command line (Do disconnect the motors before you start).

sudo bash /home/pi/Desktop/GoPiGo/Firmware/firmware_update.sh

Once you have done your firmware update, you should have all your programs working.

Can you try it out and let us know if this helps. If this doesn’t help, can you post the output of the firmware update and send another troubleshooting log.

I think this problem could have been avoided. When you update the firmware it should say in bold letters that you must disconnect the motors before clicking OK. Like this: DISCONNECT MOTORS before clicking ok Also what if the update code ran the motors and if it got feedback from the motors then it would say you need to disconnect the motors before updating.

This could avoid mistakes like @zhanghewnn made.

Hi @graykevinb,

First of all, thank you for support :slight_smile: .
I’m taking a look in the firmware_update.sh and I see we already have those bold statements.

Take a look at firmware_update.sh - link.

Thank you!