Embedded Pi is a triple-play platform for Raspberry Pi, Arduino and 32-bit embedded ARM. Blending all three communities together, Embedded Pi helps you to get the most out of each platform. The Embedded Pi is based on the STMicroelectronics STM32F103 MCU, and can...
CooCox and CoFans ‒ A complete set of FREE CooCox tools for ARM development ‒ A common footprint next to Arduino footprint for connection with expansion daughter cards which will be developed by CooCox ...
3.6 Embedded Pi Extended Interfaces, and 3.7 Raspberry Pi Connector. Embedded Pi has 3 power sources from which the power supply is auto-selected – USB connection, an external DC power supply, or a Raspberry Pi. For more information, refer to Power MCU.
Page 7
Embedded Pi contains an ARM Cortex-M3 MCU STM32F103RBT6 which belongs to STM32 F1 series of mainstream MCUs. The STM32 F1 is a series of mainstream MCUs covering the needs of a large variety of applications in the industrial, medical and consumer markets. With this series of products, ST has pioneered the world of ARM®...
Raspberry Pi Interface Figure 3-3 Pin IDs of the connectors ESD Precautions Please note that the Embedded Pi board comes without any case/box and all components are exposed. Therefore, extra attention must be paid to ESD (electrostatic discharge) precautions. Please make sure there is no static interference when using the board.
Raspberry Pi connector (J5) on the Embedded Pi board via the 26-pin IDC cable in the package. Embedded Pi can operate on an external supply of 6 to 20 volts. If supplied with less than 7V, however, the 5V pin may supply less than five volts and the board may be unstable. If using more...
12V, the voltage regulator may overheat and damage the board. The recommended range is 7 to 12 volts. Note: Embedded Pi has 3.3V and 5V outputs for power supply, selectable by JP1. You need to check and select which output to use every time when powering on the stacked Arduino shields.
6 analog inputs, 2 of which have a multiple function for IIC communication. However, the 2 IIC pins have no analog input function on the Embedded Pi board. The specific IO mapping of the pins are as below:...
16 digital IOs, which can also access 1 UART, 1 SPI, and 6 PWM signals by multiplexing. Embedded Pi has full compliance with Arduino these pins. The specific IO mapping of the digital pins are as below:...
STM32F103RBT6, and 2 pins with multiple functions including PWM and UART. The UART function is for ISP download, which works together with BOOT0 and BOOT1. Figure 3-5 Embedded Pi extended custom interfaces (right side of the dotted line) Table 3-4 IO mapping of Embedded Pi extended custom interfaces...
3.6.3 Digital Section Embedded Pi extended interfaces include 16 digital IOs, which can also access 1 UART with flow control, 2 pairs of differential PWM, 1 CAN, 1 SPI, and 1 IIC. The specific IO mapping of the digital pins are as below:...
UART. As the Arduino form-factor compatible interfaces include only 16 digital IOs, pin 26 of the Raspberry Pi is ignored on Embedded Pi. Below is the IO remapping of Raspberry Pi interfaces on Embedded Pi board. Table 3-7 IO remapping of Raspberry Pi interfaces Note: Dn (n=1.2.3 …) stands for Digital Pin x.
The next steps are as below: Install the ISP tool for Embedded Pi on your PC or Raspberry Pi. There are many ISP tools for PC, and ST has provided a version for Windows system only. For details, please refer to http://www.st.com/internet/com/TECHNICAL_RESOURCES/TECHNICAL_LITERATURE/USER_...
Connect the ISP interface on Embedded Pi with your PC (or Raspberry Pi) according to the instruction of the ISP tool. Figure 3-5 shows the pins of the ISP interface on Embedded Pi. When using a PC to program Embedded Pi, an RS232 voltage conversion chip is needed between to convert the TTL voltage level of Embedded Pi to the RS232 voltage level of PC.
SJ1 with JTDI first with electronic iron and solders. STM32-PA15 JP2-TDI Button Table 3-8 Function of buttons on Embedded Pi Button ID Name Function Remark RESET Reset the Embedded Pi or the Arduino shields in use BOOT0 Select Boot Mode...
3.11 System Clock Source Table 3-10 System Clock Source Function of Embedded Pi Clock Source ID Crystal Frequency Function 8MHz System main clock source 32.768KHz RTC input clock source 3.12 Jumper Table 3-11 Function of Embedded Pi Jumpers Jumper ID...
4 Operation Modes The Embedded Pi has three operation modes, selectable by jumpers. Refer to 3.12 Jumper. STM32/Standalone Mode The Embedded Pi works as an Arduino form-factor compatible mother board where the STM32 controls the Arduino shields directly without the use of Raspberry Pi. It can sense the environment by receiving input from a variety of sensors and can affect its surroundings by controlling lights, motors, and other actuators.
4.1.2 Software Resources A quick & easy embedded project can be built in C using CooCox development tools from Embest, a FREE and easy-to-use ARM development tool environment working in Windows XP SP3/Windows Vista/Windows 7 system for Cortex-M MCU with flash programming & debugging capability (CoIDE, CoFlash, CoLinkEx etc), along with the integrated abundant reusable code shared by CooCox team and CoFans.
Page 22
Motor Shield 75346 For latest shared Arduino shield drivers, visit http://www.coocox.org/driver/shield-mc9.html, or click “Refresh” button on the top right corner of the Repository view in CoIDE, as shown in the figure below. Click the “Upload” button next to “Refresh” to share your Arduino shield drivers with others by just 4 steps.
Figure 4-3 Arduino shield drivers list & “Refresh” button ST-Adapter Mode Preparation: A firmware to control the Arduino shields and communicate with the Raspberry Pi should be programmed to the STM32 before hand; it can be generated from the project built in CoIDE, and be programmed with CoIDE, CoFlash, or ISP tool.
Figure 4-4 Block diagram of ST-Adapter Mode 4.2.1 Hardware Connections The Raspberry Pi communicates with STM32 via the SPI/I2C/UART channels of the Raspberry Pi connector, which are used as multiplex functions of the digital IOs. The Embedded Pi can be powered with the connected Raspberry Pi.
Raspberry Pi can control motor, LED, or GPIO of STM32 with commands by invoking command parameters already defined TinkerKit Shield For more demos and divers, please visit www.coocox.org/epi.html. Raspberry Pi Mode The Embedded Pi works as a hardware connection bridge between Raspberry Pi and Arduino...
Page 26
Arduino but with the power and capabilities of Raspberry Pi. Raspberry Pi (GUI or command line console) DATA Embedded Pi Motor Sensor Arduino Shields Network Figure 4-6 Block diagram of Raspberry Pi Mode...
4.3.1 Hardware Connections Figure 4-7 Hardware connections of Raspberry Pi Mode Note: The Embedded Pi Extended Interfaces are not connected with the pins of the Raspberry Pi Connector. 4.3.2 Software Resources Arduino community has provided a great many drivers and application examples of the existing Arduino shields for Linux, as well as corresponding document.
5 Getting Started To get started with the Embedded Pi in ST-Adapter mode and Raspberry Pi mode, refer to 4.2.2 and 4.3.2. To get started with Embedded Pi in STM32 mode, an Arduino shield, and CoIDE, you can follow the steps below:...
Page 29
Specify project name and path, and click “Next”. Stay the cursor on “Chip” to create the project based on the target chip, and click “Next”.
Page 30
Select target chip “STM32F103RB” from the chip list. After clicking “Finish”, CoIDE will create a project containing a main.c file for you, and show the Repository window which contains all code components of STM32F103RB.
Page 31
Select the driver component of your Arduino shield from the “Drivers” tab, e.g. select Shield -> DM163 Dot Matrix, associated components (xGPIO in this case) will be automatically selected, and CoIDE will add the source code of the selected components to your project.
Page 32
Select View -> Help to open the Help window and view the related information of a selected component.
Page 33
In the “Peripherals” tab, select CoX.Embedded_PI.Config component to add the interface configuration files to the project.
Page 34
The Components view shows all selected components and the number of examples for each component. Click DM163 Dot Matrix component and its Example window will popup. Click “view” to view the content of the example file.
Page 35
10. Click “add” to add the example file to your project, and click “Yes” to confirm adding. CoIDE will add the DotMatrix_example.c file to the project, and the DotMatrix_example function to the main function.
Page 36
However, the DotMatrix_example.c file has 2 unsolved inclusions – xcore.h and xsysctl.h. 11. Select components xCORE and xSysCtl from the “Peripherals” tab.
Page 37
12. Click the “Build” button or press F7 to compile and link the program. 13. Click the “Configuration” button to open the Configuration window.
Page 38
14. Select the debug adapter you use in the “Debugger” tab, and close the Configuration window to save your configurations. 15. Click the “Download” button to download code to flash.
Page 39
16. To start debugging, click on the Debug icon or press Ctrl+F5. 17. If debugging is launched successfully, CoIDE will enter the debug mode.
Page 40
18. Other debug windows can be added by simply selecting them from the View menu. 19. Use the debug functions like single stepping via the tool bar or debug menu.
Page 41
20. Set breakpoints in the C code window or the Disassembly window.
CooCox CoIDE http://www.coocox.org/CooCox_CoIDE.htm Raspberry Pi Raspberry Pi HomePage http://www.raspberrypi.org/ Raspberry Pi order links http://downloads.element14.com/raspberryPi1.html FAQs http://www.raspberrypi.org/faqs Element14 Raspberry-Pi community http://www.element14.com/community/groups/raspberry-pi Arduino Arduino HomePage http://www.arduino.cc/ Arduino Community http://arduino.org/ Arduino Shields http://www.shieldlist.org/...
Need help?
Do you have a question about the Embedded Pi and is the answer not in the manual?
Questions and answers