bheli32 under linux

bheli works great with the chrome app under linux,

so i buyed some bheli32, everything goes now to 32bit, why not, chips with 32bit does not cost really more nowadays.

Okay lets got the download site and get the latest suite…

oh wait, shit bheli32 is not open source anymore and it comes worse, only a windows tool for configuration -> holy shit

But not with us, lets install wine if you dont have it already (i used a old ubuntu version 16.04lts for it, but it should also work similar for other distros)

sudo apt-get install wine

verify we are allowed to access serial and are in the group dialout

groups

xeniter adm dialout cdrom sudo dip plugdev lpadmin sambashare libvirtd

okay if not add the current user to dialout:

sudo adduser <your_username> dialout

then connect your quadcopter with betaflight >= 3.2 to your pc and see what serial it get mapped, enter dmesg to see latest kernel messages from the system

dmesg

[ 1323.376331] usb 2-1.4.2: new full-speed USB device number 9 using ehci-pci
[ 1323.470627] usb 2-1.4.2: New USB device found, idVendor=0483, idProduct=5740
[ 1323.470633] usb 2-1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1323.470637] usb 2-1.4.2: Product: DysF4Pro
[ 1323.470640] usb 2-1.4.2: Manufacturer: Betaflight
[ 1323.470643] usb 2-1.4.2: SerialNumber: 0x8000000
[ 1323.471149] cdc_acm 2-1.4.2:1.0: ttyACM1: USB ACM device

in this case we got “/dev/ACM1” lets map this to the virtual windows COM port1:

ln -s /dev/ttyACM1 ~/.wine/dosdevices/com1

Finally start with wine the windows executeable:

xeniter@ubuntu-werkstatt:~/Downloads/BLHeliSuite32_32500$ wine BLHeliSuite32.exe

