X205 SKU: EZ-0046
- 1 X205 EXPANSION BOARD FOR RASPBERRY PI
- 2 KEY FEATURES
- 3 PACKING LIST
- 4 QUICK START GUIDE
- 5 B. OPERATION SYSTEM
- 6 C. POWER SUPPLY
- 7 E. TESTING OF RS485 COMMUNICATIONS
- 8 F. MICROPHONE INPUT AND AUDIO OUTPUT
- 9 G. AUDIO INPUT AND OUTPUT INTERFACE
- 10 H. SETTING RTC TIME
- 11 I. TESTING THE IR RECEIVER
- 12 J. ULN2803 8-CHANNEL RC SERVO PORT
X205 EXPANSION BOARD FOR RASPBERRY PI
|Input Voltage||6V to 20Vdc converted to 5V, 3A via step-down DC/DC converter to power the Raspberry Pi|
|RS232 serial communications||Control the Raspberry Pi over RS232 or connect to external serial accessories|
|RS485 serial communications|| You will be able to have a communication port for your field bus directly connected to your RPi!
- It will allow up to 32 devices to communicate through the same data line over a cable length of up to 4,000ft with a maximum data rate of 10Mbit/s.
|Audio|| 3.5mm MIC in jack
- 3.5mm stereo audio jack - Audio IO connector (Microphone input and stereo audio amplifier 3.3Wx2)
|Wireless|| WiFi (IEEE 802.11b/g/n) with external antenna
- IR sensor (38KHz)
|USB Storage||Self-powered USB hub with 3 ports|
|Real-time clock (RTC)||Based on DS3231SN with included CR2032 battery|
|GPIO Control||8-channel Darlington driver chip (ULN2803) allowing to control electronic circuits which require more current|
|Misc|| Power output socket
- Camera flex slot so camera can still be used with the expansion board attached - DIP switch to remove connection from RPi’s pin header - Directly connected on top of the Raspberry Pi using the board GPIO header pins - No wiring nor soldering is required - Duplicated the 40-pin header of the R-Pi in order to support existing expansion boards - Suitable for Raspberry Pi Model B+, Raspberry pi 2 Model B and Raspberry Pi 3 Model B NEW!
|Dimensions||85 x 56mm (Same size as Raspberry Pi)|
- 1 x X205 expansion board
- 1 x USB adapter
- 1 x 2.4GHz WIFI antenna
- 4 x nylon spacers (M3 x 20mm)
- 8 x nylon screws (M3 x 6mm)
QUICK START GUIDE
- A. Fitting the expansion board
- B. Operation system
- C. Power supply
- D. RS232 communications
- E. Testing of RS485 communications
- F. Microphone input and audio output
- G. Audio input and output interface
- H. Setting RTC time
- I. Setting up the IR remote
- J. ULN2803 8-channel RC servo port
- A. FITTING THE EXPANSION BOARD
- A. FITTING THE EXPANSION BOARD
1. Push a screws up through the mounting hole on the underside of the Raspberry Pi and screw the spacer down until it is hand tight
2. Plugs the expansion board straight into your Raspberry Pi B+'s GPIO header and screw down.
3. Insert the USB adapter
4. Install the WiFi antenna
B. OPERATION SYSTEM
C. POWER SUPPLY
Xseries expansion board supplies the RPi with a regulated +5V through the GPIO header using a 2A poly-resettable (PTC) fuse.
With the wide voltage input range (6~21Vdc), the RPi can be powered from a wide variety of external sources such as batteries, 12V power adapters, solar battery sources, etc.
Recommended Power Adapter : 110~240VAC input, 12VDC 2A output
Dimension of input plug (Unit: mm)
D. RS232 COMMUNICATIONS
The RS232 port is connected to the UART port on the Raspberry Pi using a MAX3232 interface. The MAX3232 IC converts the 3.3V UART port to RS232 voltages allowing communication with RS232 compatible devices over a DB9 serial cable or with the use of a null-modem cable the board allows terminal access with linux on the Raspberry Pi using a terminal application. The RS232 port can be accessed through the terminal block on x205. Schematic diagram
E. TESTING OF RS485 COMMUNICATIONS
- What is RS485
Please click on the link below for further details of RS485.
- Install Dedendecy Libraries (Raspbian)
1. Update source list
$ sudo apt-get update
2 . Install python-pip
$ sudo apt-get install python-pip
3.Use pip to install WiringPi (WiringPi is designed for raspberry pi to behave similarly to that of the wiring library under Arduino.
After this library is installed,c or shell or python can use the function to configure and control GPIOs directly.
$ sudo pip install wiringpi
4. Installed the associated library files of serial ports :
$ sudo apt-get install python-serial
5.Test whether the GPIO library and the serial library is installed or not:
$ import RPi.GPIO
$ import serial
If there is no error , then the two libraries are installed correctly.
6. We need to configure file ‘/boot/cmdline.txt’ to remove the kernel booting information and debug message:
$ sudo nano / boot / cmdline.txt
You can see the following information:
dwc_otg.lpm_enable = 0 console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200 console = tty1 root = / dev/mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait
Remove “console = ttyAMA0, 115200 kgdboc = ttyAMA0, 115200″ so that the information becomes:
dwc_otg.lpm_enable = 0 console = tty1 root = / dev/mmcblk0p2 rootfstype = ext4 elevator = deadline rootwait
7. Disable log in from the serial port:
$ sudo nano / etc / inittab
and comment out ” T0: 23: respawn :/ sbin / getty-L ttyAMA0 115200 vt100″
8 Restart Raspberry Pi:
$ sudo reboot
Now you can use / dev/ttyAMA0 like the regular COM port.
- Python Test Code
Test code(serial_test.py , unzip and save to /home/pi ) :
- Test Tools
- 1 x Raspberry Pi
- 1 x X205 expansion board for Raspberry Pi
- 1 x Cable (two conductors)
- 1 x USB-RS485 converter
- Wire Diagram and Test
X205 RS485 ‘A’-> USB-RS485 converter ‘ A ‘
X205 RS485 ‘B’-> USB-RS485 converter ‘ B ‘
After the wiring is done, launch a serial terminal. We use X-CTU in our case, and set the baud rate to 9600:
After running serial_test.py, enter the characters in the X-CTU:
F. MICROPHONE INPUT AND AUDIO OUTPUT
To configure X205 sound card as the default audio device.
<1> Right-click the volume icon, a pop-up menu appears to allow you to select "USB PnP Sound Device".
<2> Click "Device Settings..." to allow more detailed control of the X300 audio devices – you can access this either under Device Settings from the volume right-click menu or from the Preferences section of the main menu, where it is listed as Audio Device Settings.
<3> From this dialog, select the device you want to control from the drop-down at the top, and then press the Select Controls button to choose which of the controls the device offers that you want to display. Pressing the Make Default button on this window has the same effect as choosing an output source in the volume right-click menu.
<4> Let's record the sound with LXterminal
[email protected] ~ $ arecord -D plughw:1,0 -f cd test.wav
<5> Press Ctrl + C to abort recording
<6> Playback the recording with aplay
[email protected] ~ $ aplay test.wav
G. AUDIO INPUT AND OUTPUT INTERFACE
H. SETTING RTC TIME
This page details how to setup the RTC Pi on the Raspbian Jessie image from http://www.raspberrypi.org/downloads
- <7> Ensure that the CR2032 coin battery was inserted into the battery holder. Using the expansion board without a battery installed may damage the RTC chip and will stop it from appearing on the I2C bus.
- <8> Follow the instructions on how to install and configure I2C on Raspbian Linux.
- <9> Once you have installed I2C check that the RTC Pi has been detected using:
[email protected] ~ $ sudo i2cdetect -y 1
The RTC Pi should appear on channel 68 as shown in the screen shot below.
If the RTC Pi does not appear check that the battery is installed correctly and is fully charged:
- <10> Enable I2C by running:
[email protected] ~ $ sudo nano /etc/modprobe.d/raspi-blacklist.conf
Find the I2C line where the I2c is black listed
Comment it out by replacing it with the line below
- <11> To ensure that the necessary kernel modules are loaded at boot, ensure your /boot/config.txt file has the entry below …
[email protected] ~ $ sudo nano /boot/config.txt
- <12> Save your changes by pressing Ctrl-x then Y
- <13> Edit /lib/udev/hwclock-set with
[email protected] ~ $ sudo nano /lib/udev/hwclock-set
- <14> Locate the lines and edit
- <15> Comment following three lines in config.txt by adding '#' located at start of the line. (check Images below)
- <16> Save your changes by pressing Ctrl-x then Y
- <17> Reboot your Raspberry Pi
[email protected] ~ $ sudo reboot
- <18> Get the right time set on the Pi ,
[email protected] ~ $ sudo date MMDDHHMMYYYY.SS
(MM= Month, DD= Date, HH= Hour, MM= Minute, YYYY= Year, SS= Second ) example: 2013 Jan 4 , 11:39:00 , sudo date 010411392013.00
- <19> Write the system time to the expansion board,
[email protected] ~ $ sudo hwclock -w
- <20> Verify the time ,
[email protected] ~ $ sudo hwclock -r
If everything worked correctly the expansion board should be initialised on boot and the current date and time will be loaded into Linux.
I. TESTING THE IR RECEIVER
- <21> Installing LIRC
[email protected] ~ $ sudo apt-get install lirc
- <22> Add the two lines below to /etc/modules . This will start the modules up on boot. Pin 8 bellow will be used to take the output from the IR sensor.
[email protected] ~ $ sudo nano /etc/modules
lirc_dev lirc_rpi gpio_in_pin=8
- <23> Save your changes by pressing Ctrl-x then Y
- <24> Edit your /boot/config.txt file
[email protected] ~ $ sudo nano /boot/config.txt
- <25> Edit /etc/lirc/hardware.conf and have it appear exactly as shown below.
[email protected] ~ $ sudo nano /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf # # Arguments which will be used when launching lircd LIRCD_ARGS="--uinput" # Don't start lircmd even if there seems to be a good config file # START_LIRCMD=false # Don't start irexec, even if a good config file seems to exist. # START_IREXEC=false # Try to load appropriate kernel modules LOAD_MODULES=true # Run "lircd --driver=help" for a list of supported drivers. DRIVER="default" # usually /dev/lirc0 is the correct setting for systems using udev DEVICE="/dev/lirc0" MODULES="lirc_rpi" # Default configuration files for your hardware if any LIRCD_CONF="" LIRCMD_CONF=""
The highlighted text are the parts that will need changing, though it’s worth checking the rest of the text incase you have a different initial configuration.
- <26> Save your changes by pressing Ctrl-x then Y
- <27> Reboot the Raspberry Pi
[email protected] ~ $ sudo reboot
- <28> Run these two commands to stop lircd and start outputting raw data from the IR receiver
- <29> Point a remote control at your IR receiver and press some buttons. You should see something like this:
J. ULN2803 8-CHANNEL RC SERVO PORT
Bring in some muscle to your output pins with 8 mighty Darlingtons!
This driver chip contains 8 drivers that can sink 500mA from a selectable 5V or DC input voltage supply and has kickback diodes included inside for driving coils.
This will let your little microcontroller or microcomputer power solenoids, DC motors (in one direction) and unipolar stepper motors.
The GPIO Pins are connected to ULN2803 inputs through a DIP switch, with the its outputs going to two array of Wire-to-Board header.
Alternatively, these ports can be used to supply +5V or input voltage to other external circuitry, or embedded devices.
Please note that this is an 'open collector' driver - it can only be used to connect the load to ground and there will be a 1 Volt (or more) 'drop' across the internal transistors.
You can Download here:
File:ULN2803 SCH x200.pdf
File:Raspberry Pi GPIO Pin numbering.pdf
File:ULN2803APG datasheet en 20121126.pdf
- Optional driver to install - WiringPi
<1> Install GIT
[email protected] ~ $ sudo apt-get install git-core
<2> Download WiringPi
[email protected] ~ $ git clone git://git.drogon.net/wiringPi
<3> Enter the directory of wiringPi
[email protected] ~ $ cd wiringPi
<4> Install wiringPi
[email protected] ~ $ ./build
<5> Test GPIO port
[email protected] ~ $ gpio mode x out (x = 0~7)
[email protected] ~ $ gpio write x 1 (x=0~7, 1=On)
[email protected] ~ $ gpio write x 0 (x=0~7, 0=off)