Old Firmware ? please help

Hi,
Just received my BrickPi, ordered of amazon for fast shipping (https://www.amazon.com/gp/product/B01MUYJC5V)

But attempting to run the demo software I get the following error:

brickpi3.FirmwareVersionError: BrickPi3 firmware needs to be version 1.4.x but is currently version 1.0.1

I found the page for firmware updates, but it states that the item ships with the newest firmware, and that you need additional cables up update the unit.

Please help, I need to get up and running this weekend for a project.

Thanks!
Rasmus

Hi Rasmus,

The BrickPi+ comes with the latest FW, but does require cables to update the firmware.

The BrickPi3 however does not ship with the latest firmware, because the firmware is still being improved (new features being added). The BrickPi3 FW is very easy to update, as you don’t need any extra hardware. With the BrickPi3 connected to the Raspberry Pi, you can either go to the desktop and run “DI Software Update”, make sure “BrickPi3” is selected in the drop-down and click “Update Robot”, or you can run this command (see here for details):

sudo bash /home/pi/Dexter/BrickPi3/Firmware/brickpi3samd_flash_firmware.sh

Matt

Thanks for the quick reply.
I tried that already, but am getting the following error:
Error: “Could not initialize the debug port”

In the “DI Software Update” did you run the “Update Dexter Software”? This would ensure you have the latest version of everything. Once you ensure you have the latest version, try rebooting:

sudo reboot

and then once you boot back up, try running the command:

sudo bash /home/pi/Dexter/BrickPi3/Firmware/brickpi3samd_flash_firmware.sh

I did do an update first. I am currently installing your SD image, to see if it makes any difference. Here is the full result:

pi@raspberrypi:~ $ sudo bash /home/pi/Dexter/BrickPi3/Firmware/brickpi3samd_flash_firmware.sh
Updating the BrickPi3 SAMD Firmware with ‘/home/pi/Dexter/BrickPi3/Firmware/brickpi3_firmware.bin’.
Open On-Chip Debugger 0.10.0-dev (2016-12-16-18:07)
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
BCM2835 GPIO nums: swclk = 25, swdio = 24
BCM2835 GPIO config: srst = 18
srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst
srst_only separate srst_gates_jtag srst_push_pull connect_deassert_srst
adapter speed: 400 kHz
cortex_m reset_config sysresetreq
adapter speed: 50 kHz
adapter_nsrst_delay: 100
adapter_nsrst_assert_width: 100
Info : BCM2835 GPIO JTAG/SWD bitbang driver
Info : SWD only mode enabled (specify tck, tms, tdi and tdo gpios to add JTAG mode)
Info : clock speed 50 kHz
Info : SWD DPIDR 0x0013fb10
Error: Could not initialize the debug port
TargetName Type Endian TapName State


0* at91samd21j18.cpu cortex_m little at91samd21j18.cpu unknown
Error: Could not initialize the debug port
Error: Target not examined, will not halt after reset!
Error: Could not initialize the debug port
Error: Target not examined yet
Error: Target not examined yet
embedded:startup.tcl:21: Error:
in procedure 'reset’
in procedure 'ocd_bouncer’
in procedure 'ocd_process_reset’
in procedure ‘ocd_process_reset_inner’ called at file “embedded:startup.tcl”, line 248
in procedure ‘at91samd21j18.cpu’ called at file “embedded:startup.tcl”, line 331
in procedure 'ocd_bouncer’
in procedure ‘at91samd21j18.cpu’ called at file “embedded:startup.tcl”, line 297
in procedure 'ocd_bouncer’
at file “embedded:startup.tcl”, line 21

TARGET: at91samd21j18.cpu - Not halted
in procedure 'reset’
in procedure ‘ocd_bouncer’

pi@raspberrypi:~ $ Error: Could not initialize the debug port

Same problem, any idea? Please help…

Got a bit furher.
Bought a RBP 2, after reading that the jtag driver apparently only works for 2 and 3… Now at least the firmware was updated.

New problem, I try to run the python EV3 gyro, color sensor, or ultrasound and I get the following error
"get_sonsor error: Invalid sensor data"
The sensor is connected to port 1, and I have tried mulriple cabels, and multiple sensors.

I have tested that the motor position program functions fine with the ev3 motors.

I have tried running on the Scratch, but no sensor reading there either.

Anyone have any ideas??

Hardware v: 3.2.1
Firmware 1.4.3

After another full day of troubleshooting, I am no closer. Any help would be greatly appreciated!

This is really important information and should be on your web pages somewhere rather than here in the forum. I was just about to spend $$ on a hardware update device and now find I don’t need it. Many people getting into this would be put off by the fact that the device does not at least ship with a version of the firmware that your software examples require. It becomes too hard straight away.

Indeed it is far from plug and play. The small community, and limited support combined with the amount of problems you can encounter on RBpi really dont match up well with academic problems with limited time.
My unit shipped with a dead sensorport, that should have been caught in testing for the money it cost.
Most frustrating was that DI states compatibility with RBpi 1. The BPi only works after a software update. This is done using a 3.rd party program, that “bitbangs” or simulates the Jtag protocol, allowing the RBpi to flash the Bpi. Great, except the auther of this program state on his own website that it does not work for RBpi 1.
All in all I could not reccomemd BrickPi, unless no other option is available. Look at leJOS or other hacked firmwares, and check if there is any way you could make due with that.

If you’re using our operating system Raspbian for Robots, installing and updating the software and firmware for the BrickPi3 is as simple as running the DI Update. If you’re going to use Raspbian or some other OS, you can follow the instructions for installation and firmware update.

You could check to confirm that the BrickPi3 is properly seated on the RPi GPIO header.

Just to back up a bit, please go here to determine which version of BrickPi you have. Please also confirm that you are using Dexter Industries Raspbian for Robots, and that you have updated the software and firmware using DI Update.