Build a Smart Robot with the Bridge Shield – Raspberry Pi & Arduino Integration
The Bridge Shield is an open‑source development board designed for students, hackers, and researchers. Paired with a Raspberry Pi or Arduino Uno, it unlocks a wide range of DIY robotics and home‑automation projects.
We’re currently supporting the project on Kickstarter – consider backing us or sharing the link below with friends and family.
Bridge Shield Kickstarter Link
Key Features (2nd Generation)
- 10‑DOF IMU (Inertial Measurement Unit)
- Temperature sensor
- Dual Bridge motor driver (1 A per channel)
- 8‑channel I²C servo driver
- Real‑time clock with coin‑cell backup
- Bidirectional 5 V↔3.3 V level shifter
- Level shifting for SPI, I²C, UART (Arduino Uno ↔ Raspberry Pi)
- ATtiny85 micro‑controller with Arduino bootloader
- Headers for ESP8266 Wi‑Fi, HC‑05 Bluetooth, IR remote, USB‑to‑UART
- Single 12 V input powers Pi, Arduino, and includes 3‑A, 5 V/3 A, and 3.3 V/1 A regulators
- Dual‑cell Li‑Ion charger with LED status indicators
- I²C‑controlled variable‑intensity LED
All components are mechanically designed to fit most standard Arduino Uno and Raspberry Pi shield stacks.
Projects Built So Far
- Internet‑controlled robot
- Home‑automation controller for any plug‑in appliance
- IP camera
- Mobile, battery‑backed Raspberry Pi platform
What You Can Do With It
- Autonomous or self‑balancing robot
- DIY drone (use responsibly – privacy disclaimer applies)
- Smart home automation using I²C sensors and on‑board motor drivers (servos, DC, stepper)
We’ve completed the first prototype and are now testing it. The second generation will bring even more powerful features. Watch our videos on the website and YouTube for details.
Getting Started: Internet‑Controlled Robot
Step 1: Set Up Your Raspberry Pi
Ingredients:
- Bridge Shield (or L293D board)
- Raspberry Pi with SD card and power supply
- USB or Pi camera module
- Robot chassis, motor clamps, nuts/bolts, peripherals
- 2× DC motors (BO motors)
- 2‑cell Li‑Ion battery (1 000–2 000 mAh)
- Arduino Uno (optional)
- ESP8266 Wi‑Fi module (optional)
- 1.3" OLED display (optional)
Begin by installing a web server and PHP on your Pi. Follow this instructable for detailed steps, then run:
$ sudo apt‑get update $ sudo apt‑get install apache2 php5 libapache2-mod-php5
Verify by visiting https://your‑pi‑IP in a browser. Optionally install an FTP server:
$ sudo apt‑get install vsftpd $ sudo nano /etc/vsftpd.conf
Make the following edits:
- Change
anonymous_enable=YEStoanonymous_enable=NO - Uncomment
local_enable=YESandwrite_enable=YES - Add
force_dot_files=YESat the end
Restart the service:
$ sudo service vsftpd restart
Step 2: Install MPEG‑Streamer
MPEG‑Streamer streams your camera feed over the internet. Install dependencies:
$ sudo apt‑get install libjpeg8-dev imagemagick
Clone, build, and run the streamer:
$ cd ~ $ mkdir tmp $ cd tmp $ svn co https://svn.code.sf.net/p/mjpg-streamer/code/mjpg… mjpg-streamer $ cd mjpg-streamer/mjpg-streamer $ make $ cd /home/pi/code/mjpg-streamer $ ./mjpg_streamer -i "./input_uvc.so" -o "./output_http.so -p 8080 -w ./www"
View the stream at https://pi‑IP:8080 or https://pi‑IP:8080/?action=stream.
Step 3: Interface PHP & Python with GPIO
Install WiringPi (instructions on the official site). Then place the following files in /var/www/server/:
- control.html
- control.php
- control.py
Edit control.html to point to the stream:
$ sudo nano /var/www/server/control.html
Replace img src with:
img src="https://pi‑IP:8080/?action=stream"
Access the page at https://pi‑IP/server/control.html. Buttons will toggle GPIO pins via the PHP script.
Step 4: Connect Hardware (Pi & Bridge Shield)
Use the Bridge Shield’s motor driver to power your motors directly from the Pi’s GPIO. Map pins as follows (example):
- GPIO 4 → Driver pin 2
- GPIO 17 → Driver pin 7
- GPIO 22 → Driver pin 15
- GPIO 23 → Driver pin 10
Mount the Shield and Pi onto the chassis, attach the Li‑Ion battery, and secure the Wi‑Fi dongle in the designated slot.
Step 5: Optional ESP8266 & Arduino UNO Home‑Automation
For Wi‑Fi control of appliances, update control.py with your ESP8266 IP and port:
$ sudo nano /var/www/server/control.py
Set:
TCP_IP = "esp‑ip"TCP_PORT = esp‑port
Upload the Arduino sketch and install the Adafruit OLED libraries. Configure port forwarding on your router (e.g., Netgear) to expose the ESP8266 port. See port forwarding guide.
For deeper insight, visit the Robot Using Raspberry Pi & Bridge Shield page.
Manufacturing process
- Remote Weather Monitoring with Raspberry Pi 3 and PubNub
- Integrate TI SensorTag with Blynk via Node‑RED on Raspberry Pi Zero
- Control an LED with a PIR Motion Sensor on Raspberry Pi
- DIY Wall‑E Inspired Raspberry Pi CD‑Box Robot
- Gesture‑Controlled Robot Powered by Raspberry Pi
- Build a Wi‑Fi‑Controlled Raspberry Pi Robot with Python – Step‑by‑Step Guide
- Integrating Microsoft Kinect with Raspberry Pi for Real‑Time Human Detection on the Sonbi Robot
- Build an Android‑Controlled Remote Vehicle with Raspberry Pi Motor Shield
- Advanced Snow Plow Robot for Efficient Winter Clearing
- Autonomous Sudoku Solving Robot