- The familiar Arduino API
- pinMode/digitalRead/digitalWrite/analogWrite
- Full SPI, Wire and Serial compatibility
- Access to STDIN/STDOUT through the Console class
- Access to system tty through the TTY library
- Process, FileIO, Client, Server and UDP implementations through the Bridge library
- Open the installation folder of Arduino IDE
- Create a folder named "RaspberryPi" inside "hardware" and clone the repository to a folder named "piduino"
mkdir hardware/RaspberryPi
cd hardware/RaspberryPi
git clone https://github.com/me-no-dev/RasPiArduino piduino- Download , extract and copy the toolchain to piduino/tools/arm-linux-gnueabihf
- Windows: gnutoolchains.com
- The toolchain for Jessie will work ONLY on RaspberryPi 2
- The toolchain for Wheezy will work on ALL RaspberryPi boards (recommended)
- Video Instructions
- Linux 64: arm-linux-gnueabihf
- Linux 32: arm-linux-gnueabihf
- Mac OS X: arm-linux-gnueabihf
- Windows: gnutoolchains.com
- Restart Arduino IDE and select the RaspberryPI from the list of boards
- Compile a sketch
- Select the RaspberryPi from the list of Ports (will show the IP address)
- Upload your sketch and see it go
- Install Raspbian Jessie on your RaspberryPI
- Gain root permissions
sudo su- Enable password login for root
passwd- enter the new root password twice
- Edit
/etc/ssh/sshd_configand make sure that the following lines exist and are not commented
PermitRootLogin yes
PasswordAuthentication yesDisable Serial Console on boot by removing
console=/dev/ttyAMA0from /boot/cmdline.txt (or through raspi-config)Disable Serial tty
systemctl disable serial-getty@ttyAMA0- Disable loading sound kernel module
sed -i "s/dtparam=audio=on/#dtparam=audio=on/" /boot/config.txt
- Change the hostname for your Pi (optional) (also through raspi-config)
hostnamectl set-hostname piduino- Setup WiFi (optional)
cat > /etc/wpa_supplicant/wpa_supplicant.conf <<EOLctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1network={ ssid="your-ssid" psk="your-pass"}EOL- Setup avahi service to allow updating the sketch from ArduinoIDE
cat > /etc/avahi/services/arduino.service <<EOL<?xml version="1.0" standalone='no'?><!--*-nxml-*--><!DOCTYPE service-group SYSTEM "avahi-service.dtd"><service-group> <name replace-wildcards="yes">%h</name> <service> <type>_arduino._tcp</type> <port>22</port> <txt-record>board=bplus</txt-record> </service></service-group>EOL
service avahi-daemon restart- Install telnet and git
apt-get update
apt-get install telnet git- Copy all files from tools/arpi_bins to /usr/local/bin
git clone https://github.com/me-no-dev/RasPiArduino.git piduino
chmod +x piduino/tools/arpi_bins/*
cp piduino/tools/arpi_bins/* /usr/local/bin
rm -rf piduino- Create symbolic link for run-avrdude
ln -s /usr/local/bin/run-avrdude /usr/bin/run-avrdude- Synchronize time and start sketch on boot (optional)
apt-get install ntpdate
cat > /etc/rc.local <<EOL#!/bin/sh -e_IP=\$(hostname -I) || trueif [ "\$_IP" ]; then printf "My IP address is %s\n" "\$_IP"fi# Sync Timentpdate-debian -u > /dev/null# Start Sketch/usr/local/bin/run-sketch > /dev/nullexit 0EOL- Prevent some RealTek USB WiFi from sleep (optional) (EU)
echo"options 8192cu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1"> /etc/modprobe.d/8192cu.conf
echo"options r8188eu rtw_power_mgnt=0 rtw_enusbss=1 rtw_ips_mode=1"> /etc/modprobe.d/r8188eu.conf- Disable screen blank (optional)
sed -i "s/BLANK_TIME=30/BLANK_TIME=0/" /etc/kbd/config
sed -i "s/POWERDOWN_TIME=30/POWERDOWN_TIME=0/" /etc/kbd/configDo not load I2C UART or SPI kernel drivers
reboot


