Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use WeIO: Examples, Pinouts, and Specs

Image of WeIO
Cirkit Designer LogoDesign with WeIO in Cirkit Designer

Introduction

WeIO is a versatile IoT (Internet of Things) development platform designed to simplify the creation and management of connected devices. It features a user-friendly web-based interface, supports multiple programming languages (such as Python and JavaScript), and offers built-in Wi-Fi connectivity for seamless integration into IoT ecosystems. With its focus on rapid prototyping and deployment, WeIO is an excellent choice for developers, hobbyists, and engineers looking to build smart devices and IoT applications.

Explore Projects Built with WeIO

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
I2C-Controlled OLED Display with External EEPROM and Interactive Pushbuttons
Image of godmode: A project utilizing WeIO in a practical application
This is a microcontroller-based interactive device featuring a Wemos D1 Mini, an OLED display, external EEPROM, and an I/O expander. It includes user input buttons and status LEDs, with potential MIDI interface capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-WROOM-32UE Wi-Fi Controlled Robotic Car with OLED Display and RGB LED
Image of mkrl bot: A project utilizing WeIO in a practical application
This circuit is a WiFi-controlled robotic system powered by an ESP32 microcontroller. It features an OLED display for status messages, an RGB LED for visual feedback, and dual hobby gearmotors driven by an L9110 motor driver for movement. The system is powered by a 4 x AAA battery pack regulated to 5V using a 7805 voltage regulator.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
Image of circuit diagram: A project utilizing WeIO in a practical application
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Wi-Fi Controlled Relay Module with ESP8266 and MCP23017
Image of smart home: A project utilizing WeIO in a practical application
This circuit is a WiFi-enabled relay control system using an ESP8266-01 module and an MCP23017 I/O expander. The ESP8266 communicates with the MCP23017 via I2C to control an 8-channel relay module based on the state of 8 rocker switches, allowing for remote and manual control of connected devices.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with WeIO

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of godmode: A project utilizing WeIO in a practical application
I2C-Controlled OLED Display with External EEPROM and Interactive Pushbuttons
This is a microcontroller-based interactive device featuring a Wemos D1 Mini, an OLED display, external EEPROM, and an I/O expander. It includes user input buttons and status LEDs, with potential MIDI interface capabilities.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of mkrl bot: A project utilizing WeIO in a practical application
ESP32-WROOM-32UE Wi-Fi Controlled Robotic Car with OLED Display and RGB LED
This circuit is a WiFi-controlled robotic system powered by an ESP32 microcontroller. It features an OLED display for status messages, an RGB LED for visual feedback, and dual hobby gearmotors driven by an L9110 motor driver for movement. The system is powered by a 4 x AAA battery pack regulated to 5V using a 7805 voltage regulator.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of circuit diagram: A project utilizing WeIO in a practical application
ESP32-Based Multi-Sensor Health Monitoring System with Bluetooth Connectivity
This circuit features an ESP32-WROOM-32UE microcontroller as the central processing unit, interfacing with a variety of sensors and modules. It includes a MAX30100 pulse oximeter and heart-rate sensor, an MLX90614 infrared thermometer, an HC-05 Bluetooth module for wireless communication, and a Neo 6M GPS module for location tracking. All components are powered by a common voltage supply and are connected to specific GPIO pins on the ESP32 for data exchange, with the sensors using I2C communication and the modules using UART.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of smart home: A project utilizing WeIO in a practical application
Wi-Fi Controlled Relay Module with ESP8266 and MCP23017
This circuit is a WiFi-enabled relay control system using an ESP8266-01 module and an MCP23017 I/O expander. The ESP8266 communicates with the MCP23017 via I2C to control an 8-channel relay module based on the state of 8 rocker switches, allowing for remote and manual control of connected devices.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications and Use Cases

  • Smart home automation systems
  • Environmental monitoring and data logging
  • Wearable devices and health monitoring
  • Industrial IoT applications
  • Prototyping connected consumer electronics
  • Educational projects and IoT learning platforms

Technical Specifications

Key Technical Details

Specification Value
Microcontroller Atmel SAM4S Cortex-M4 (120 MHz)
Connectivity Built-in Wi-Fi (802.11 b/g/n)
Operating Voltage 3.3V
Input Voltage (via USB) 5V
Flash Memory 8 MB
RAM 64 KB
GPIO Pins 20 (Digital and Analog)
Communication Protocols UART, SPI, I2C
Programming Languages Python, JavaScript, HTML5, CSS3
Power Consumption ~200 mA (typical)
Dimensions 60 mm x 40 mm

