1. Introduction
The Raspberry Pi is an advanced embedded Linux board that can perform complete computer functions. In recent years, due to its affordability and ease of use, the Raspberry Pi has become very popular among developers. Additionally, Arduino is a convenient and flexible embedded development tool that can perform real-time signal acquisition and control. It has also seen significant development and popularity due to its ease of use and development.
2. Positioning
The Raspberry Pi is a complete computer with strong processing capabilities. Although it has I/O ports to expand external applications, it has some limitations in conveniently expanding peripheral hardware. On the other hand, while Arduino does not have powerful processing capabilities, it has very strong expansion capabilities. Therefore, the functions of the Raspberry Pi and Arduino complement each other. As a result, DFROBOT has launched a Raspberry Pi expansion board with Arduino Leonardo. Next, we will introduce this Raspberry Pi expansion board.
3. Unboxing
The Arduino Raspberry Pi expansion board is wrapped in an anti-static bag and comes with a MicroUSB data cable, a CR1220 button battery, and three plastic screws and pillars, as shown in the image below:
After opening the anti-static bag, you can see the Arduino Raspberry Pi expansion board, as shown below:
The back of the board, as shown below:
The Raspberry Pi expansion board features a black solder mask, with colorful pins and sockets, and the components are arranged neatly, resulting in a good overall visual effect.
4. Product Functions
This development board combines the Arduino Leonardo with the Raspberry Pi interface and adds some other functions to form this expansion board.
The functions of the expansion board are as follows:
(1) Microcontroller: Atmega32u4
(2) Bootloader: Arduino Leonardo
(3) Operating voltage: 5V
(4) Digital I/O ports: 20
(5) Analog I/O ports: 6
(6) Xbee expansion interface: 1
(7) Raspberry Pi GPIO output: 16
(8) Raspberry Pi I2C bus output: 1
(9) Raspberry Pi ID_I2C bus output: 1
(10) Raspberry Pi SPI bus output: 1
(11) Raspberry Pi TTL UART serial output: 1
(12) Integrated RTC clock, directly readable by Raspberry Pi
(13) Serial port switching function
Schematic of the expansion board function interface, as shown below:
5. Product Design
The expansion board features a rounded rectangular design, with the same length as the Raspberry Pi, but slightly wider.
The board is designed with three positioning controls that match the positioning holes of the Raspberry Pi, as shown below:
The Raspberry Pi expansion board uses different colors for the pins and sockets to distinguish their different functions.
The analog I/O socket is blue.
The power pins and sockets are red.
The digital I/O pins and sockets are green.
The solder mask is black, and the layout of the components on the board is very neat.
Below the reset button, there is a rubber pad on the back of the board that rests on the RJ45 interface. This design is intended to support the board and prevent the RJ45 interface housing from short-circuiting the pins, as shown below:
Next to the board’s Xbee interface, there is a hollowed-out slot, presumably for passing through the FPC when using the Raspberry Pi Camera, so as not to interfere with the Raspberry Pi’s peripheral usage, as shown below:
All of Raspberry Pi’s I/O is output through a level conversion chip, allowing users to pull up to 5V or 3.3V according to the peripheral’s voltage requirements, and it has port protection functionality.
The development board features a dip switch that allows users to choose whether the serial Shield inserted into the Arduino Shield slot communicates through the Raspberry Pi’s serial port or through the Arduino Leonardo. When switched to position A, it connects to the Raspberry Pi’s serial port; when switched to position B, it connects to the Arduino’s own serial port.
The details of the board are well handled, whether in terms of hardware solutions or board craftsmanship, the design is very thoughtful.
6. Product Usage Scheme
Next, we will begin using this development board by connecting the Arduino Raspberry Pi expansion board to the Raspberry Pi using the included USB cable.
Power the Raspberry Pi and connect it to a monitor, mouse, and keyboard, as shown below:
Next, we will install the Arduino IDE on the Raspberry Pi.
After obtaining ROOT permissions and installing updates, install Arduino, as shown below:
Installation is complete, as shown below:
Since we need to operate the serial port, we will add the PI user to tty and dialout, as shown below:
Next, we will open the Arduino IDE, as shown below:
After opening the Arduino IDE, select Arduino Leonardo under Board, as shown below:
The Serial Port is already set to ACM0, as shown below:
Next, open the program to light up the LED on pin 13, as shown below:
Download the program to the expansion board, and the green LED on the board lights up, as shown below:
We can also use the Firmata protocol for communication between the Raspberry Pi and Arduino, as well as for more operations. Due to space constraints, we will not demonstrate this here. The playability of the Raspberry Pi and Arduino combination is still very high, and interested readers can give it a try.
From the above operations, it seems that developing Arduino on the Raspberry Pi is relatively easy, with not much difference from developing on Windows. Moreover, this expansion board has undergone many optimizations to perfectly combine the Raspberry Pi and Arduino, making it a great tool for implementing innovative projects.
7. Other Materials
The official provides schematics, component placement diagrams, detailed descriptions of the board interfaces, and other materials. Additionally, the official also offers tutorials on using Raspberry Pi and Arduino, which are quite detailed and suitable for beginners to learn and use. It is a good method for learning Arduino and Raspberry Pi.
8. Summary and Outlook
As two of the hottest representatives of open-source hardware, Raspberry Pi and Arduino each have their strengths and weaknesses. Combining the two seems to compensate for their shortcomings, and their associated use is relatively easy. DFROBOT’s expansion board solves the hardware connection and provides a software usage method, making it relatively easy for both Raspberry Pi enthusiasts and Arduino enthusiasts to use. Overall, this is a very suitable expansion board for relatively complex projects, using Raspberry Pi for large data processing and network connections, and using Arduino for real-time data acquisition and control. This strong alliance is suitable for most makers and can address most of their ideas. DFROBOT’s products are guaranteed in terms of product design, ease of use, and quality. We hope makers can create more fun and interesting works.
9. Official Resources
Raspberry Pi Official Website: www.raspberrypi.org
DFROBOT Arduino Raspberry Pi Expansion Board: http://www.dfrobot.com.cn/goods-1059.html
Leave a Comment
Your email address will not be published. Required fields are marked *