Possibly faulty brickpi? (2)

Similar to http://www.dexterindustries.com/topic/possible-faulty-brickpi. Received a brickpi as a Christmas present. The brickpi will power the pi B+ from a 9v PP3 but the hardware test (motor + touch sensor) will not run. They are NXT motors/sensors.

There is no LED active on the brickpi board. Should there be one illuminated after powering on?

I’m running the latest Dexter Wheezy image.

If I run the get_voltage.py script here https://gist.github.com/antonvh/c81c247fc03029a1ba6a, it returns 0.0

Also

pi@dex ~ i2cdetect -l i2c-1 i2c 20804000.i2c I2C adapter pi@dex ~ i2cdetect -y 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: – -- – -- – -- – --

thanks
-paul

Just found the BrickPI+_Read_Battery_Voltage.py script. It also returns False

Tweaking the script shows that it is the call to read the data off the bus that raises the exception.

Thanks
-paul

Paul, do the LED examples work?

If you mean LED.py and LED_PWM.py, then yes they both work.

Thanks
-paul

The result of running the hardware test. It hangs and then traceback on Ctrl-C is:

pi@dex ~/Desktop/BrickPi_Python/Sensor_Examples sudo python BrickPi_Hardware_Test.py ^CTraceback (most recent call last): File "BrickPi_Hardware_Test.py", line 49, in <module> result = BrickPiUpdateValues() # Ask BrickPi to update values for sensors/motors File "/home/pi/Desktop/BrickPi_Python/Sensor_Examples/BrickPi.py", line 510, in BrickPiUpdateValues result, BytesReceived, InArray = BrickPiRx(0.007500) #check timeout File "/home/pi/Desktop/BrickPi_Python/Sensor_Examples/BrickPi.py", line 640, in BrickPiRx ser.timeout=0 File "/usr/lib/python2.7/dist-packages/serial/serialutil.py", line 377, in setTimeout if self._isOpen: self._reconfigurePort() File "/usr/lib/python2.7/dist-packages/serial/serialposix.py", line 312, in _reconfigurePort TERMIOS.ISIG|TERMIOS.IEXTEN) #|TERMIOS.ECHOPRT KeyboardInterrupt pi@dex ~/Desktop/BrickPi_Python/Sensor_Examples

Hey Paul, It would appear the BrickPi is not working. I’m very sorry about that. We would like to replace it asap. Can you contact us through this link: http://dexterindustries.com/contact

Let us know where you got it, if you have an order number, and your shipping address.

I will work with Amber, I’d like to get this back to test ourselves and see if we can use it to improve our testing procedure. If you’re in the US, Amber will be able to take care of this right away. I’m sorry this got through to you, and sorry for the inconvenience.

Okay thanks. I’m in the UK and bought it here, so I will also notify the reseller (ModMyPi).

Just my bad luck. In ordered the upgraded case from yourselves only a couple of days ago, so a package is already on it’s way.

-paul

Hi John,

Like Paul I got my brickpi as a xmas present, downloaded your latest weezer image and connected a LEGO EV3 servomotor at portA in order to test it out with your scratch example motortest - nothing happened. The system was powered with 9V ext. batteries. And i even tried it out 2 different raspis a b+ and a raspberry 2 - both same result. Enclosed you find the errorlog produced by the troubleshootroutine.
troubleshooting_script_v1
Check for dependencies

python 2.7.3-4+deb7u1 install ok installed
python-pip 1.1-3 install ok installed
git 1:1.7.10.4-1+wheezy1+rpi2 install ok installed
libi2c-dev 3.1.1+svn-1 install ok installed
python-serial 2.5-2.1 install ok installed
python-rpi.gpio 0.5.11-1 install ok installed
i2c-tools 3.1.1+svn-1 install ok installed
python-smbus 3.1.1+svn-1 install ok installed
arduino 1:1.0.1+dfsg-7 install ok installed
minicom 2.6.1-1 install ok installed
scratch 1.4.20131203-2 install ok installed

wiringPi Found
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

Setup for Serial for BrickPi

Clock speed Configured
Serial Port not Enabled(ERR)
Serial Port Login Already Disabled

Hardware revision

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

Raspberry Pi Details:
Type: Model 2, Revision: 1.1, Memory: 1024MB, Maker: Sony [OV]
Device tree is enabled.
This Raspberry Pi supports user-level GPIO access.
-> See the man-page for more details

Read pins

±----±----±--------±-----±–±--Pi 2—±–±-----±--------±----±----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
±----±----±--------±-----±–±—+±—±–±-----±--------±----±----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | ALT0 | 1 | 3 || 4 | | | 5V | | |
| 3 | 9 | SCL.1 | ALT0 | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | IN | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | OUT | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 0 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 0 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | ALT0 | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | ALT0 | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | ALT0 | 0 | 23 || 24 | 1 | OUT | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | OUT | CE1 | 11 | 7 |
| 0 | 30 | SDA.0 | IN | 1 | 27 || 28 | 1 | IN | SCL.0 | 31 | 1 |
| 5 | 21 | GPIO.21 | IN | 1 | 29 || 30 | | | 0v | | |
| 6 | 22 | GPIO.22 | IN | 1 | 31 || 32 | 0 | IN | GPIO.26 | 26 | 12 |
| 13 | 23 | GPIO.23 | IN | 0 | 33 || 34 | | | 0v | | |
| 19 | 24 | GPIO.24 | IN | 0 | 35 || 36 | 0 | IN | GPIO.27 | 27 | 16 |
| 26 | 25 | GPIO.25 | IN | 0 | 37 || 38 | 0 | IN | GPIO.28 | 28 | 20 |
| | | 0v | | | 39 || 40 | 0 | IN | GPIO.29 | 29 | 21 |
±----±----±--------±-----±–±—+±—±–±-----±--------±----±----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
±----±----±--------±-----±–±--Pi 2—±–±-----±--------±----±----+