Pin Configuration and Descriptions

Pin Number Pin Name Description
1 GND Ground
2 3.3V 3.3V Power Output
3 GPIO1 General Purpose I/O Pin
4 GPIO2 General Purpose I/O Pin
5 GPIO3 General Purpose I/O Pin
6 GPIO4 General Purpose I/O Pin
7 TX UART Transmit Pin
8 RX UART Receive Pin
9 SDA I2C Data Line
10 SCL I2C Clock Line
11 SPI_MOSI SPI Master Out Slave In
12 SPI_MISO SPI Master In Slave Out
13 SPI_SCK SPI Clock
14 SPI_CS SPI Chip Select
15 A0 Analog Input 0
16 A1 Analog Input 1
17 A2 Analog Input 2
18 A3 Analog Input 3
19 PWM1 PWM Output 1
20 PWM2 PWM Output 2

Usage Instructions

How to Use the Component in a Circuit

  1. Powering the WeIO Board:

    • Connect the board to a 5V USB power source or a compatible 3.3V power supply.
    • Ensure the power source provides sufficient current (~200 mA) for stable operation.
  2. Connecting to Wi-Fi:

    • Access the WeIO web interface by connecting to the board's default Wi-Fi network.
    • Open a web browser and navigate to the default IP address (e.g., 192.168.1.1).
    • Configure the board to connect to your local Wi-Fi network.
  3. Programming the Board:

    • Use the web-based IDE provided by WeIO to write and upload code.
    • Alternatively, you can use Python or JavaScript to program the board via the IDE.
  4. Interfacing with Sensors and Actuators:

    • Use the GPIO pins to connect sensors (e.g., temperature, humidity) or actuators (e.g., motors, LEDs).
    • Refer to the pin configuration table to identify the appropriate pins for your application.
  5. Deploying IoT Applications:

    • Use the built-in libraries and APIs to send data to cloud platforms or control devices remotely.
    • Leverage the board's support for HTTP, MQTT, or WebSocket protocols for communication.

Important Considerations and Best Practices

  • Voltage Levels: Ensure all connected peripherals operate at 3.3V logic levels to avoid damaging the board.
  • Wi-Fi Signal Strength: Place the board in an area with a strong Wi-Fi signal for reliable connectivity.
  • Heat Management: Avoid placing the board in enclosed spaces without ventilation, as it may generate heat during operation.
  • Firmware Updates: Regularly check for firmware updates to ensure compatibility with the latest features and bug fixes.

Example Code for Arduino UNO Integration

Although WeIO is a standalone platform, it can communicate with an Arduino UNO via UART or I2C. Below is an example of using UART communication:

Arduino UNO Code

void setup() {
  Serial.begin(9600); // Initialize UART communication at 9600 baud
}

void loop() {
  Serial.println("Hello from Arduino!"); // Send a message to WeIO
  delay(1000); // Wait for 1 second
}

WeIO Python Code

import serial
import time

Initialize UART communication with Arduino

arduino = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) time.sleep(2) # Allow time for the connection to initialize

while True: # Read data from Arduino data = arduino.readline().decode('utf-8').strip() if data: print(f"Received from Arduino: {data}") # Print received message time.sleep(1) # Wait for 1 second


Troubleshooting and FAQs

Common Issues and Solutions

  1. The board does not power on:

    • Ensure the USB cable or power supply is functioning correctly.
    • Verify that the power source provides sufficient current (at least 200 mA).
  2. Unable to connect to the WeIO Wi-Fi network:

    • Check if the board is powered on and broadcasting its Wi-Fi SSID.
    • Reset the board to factory settings if the default Wi-Fi network is not visible.
  3. Code does not execute as expected:

    • Verify that the correct pins are used for connecting peripherals.
    • Check for syntax errors or incorrect logic in the code.
  4. Wi-Fi connection drops frequently:

    • Ensure the board is within range of the Wi-Fi router.
    • Reduce interference from other wireless devices operating on the same frequency.

FAQs

  • Can I use external libraries with WeIO?
    Yes, WeIO supports external Python and JavaScript libraries. You can upload them via the web-based IDE.

  • What is the maximum range of the built-in Wi-Fi?
    The range depends on environmental factors but typically extends up to 30 meters indoors.

  • Can I power the board using batteries?
    Yes, you can use a 3.3V battery pack or a 5V USB power bank to power the board.

  • Is WeIO compatible with cloud platforms?
    Yes, WeIO supports integration with popular cloud platforms using HTTP, MQTT, or WebSocket protocols.