BeagleBone Blue released, Linux-enabled autopilot for 80$

Not only can I i2cdetect the compass but it is detected by ardupilot on startup. Here is what I get on startup:

HMC5843 found on bus 0x71E09

This is probably more an ardupilot question but would you know how I can check which compass is being used ?
Re voltage monitoring, is the patch published in the repository, if not can you share it. I am happy to test and write some documentation if that can help.

1 Like

I have a few questions related to the BeagleBone Blue,

Background: I want to implement my own flight control scheme on this platform and for the same I wish to write the whole controller from scratch. I however do not wish to write the HAL again myself as I am not at all equipped to do so. So my questions are as follows:

  1. How can I use just the ArduPilot Libraries to write my own code for my aircraft? I mean something along the lines of creating a runAircraft.cpp file as:

    #include “AP_Common/AP_Common.h”
    //-------------------more includes------------------//

    /--------------run some functions from AP libraries-----------------/

  2. I tried this and compiling with gcc locally on BBBlue but it throws a “file not found error”. What am I doing wrong here?

  3. I was told a RTOS is essential for a Flight Controller, is there any tutorial on how to install, implement and use an RTOS on the blue?

  4. While implementing my own Flight Control Scheme in the manner mentioned before, will I need to use RTOS?

Any help is greatly appreciated as this is stalling my project in a major way!

This is off topic: so short answer only.
You’re probably using an ArduPilot build file and it’s looking for things you’ve removed.

Where would be the appropriate place to ask this?

Start a new thread.
Perhaps under Development.

Apologies for being off topic, I have started it here, if you could help me:

@emmanuel Cool
Please join us on the BBB Channel, so we can discuss about test and updating the documentation

Is it safe to power the BBBlue directly by a 3S lipo through the DC Jack??

As showned in the specs:

Battery: 2-cell LiPo support with balancing, 9-18V charger input

So 3S is within the specs but the best is having a 2S connected in the battery connector so you can use Jack for recharging and being enable power on the servo bus from the battery (that is the only way).

I’ve managed to calibrate radio with Mission Planner. Also “arming” seems to work so that I can see text “Armed” in flight data main window.

But I think I’ve problems to calibrate esc’s (yellow XXD which I’ve checked that they work ok with my old APM):

First I did
sudo systemctl disable ArduCopter.service
sudo systemctl stop ArduCopter.service
and after that reboot

I’ve been trying to calibrate with script from here:

  • Connected esc 1 wires to servo connector 1 in Beaglebone Blue
  • then followed instructions from script
  • esc gave beeps and tone like with old APM 2.8 so I believed it went ok
  • then removed esc, and changed esc 2 to servo connector 1 and so on for all others, changed esc 3 to connector 1 …

After that
sudo systemctl enable ArduCopter.service
sudo systemctl start ArduCopter.service
and reboot

Then connected with, port 5760, board gives correct altitude and level seems to be ok. When I move and change position of quadcopter with my hands I can see it in Mission Planner.

Then I use remote control to arm it like I’ve done with apm2.8. Text “armed” appear to screen. Esc’s beep like those which are not calibrated properly.

The calibration process is not really easy to work with linux based system, I generally calibrate them ‘‘old school’’ with a a receiver.
The rc calibration tool on this github (angelsantamaria) comes from the robotic cape utilities that are aimed at rc servos.

Thank you very much, now motors spin ok.

I’m planning to build a drone which can be activated remotely from internet (I already has a rover which has very basic design) and which could do a very simple automatic mission to send pictures from open area 300 x 300m, altitude max 100m. and land back approximately 3x3m agrage (sliding door will open remotely too).

Switching drone “off” after mission … I’ve no idea how to do that properly. With rover I just move it manually under “infrared transmitter” which switches it off when I send key & message from Telegram Bot (I think it’s safer, not so much need to play with firewalls and so on).

Anyway for me it’s enough if drone can come back to inside “garage”.

Anyone used Panasonic 18650 cells with Beaglebone? Keeping lipo-batteries 90-100% full whole time when drone is switched off will degrade batteries I guess. Maybe 18650 or some other battery type is better?

Please note that drone must be flying in accordance of laws. For example, here in Canada, the vehicle must be flown with an operator having a visual contact and a mean to take control = Radio Control.

For Precision landing you can use a visual trcking device like IR Lock

Uh, it seems that similar laws here. I need to check choices, maybe continue to develop more rover or so on. Anyway this is interesting device with Linux…

Can the Blue run Ardutracker?

I’m not sure about the Blue, but I’ve compiled tracker for BBBMini before.
Do you have a build environment set up (either native on the BB, or cross compile)?

I don’t have any BBs yet…

As far as build environments? yikes, a old laptop running Ubuntu 16.04. Haven’t really “built” anything, but I am good at directions :slight_smile:

Here’s tracker for bbblue and bbbmini:

I build from master, so this is basically untested (but tracker doesn’t move as fast as the other targets, so should be fine).

Did you just build these? Thanks!
I really need to learn how to do this. Now I have to order that Blue :slight_smile:

Thanks Again

No worries. Mirko and Patrick have done all the work - I just typed a few lines in the console.
The build instructions are pretty good in Mirko’s wiki, and the ardupilot site.