Check I2C

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

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

Check the /dev folder

i2c-1
spidev0.0
spidev0.1
ttyAMA0

============
=USER STATS=

BrickPi Found
Arduberry Found
grovePi Found
GoPiGo Not Found

BrickPiStatus

-2
BrickPi Not Found (ERR)

I got my brickpi at banggood.com and I noticed that the soldering on the platine looked quite poor, but i´m not sure if thats the reason.
best regards from vienna
rob

Hey Rob, it looks like you have bought a counterfeit BrickPi. I would go back to the manufacturer and ask them about it, Bangood is not a distributor of Dexter Industries. If they’re honorable, they’ll at least give you your money back.

Few tip-offs:
1). This is an older PCB layout of the BrickPi. We stopped selling this PCB layout over 9 months ago.
2). We don’t use inductors like that.
3). It looks like a few other components have been placed improperly.

I would disconnect it before it catches fire.

Hello John,

Happy New Year!

I purchased my BrickPi Advanced directly from Dexter Industries (order 4551) and I am sorry to report that it is not working - it is behaving exactly as described in paulwarwicker’s post.

I am using 2015.11.09_Dexter_Industries_wheezy.img image file, applying power from micro USB and a 6-pack of AA batteries, and using LEGO NXT motors and sensors. My sensors are not reading and my motors are not spinning. I tried LED.py and LED_PWM.py and both are working correctly. No diodes are lit on the BrickPi board when the power is applied. Raspberry PI (Model B+) is working fine, this post is done from it.

Following Paul’s progress, I ran the same experiments with the same results – see below for terminal tracebacks.

I am in the US - ZIP code 12065. Is there anything else I can try to do myself to rectify the problems I am having? Please advise. Regards,

Jovan

** get_voltage.py **
pi@dex ~/Desktop/BrickPi_Python/Sensor_Examples $ sudo python get_voltage.py
0.0

** BrickPi_Hardware_Test.py **
pi@dex ~/Desktop/BrickPi_Python/Sensor_Examples $ sudo python BrickPi_Hardware_Test.py
^CTraceback (most recent call last):
File “BrickPi_Hardware_Test.py”, line 49, in <module>
result = BrickPiUpdateValues() # Ask BrickPi to update values for sensors/motors
File “/home/pi/Desktop/BrickPi_Python/Sensor_Examples/BrickPi.py”, line 510, in BrickPiUpdateValues
result, BytesReceived, InArray = BrickPiRx(0.007500) #check timeout
File “/home/pi/Desktop/BrickPi_Python/Sensor_Examples/BrickPi.py”, line 643, in BrickPiRx
while( ser.inWaiting() <= 0):
File “/usr/lib/python2.7/dist-packages/serial/serialposix.py”, line 431, in inWaiting
s = fcntl.ioctl(self.fd, TIOCINQ, TIOCM_zero_str)
KeyboardInterrupt

Hi John,
Thanks for your prompt answer. Looks like what I bought is a reengeneered “me-too” product. No wonder it does nothing. But in the blogs above the people have the original parts and have the same result.
Do I have to connect both, the batteries on the brick and the supply on the PI. I suppose the ext. batts do also the supply for the pi. But would the supply (2Amps) be efficient enough to drive the brick (for a short testrun)?.
thx
rob

Well… some good news.

After having seen this http://www.dexterindustries.com/howto/enable-or-disable-brickpi-communications/ and the discussion on GitHub about disabling the IR receiver, it seemed logical that this may be related to my issue.

Given that a new image appeared very quickly (thanks for that) I gave it a whirl and… tada! the motor now works. Running the hardware test doesn’t wait for the touch sensor to be pressed, but it does run the motor. Running the script LEGO-Motor_Test.py runs the motor in both directions and the LEGO-Touch_Sensor_Test.py script works as expected.

The BrickPi+_Read_Battery_voltage.py script still returns False.

So the problem does not appear to be the board but the default state initialised from the SD image.

Maybe others will also have success. Finger crossed for robertk also :slight_smile:

btw I never did hear from Amber.

-paul

Thanks Paul for that note. I think I forgot to mention that as a troubleshooting step.

Yes, last night I uploaded a new image making this setting default. Totally an error on our part, didn’t realize it would cause this much confusion. Robertk, I would recommend either following the link above or downloading and burning the new image: http://www.dexterindustries.com/howto

Does that improve anything?

Hey, thank you! A spark of hope on the horizon. I will try tomorrow evening when I´m home. In case of fault I will accept the bought counterfeit brickPi as sunk costs and will buy a new one out of the dexter shop. Therefore I checked out shipping to Vienna would cost me around USD 50. Would it be possible to reduce the shipping?
I will report tomorrow if the update will also do on my brickpi. regards rob vienna