BeagleBone Blue released, Linux-enabled autopilot for 80$

Thx Mirko. Did you see my 5 point list of questions!

Excellent, thanks Mirko I will give this a try, plenty of Arduinoā€™s here.
Does this receiver connection mean that I cannot use wheel encoders on the rover when running ArduPilot??

@Marc_Dornan Hi Marc,

Can I use an i2C hub and connect a digital airspeed sensor as well as compass?
I2C hub: yes
digital airspeed sensor: yes but I did not try that yet
compass: there is no probe for an external compass yet, I could change that

Any pointers on Current and Voltage monitoring with 3DR-style power modules (assume ADC port is used)
Not enabled yet

How does Telem 1 and Telem 2 map to the serial ports? I can probably figure it out but I assume you know!

Can I use Bluetooth and Wifi for Mission Planner connectivity? How?
Yes sure, I use 3G to connect the Blue to my GCS, this is one of the advantages of a Linux Autopilot
Check https://github.com/mirkix/BBBMINI/blob/master/doc/software/software.md#run-ardupilot

Can we use the OLED display now supported in Ardupilot via an i2c hub?
I developed the initial version of the display support in ArduPilot (first used by BBBmini). Just did a PR to enable it for the Blue: https://github.com/ArduPilot/ardupilot/pull/6186

Regards
Mirko

1 Like

@Paddy No that is not possible, but I think ArduPilot does not support wheel encoders now.

Thx Mirko.

I assume Voltage and Current monitoring will be coming at some point.

Thanks Mirko. I plan to run other software on the Rover such as ROS. I guess I just need to figure out how the different software will interface with the hardware but for now happy to just get ArduPilot running and some simple Python programs. I tested voltages on a few receivers and they were all around 3.47-3.5V Do you know if this is within acceptable tolerance for the Beaglebone Blue?

Iā€™m just starting out so this might be a stupid question, but considering how great this all looks, why would anyone still choose a Pixhawk over this?

At the hobby level, I agree. This should soon have all the same functionality and it will do FPV camera functions as well. There is still a case that a Pix 1 or Pix Cube are a more bullet proof controllers for professional applications. The Cube has redundant IMUs and the Pix 1 has a pass-through feature if the main processor fails (never heard of that happening though).

