RAK 13003 WisBlock Family Members Instructions
- June 12, 2024
- RAK
Table of Contents
- RAK 13003 WisBlock Family Members
- Product Information
- Product Usage Instructions
- Software Setup
- Assembling and Disassembling of WisBlock Modules
- Arduino Setup
- Hardware
- Software
- Product Configuration
- Software Configuration and Example
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
RAK 13003 WisBlock Family Members
Product Information
The RAK13003 is an IO expansion module that can be mounted to the IO slot of the WisBlock Baseboard. It offers 16 bidirectional I/O ports using the MCP23017 IC from Microchip. The configuration of this module is done via the I2C interface, and it supports both standard and fast I2C modes. For more detailed information about the RAK13003 module, please refer to the Datasheet.
Product Usage Instructions
Hardware Setup
To use the RAK13003 module, you need to have the following hardware:
- RAK13003 IO Expansion Module
- Your choice of WisBlock Base
- Your choice of WisBlock Core
- Light-emitting diode or LEDs
- USB Cable
- Li-Ion/LiPo battery (optional)
- Solar charger (optional)
Software Setup
To configure and use the RAK13003 module, you need to have the following software:
- Arduino IDE: Download and install Arduino IDE from the official website.
- RAKwireless Core boards: To add the RAKwireless Core boards to your Arduino Boards Manager, install the RAKwireless Arduino BSP.
Assembling and Disassembling of WisBlock Modules
Assembling Procedure
- Mount the RAK13003 module on the IO slot of the WisBlock Baseboard.
- Secure the connection of the WisBlock module using compatible screws.
Disassembling Procedure
- Remove the screws from the WisBlock module.
- Check the silkscreen of the module to find the correct location where force can be applied.
- Apply even force to the module at the position of the connector to detach it from the baseboard.
Note: If you will connect other modules to the remaining WisBlock Base slots, check the WisBlock Pin Mapper tool for possible conflicts.
Software Configuration and Example
In this example, we will be using the RAK13003 WisBlock IO Expansion Module
to power LEDs. Follow the steps below:
Arduino Setup
- Select the RAK4631 WisBlock Core in your Arduino IDE.
- Copy the following sample code into your Arduino IDE:
/** @file RAK13003_GPIO_Expander_IO_MCP32.ino * @author rakwireless.com * @brief Use IIC to expand 16 GPIO. Configure PA input PB output, or PA output PB input. * Serial port print GPIO status. * @version 0.1 * @date 2021-2-24 * @copyright Copyright (c) 2021 */
For specific software guides for the WisBlock Core module you are using, refer to the following quick links:
Wiring and Configuration
Follow the wiring and configuration instructions provided in the specific
software guide for your WisBlock Core module.
Uploading and Running the Code
Upload the code to your WisBlock Core module using the Arduino IDE and run
it to power on the LEDs connected to the RAK13003 module.
What Do You Need?
Before going through each and every step on using RAK13003 WisBlock module,
make sure to prepare the necessary items listed below:
Hardware
- RAK13003 IO Expansion Module
- Your choice of WisBlock Base
- Your choice of WisBlock Core
- Light-emitting diode or LEDs
- USB Cable
- Li-Ion/LiPo battery (optional)
- Solar charger (optional)
Software
Arduino
- Download and install Arduino IDE .
- To add the RAKwireless Core boards on your Arduino Boards Manager, install the RAKwireless Arduino BSP
Product Configuration
Hardware Setup
The RAK13003 is an IO expansion module that can be mounted to the IO slot of
the WisBlock Baseboard. It offers 16 bidirectional I/O ports by using MCP23017
IC from Microchip. The configuration of this module is via the I2C interface,
and it supports both standard and fast I2C modes.
Row/Column | Column 1 | Column 2 | Column 3 | Column 4 |
---|
Row 1
|
PA0
|
PA1
|
PB6
|
PB7
Row 2
|
PA2
|
PA3
|
PB4
|
PB5
Row 3
|
PA4
|
PA5
|
PB2
|
PB3
Row 4
|
PA6
|
PA7
|
PB0
|
PB1
Row 5
|
GND
|
VCC
|
GND
|
VCC
For more information about RAK13003, refer to the Datasheet.
Assembling and Disassembling of WisBlock Modules
Assembling Procedure
The RAK13003 module can be mounted on the IO slot of the WisBlock Base board,
as shown in Figure 2. Also, always secure the connection of the WisBlock
module by using compatible screws.
Disassembling Procedure
The procedure in disassembling any type of WisBlock modules is the same.
- First, remove the screws.
- Once the screws are removed, check the silkscreen of the module to find the correct location where force can be applied.
- Apply force to the module at the position of the connector, as shown in Figure 5, to detach the module from the baseboard.
NOTE: If you will connect other modules to the remaining WisBlock Base slots, check on the WisBlock Pin Mapper tool for possible conflicts.
Software Configuration and Example
In the following example, you will be using the RAK13003 WisBlock IO Expansion Module to power LEDs. These are the quick links that go directly to the software guide for the specific WisBlock Core module you use:
- RAK13003 in RAK4631 WisBlock Core Guide
- RAK13003 in RAK11200 WisBlock Core Guide
- RAK13003 in RAK11300 WisBlock Core Guide
RAK13003 in RAK4631 WisBlock Core Guide Arduino Setup
Shown in Figure 6 is the illustration of how to use the RAK13003 IO Expansion
Module to power ON LEDs using the digitalWrite function.
- First, you need to select the RAK4631 WisBlock Core.
- Next, copy the following sample code into your Arduino IDE.
- NOTE: If you experience any error in compiling the example sketch, check the updated code for the RAK4631 WisBlock Core Module that can be found on the RAK13003 WisBlock Example Code Repository .
- Install the required library, as shown in Figure 8.
- Choose Version 1.3.0 of the library, as shown in Figure 9
- Select the correct port and upload your code, as shown in Figure 10 and Figure 11.
- When you have successfully uploaded the example sketch, you can see that the LEDs are powered ON. You can also switch PB as INPUT and PA as OUTPUT by changing this line of code shown in Figure 19.
NOTE: You can use mcp.digitalWrite(pin_no,state) and mcp.digitalRead(pin_no) to send or read states
RAK13003 in RAK11300 WisBlock Core Guide Arduino Setup
- First, you need to select the RAK11300 WisBlock Core as shown in Figure 20.
- Next, copy the following sample code into your Arduino IDE.
- NOTE: If you experience any error in compiling the example sketch, check the updated code for the RAK11300 WisBlock Core Module that can be found on the RAK13003 WisBlock Example Code Repository .
- Install the required library, as shown in Figure 21.
- Choose Version 1.3.0 of the library, as shown in Figure 22
- Select the correct port and upload your code, as shown in Figure 23 and Figure 24.
- NOTE: RAK11200 requires the BOOT0 pin to be configured properly before uploading. If not done properly, uploading the source code to RAK11200 will fail. Check the full details on the RAK11200 Quick Start Guide.
- When you have successfully uploaded the example sketch, you can see that the LEDs are powered ON. You can also switch PB as INPUT and PA as OUTPUT by changing this line of code shown in Figure 25
NOTE: You can use mcp.digitalWrite(pin_no,state) and mcp.digitalRead(pin_no) to send or read states.
RAK13003 in RAK11300 WisBlock Core Guide Arduino Setup
- First, you need to select the RAK11300 WisBlock Core as shown in Figure 20.
- Next, copy the following sample code into your Arduino IDE.
- NOTE: If you experience any error in compiling the example sketch, check the updated code for the RAK11300 WisBlock Core Module that can be found on the RAK13003 WisBlock Example Code Repository .
- Install the required library, as shown in Figure 21.
- Choose Version 1.3.0 of the library, as shown in Figure 22
- Select the correct port and upload your code, as shown in Figure 23 and Figure 24.
- When you have successfully uploaded the example sketch, you can see that the LEDs are powered ON. You can also switch PB as INPUT and PA as OUTPUT by changing this line of code shown in Figure 25
- NOTE: You can use mcp.digitalWrite(pin_no,state) and mcp.digitalRead(pin_no) to send or read states.
References
- The Official Website of RAKwireless - Where IoT Is Made Easy
- How to Use the Pin Mapper | RAKwireless Documentation Center
- RAK11200 Quick Start Guide | RAKwireless Documentation Center
- RAK13003 WisBlock IO Expansion Module Datasheet | RAKwireless Documentation Center
- GitHub - RAKWireless/RAKwireless-Arduino-BSP-Index: RAKwireless BSP Support for the Arduino Board Manager
- WisBlock/examples/common/IO/RAK13003_GPIO_Expander_IO_MCP32/RAK13003_GPIO_Expander_IO_MCP32.ino at master · RAKWireless/WisBlock · GitHub
- Modular IoT boards: WisBlock Base Board for WisBlock LoRaWAN modules
- WisBlock Core: LoRaWAN Module for LoRa, Wi-Fi, BLE and/or Bluetooth.
- MCP23017 IO Expansion Module | MCP23017 Module I2C GPIO Extender Arduino – RAKwireless Store
- Software | Arduino
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>