HOW-TO BlueSpot for DVMega on a Raspberry Pi

NOTE: The following is based on a single band RPi shield – it should work with the dual band RPi shield too.  For the Arduino UNO based DVMega, substitute /dev/ttyAMA0 with /dev/ttyACM0.  Also note you should not need to remove getty processes and bootup info from /dev/TTYACM0 as it doesn’t go to them.

FURTHER NOTE: There are slight differences in the processes to remove getty processes between Raspbian Wheezy and Raspbian Jessie – they are annotated along the way.

YET ANOTHER NOTE: You need to disable the built-in bluetooth on a Raspberry Pi 3 to restore UART0/ttyAMA0 over GPIOs 14 & 15 by modifying /boot/config.txt – the process is towards the end just after disabling getty processes on /dev/ttyAMA0.

UPDATE: You can now update the firmware on your DVMega RPi shield directly from the RPi without removing the ATMEGA328 chip or the use of separate cables or Arduinos.  Instructions here.

Install the BlueSpot app on your Android device.  (If Google Play Store says your device is incompatible, drop David, PA7LIM a note).

Install ser2net on your RPi …

sudo apt-get update
sudo apt-get install ser2net
sudo bash -c 'echo "2000:raw:600:/dev/ttyAMA0:115200 8DATABITS NONE 1STOPBIT" >> /etc/ser2net.conf'

Remove the getty process from /dev/ttyAMA0 (Caution: the process is different for Raspbian Wheezy and Raspbian Jessie!)

In Raspbian Wheezy…

nano /etc/inittab

Look for the line that spawns a getty on /dev/ttyAMA0 and comment it out (# at the start of the line).

In Raspbian Jessie…

Stop the getty spawning on /dev/ttyAMA0…

sudo systemctl stop serial-getty@ttyAMA0.service

Prevent it from starting on boot…

sudo systemctl disable serial-getty@ttyAMA0.service

Remove the bootup info from /dev/ttyAMA0 by editing /boot/cmdline.txt and removing references to /dev/ttyAMA0 or serial0…

nano /boot/cmdline.txt

On the Raspberry Pi 3 ONLY, disable built-in Bluetooth…

sudo bash -c 'echo "dtoverlay=pi3-disable-bt" >> /boot/config.txt'

Reboot the Rpi…

sudo reboot

Start BlueSpot on the Android device, tap setup and configure to your personal settings, then tap submit.  You are good to go!