Looking at this now, with its fantastic IO and capability, all it needs is some wiki love and ideally a packaged set with cables and peripherals all ready to plug in. I am pretty happy to have one as my first Linux Ardupilot board and I love the onboard WiFi and bluetooth, seeming usable inboard compass (as long as your board is far enough away from power cables.

We just need to get a few more things working on it (voltage and current monitoring should be easy).

@Paddy Yes, that should work.

@juvinski thank you! will try

Thanks for your help Mirko, I have this working now.

Hi,
I have another question.
When I start ardupilot from the command line with: /usr/bin/ardupilot/blue-ardurover -C /dev/ttyUSB0 -A udp:192.168.1.100:14550 > /home/debian/arducopter.log

I can connect over telemetry or wifi. However when I have the same command in my /etc/rc.local : /usr/bin/ardupilot/blue-ardurover -C /dev/ttyUSB0 -A udp:192.168.1.100:14550 > /home/debian/arducopter.log &

I can only connect over wifi, the radio link will no longer connect.

What am I doing wrong here?

Cheers,

Paddy

Hi everyone,

I have started to work with the BBBlue as well since a while in the context of my Master Thesis and I have got issues connecting to my GS Mission Planner. I could get a connection for quiet a while using:

sudo /usr/bin/ardupilot/blue-arducopter -A tcp:192.168.1.11:1243:wait

But unfortunatly this doesnt work anymore and I get an error message like this:

MPU: temp reset 9421 0
bind failed on 192.168.1.11 port 1243 - Cannot assign requested address

When I try to connect with udp like this:

sudo /usr/bin/ardupilot/blue-arducopter -A udp:192.168.1.11:14550

It seems to work but in the end the GS just says getting params and doesnt work in the end.

Furthermore I dont get the difference between the -A; -B; -C and the :wait at the end of the command.

any help would be really apreciated!!

Thanks in advance

Cheers Valle

Hi Paddy,

I found unreliable startup of arducopter with the mentioned sequence placed in /etc/rc.local.
it seems that startup via /etc/rc.local is coming to an end and replaced by systemd tasks.
After some study I deleted the startup sequence in /etc/rc.local and replaced it by a new file:

sudo nano /lib/systemd/system/ArduCopter.service

[Unit]
Description=ArduCopter Service
After=bb-wl18xx-wlan0.service

[Service]
ExecStartPre=/bin/echo uart > /sys/devices/platform/ocp/ocp:P9_21_pinmux/state
ExecStartPre=/bin/echo uart > /sys/devices/platform/ocp/ocp:P9_22_pinmux/state
ExecStart=/usr/bin/ardupilot/blue-arducopter -A udp:192.168.0.27:14550 -B /dev/ttyS2
StandardOutput=null

[Install]
WantedBy=multi-user.target
Alias=Arducopter.service

(see examples of .service files in /lib/systemd/system )

cd /lib/systemd/system

enable the new service with:
sudo systemctl enable ArduCopter.service

and start the service with:
sudo systemctl start ArduCopter.service

reboot BB Blue

ArduCopter is now saved as startup service every time the system boots.

Have fun,
Jo

Hello Mirko,

I just received my BB Blue. Software is working, Wifi and UDP communication with Mission Planner is fine.

Can you confirm sBus Futaba working out of the box with this wiring or do I need to use signal inverter?

Thanks for your work.

Marc

Hi Marc,

make sure the S-Bus signal is a 3.3V signal and it should work.

Regards
Mirko

i got the solution from https://github.com/mirkix/BBBMINI/blob/master/doc/software/software.md
the correct connection for me is
"sudo /usr/bin/ardupilot/blue-arducopter -C udp:192.168.1.6:14550"

the qgroundcontrol is at the ip 192.168.1.6, and the wifi of beaglebone is 192.168.1.9.

The qgroundcontrol detects the connections automatically.

I will try the other connection methods.

thx mirkixā€™s github page.


thx for your work.

I donā€™t understand how to connect the bbb with the ground control station.(i choose the qgroundcontrol)
there are no instructions on the github page.

after running the ā€œsudo /usr/bin/ardupilot/blue-arducopterā€, i can see the red led flashing(is that means the ardupilot is running ok ?)
then i open the qgroundcontrol, but the connection is failed/

debian@beaglebone:~$ sudo /usr/bin/ardupilot/blue-arducopter --help
Usage: -A uartAPath -B uartBPath -C uartCPath -D uartDPath -E uartEPath -F uartFPath
Options:
serial:
-A /dev/ttyO4
-B /dev/ttyS1
networking tcp:
-C tcp:192.168.2.15:1243:wait
-A tcp:11.0.0.2:5678
-A udp:11.0.0.2:14550
networking UDP:
-A udp:11.0.0.255:14550:bcast
-A udpin:0.0.0.0:14550
custom log path:
ā€“log-directory /var/APM/logs
-l /var/APM/logs
custom terrain path:
ā€“terrain-directory /var/APM/terrain
-t /var/APM/terrain
module support:
ā€“module-directory /usr/lib/ardupilot/modules
-M /usr/lib/ardupilot/modules

can anyone help with this?
thank you a lot.

Hi,
Mirko, thanks for great work You did with porting AP on BBBL. Thanks to this board and ardurover, I was able to take my old project (BBB + APM+different escs and servo drivers) and refresh it. What I was able to do so far (thereā€™re some questions at the end, as well):

  1. Recompile ardupilot rover for i2c display and maxbotix serial support - works perfect, thanks.
  2. Install u-blox gps on GPS port and second gps on serial (just to try it) - autodetect, works, thanks
  3. use ch1 and ch3 for skid steering (with pololu DMC-01)
  4. use PPM encoder
  5. use mavlink serial and udp - both mavlink proxy and APM Planner 2.x.x

So far I noticed some problems I can not resolve:

  1. External compass. I can see it on i2c bus, but it is probably not working. I will try to get through code and check it out, or maybe thereā€™s easier way ?
  2. Analog - itā€™s 1.8V max ? I was not sure, so I converted my rangefinders to serial. Is simple voltage divider a solution here ? What about resolution ?
  3. RC channels mapping. Is it possible to map pwm outputs on APM level to control servos ? Like camera gimbal or - in this case - robot arm ?
  4. Board orientation - this is probably stupid question, but what is suggested on-board compass orientation ?
  5. I am working on https://github.com/mirkix/ardupilot repository, is it right ?

Once again thanks Mirko and guys, looking forward to seeing awesome projects, this board is worth it.

Best Regards,

Piotr

@burzum Hi Piotr.

Not implemented yet.[quote=ā€œburzum, post:58, topic:15772ā€]
RC channels mapping. Is it possible to map pwm outputs on APM level to control servos ? Like camera gimbal or - in this case - robot arm ?
[/quote]

That should work.[quote=ā€œburzum, post:58, topic:15772ā€]
Board orientation - this is probably stupid question, but what is suggested on-board compass orientation ?
[/quote]

North should be at the USB port.

I recommend to use GitHub - ArduPilot/ardupilot: ArduPlane, ArduCopter, ArduRover, ArduSub source

Regards
Mirko

Mirko,
I wasnā€™t aware, that BBBL is now part of master Ardupilot branch. Thanks for Your answers.
I have to check servos output again, I was not able to directly map RC4-8 to servo connectors.
If I could somehow help developing AP for BBBL with my very limited knowledge of C++, let me know.

best regards,

Piotr