Getting Started AS5047p firmware

Hi All,

Im trying to start with my set:
Odrive D6374-150kV motor and 56V Odrive 3.6 board + AS5047p encoder.
(encoder should be absolute - to avoid initial starting sequence).

So, I connected all parts together.
Using Raspberry Pi i can talk to my Odrive board.
I updated firmware to the latest one.

As far as I know I have to switch to devel firmware to be able to use AS5047p encoder (SPI).
And here I have a problem with MAKEing a new firmware.

My first question is:
Is there somewhere a .hex file (devel branch) to upload directly to my Odrive board (I want to avoid compiling files).
(i tried to follow all steps “Firmware Developer Guids” on my raspberry pi but I gave up).
sudo add-apt-repository ppa:team-gcc-arm-embedded/ppa
sudo apt-get update
sudo apt-get install gcc-arm-embedded
sudo apt-get install openocd
sudo add-apt-repository ppa:jonathonf/tup && sudo apt-get update && sudo apt-get install tup
for the first line I keep getting: “could not find a distribution template for Raspbian/buster”

Thank you guys for your help and patience :wink:


There is no way to install the development branch without compiling files.

I thought that using this command:
odrivetool dfu path/to/firmware/file.hex
I will be able to upload some ready-to-upload Hex files.

So, to get a hex file I have to compile all by myself?

Yes, to use the development branch, you need to compile the hex file first. But it’s not hard.

Once you’ve got everything set up, it’s just a case of running tup

There are no “ready to flash” HEX files, except for the official release of the main branch. Not the development branches.

ok. thx.
I’ll try again.

you can find a solution here:
[Encode 5047p connection]

the following commands work on raspberry pi:

sudo apt install git tup gcc-arm-none-eabi build-essential
git clone                   #change to branch you need
cd ODrive/Firmware
cp tup.config.default tup.config
nano tup.config # you need to edit this file to put in your board type and version
cd ..
tools/odrivetool dfu Firmware/build/ODriveFirmware.hex   # to flash the firmware that you just `
1 Like

use this command
git checkout rc-v0.5.1
to switch to the branch you need
(thanks to @towen)

on raspberry pi:
if you get any error like “no module named yaml” try
pip3 install PyYAML
“no module named jsonschema” => pip3 install jsonschema
(thanks to @Wetmelon )