After the gui opens click on connect and have fun setup your esc under linux (:

 

 

 

 

 

 

 

Repairing Omnibus F4 Pro without schematics

During last flight session a friend “landed” in the field, after next power cycle the camera video signal was only a black box. As first test we shortcircuit the VideoIN (from the camera) and the VideoOut(to the vtx) and we got a camera signal. Looks like the OSD got somehow broken.

So lets start repairing and look for the download of the F4 pro schematic. And then you realize: Shit! There is no schematic like for the good old cc3d.

Omnibus F4 Setups problems (because of having no information/ schematic)

That remembers me on a setup problem of a friend. He setuped the omnibus serials like this:

uart6- bidir fport (fport is special communiation protocol for frsky receivers created by collaboration between betaflight & frsky)
uart1 -gps modul
uart3 – tramp irc

Everything was setuped properly and worked except the frsky receiver.
Luckily we found this post in the inav project.

The problem here was that uart1 has inverters on uart1 tx/rx (Be aware on old omnibus versions this could be uart1). If you would have a schematic you could easily find that out [If you have it please mail it to me (: ]

But why causes the inverters troubles? Because fport requires bidirectional communication and the inverter works only one way. You can only disable inverter which is required if you use fport on a f4 flight controller (only stm32f3 flight controller can invert in hardware)

There are at least site with good pinout description:

https://www.unmannedtechshop.co.uk/omnibus-f4-pro-flight-controller-v3/

You have to look carefully, normally you find the pin-out for the normal omnibus F4 or a older revision.

Back to main topic:  OSD is not working anymore

First we took a closer look to the OSD ic, its a MAX7456.

Lets get the datasheet and the pinout:

Okay lets measure the power supply of it on pin 3: –> only 2.2V we found the problem. But what is the cause of that? Without schematics we are lost.

However we got luck! Someone had already similar problems and started with reversing and analyzing the Omnibus F4 board!

http://davidhkblog1.blogspot.com/2017/06/fixing-omnibus-f4-pro-over-heat-and.html

The problem is that the LDO U6 providing the 3.3V got somehow shorted. Lets measure again the voltage at the output of the LDO, still 2.2V

Lets took a look in the electronic box. Yeah – found a LDO MCP1824T-3302 LDO, lets check if pinout is ok:

Strike! i got the SOT-23-5 package and the pinout fits, so soldering old out new in and voilà we have a working OSD again!!

Thanks to the community for reversing and helping us, specially to davidhk blog! And to all sellers and producers of the great omnibus flight controllers: SHAME ON YOU! for holding us useful informations like the schematics back.

 

 

flashing achilles on achine PRO58 under linux

i buyed recently (from banggood) = the pro58 receiver with at stm32f1 from eachine (my old rx508 receiver didn’t work well anymore)

Because i had already the alternative firmware achilles on it, i would like to have it on the new one too. The cool thing about the eachine except the cheap price is the stm32f1 processor.

To flash it you need an stm32 programmer which can buy also from banggood for some dollars.

how to wire st link programmer and flash it under windows is already perfect described under: https://achillesfpv.eu/2017/10/30/howtoeachine/

to flash under linux you need st-link:

git clone https://github.com/texane/stlink
cd stlink
make

lets test if you have a connection

 xeniter@ubuntu-werkstatt:~/stlink$ ./build/Release/st-info --probe
 Found 1 stlink programmers
 serial: 30306d063058303030570443
 openocd: "\x30\x30\x6d\x06\x30\x58\x30\x30\x30\x57\x04\x43"
 flash: 65536 (pagesize: 1024)
 sram: 20480
 chipid: 0x0410
 descr: F1 Medium-density device

backup orginal firmware to be on the safe side (i read only 64k but should be enough, chip is 128k but the additional space is empty):

 ./build/Release/st-flash read emachine_orginal_fw.bin  0x8000000 65536

c28b6f516fcf03585972c929d77fa1e4  emachine_orginal_fw.bin
 xeniter@ubuntu-werkstatt:~/stlink$

flash new firmware
you have to set flash size to 128k, otherwise it won’t let you flash because it believes you have a 64k version

 ./build/Release/st-flash --flash=128k --reset --format ihex write ~/Downloads/Achilleas_V_1_8_EACHINE_1232.hex

go back to old fw
here is my backup in case you need it: emachine_orginal_fw

 xeniter@ubuntu-werkstatt:~/stlink$ ./build/Release/st-flash write ./emachine_orginal_fw.bin 0x8000000
 st-flash 1.4.0-39-g6db0fc2
 2018-06-08T00:37:25 INFO common.c: Loading device parameters....
 2018-06-08T00:37:25 INFO common.c: Device connected is: F1 Medium-density device, id 0x20036410
 2018-06-08T00:37:25 INFO common.c: SRAM size: 0x5000 bytes (20 KiB), Flash: 0x10000 bytes (64 KiB) in pages of 1024 bytes
 2018-06-08T00:37:25 INFO common.c: Ignoring 10232 bytes of 0xff at end of file
 2018-06-08T00:37:25 INFO common.c: Attempting to write 55304 (0xd808) bytes to stm32 address: 134217728 (0x8000000)
 Flash page at addr: 0x0800d800 erased
 2018-06-08T00:37:27 INFO common.c: Finished erasing 55 pages of 1024 (0x400) bytes
 2018-06-08T00:37:27 INFO common.c: Starting Flash write for VL/F0/F3/F1_XL core id
 2018-06-08T00:37:27 INFO flash_loader.c: Successfully loaded flash loader in sram
 55/55 pages written
 2018-06-08T00:37:30 INFO common.c: Starting verification of write complete
 2018-06-08T00:37:31 INFO common.c: Flash written and verified! jolly good!
 xeniter@ubuntu-werkstatt:~/stlink$

After you flashed it you get the licence key, enter it on the achilles website and buy it

now you have to wait your serial get activated like i do also now…

stay tuned…

Visiting Drone Hangar in Linz

We visited today the drone hangar hall in linz from the FPV RACING CLUB OÖ. The location was very unclear, they didn’t post it on their side, but after some google research we found out the drone hangar location is at “Holzstrasse 3, 4020 Linz

After some troubles in the beginning with signal interfernence (only 4 racers with 25mW on different channels were allowed) we managed to learn the route and started racing (:

Of course our plan is to visit the hangar again to beat the best lap time (=

 

Flashing your 24A racing kiss with dshot firmware (without kiss flight controller under linux)

First, make sure you have already version 1.02 on your kiss, otherwise look previous post how to flash it.

More details to dshot you can get here. Download the ESC Flash Loader and the newest Dshot 1.08 Fimware from there.

Unzip both files, import flash loader extension into chrome/chromium and start it:

Before you can flash it, you have to power the kiss and connect it to the PC via a Usb Serial, where the tx output is connected to the PWM input pin of the KISS.

If your KISS is powered and correctly connected click on okay to continue (be aware the flash loader writes data to serial nevertheless the kiss is connected and powered or not)

Choose the right serial, check USB-UART option, and choose the Firmware which you downloaded and unpack before, then click write flash.

 

 

 

 

 

Make sure that the Serial Tx led and the KISS LED is blinking in tact, after some minutes it should be done:

 

Now you can connect your 24A racing kiss esc to your betaflight controller back, select dshot and try if motor spins.

Congratz, thanks to dshot you must never calibrate you esc again (;

Flashing your 24A racing kiss firmware to 1.02

Only with 1.02 the 24A racing kiss have a bootloader, so you have to upgrade it first.

They have a nice tutorial under http://kiss.flyduino.net/dwkb/how-to-flash-the-24a-race-edition-esc/ but works only under windows )=

The steps are similar instead of putty you can use cutecom:

if you use debian/ubuntu install it with:

sudo apt-get install cutecom

It should look like that:

After that download the 1.02 Firmware from http://ultraesc.de/hexGen/index.php with the serial number you read out from cutecom.

Because you need a binary file for flashing you have to convert it:

arm-none-eabi-objcopy -I ihex –output-target=binary KISS24A_1.02.hex KISS24A_1.02.bin

arm-none-eabi-objcopy comes with the arm toolchain you can install it with:

sudo apt-get install gcc-arm-none-eabi

After that you can flash your kiss 24A racing esc, be sure that the BT( bootloader solder jumper) is soldered than first unlock and flash it via stm32flash(Installation of stm32flash under linux is described here: https://wizneteu.wordpress.com/2015/03/19/flashing-stm32-via-serial-line-on-linux-stm32flash/comment-page-1/) :

stm32flash -k /dev/ttyUSB0
stm32flash -w KISS24A_1.02.bin /dev/ttyUSB0

desolder the BT jumper and restart the ESC, if it blinks shortly it looks good, be aware if you read with cutecom you get again the version 1.01 (Because 1.02 is the same version as 1.01 only with bootloader)

Have fun flashing, if anything is unclear feel free to post and ask

 

 

Betaflight / Cleanflight -> Failed to open serial port

Are you already pissed of the message “Failed to open serial port” if you use cleanflight / betaflight under linux (debian, ubuntu)?

The solution is simple, just remove the modem manager (only if you really don’t need it, it looks like its blocking the serial port)

sudo apt-get –purge remove modemmanager

happy connecting!