What is Shabakah?

Shabakah by Remal IoT stands as a testament to innovation and connectivity in the world of IoT development boards. As the premier creation of Remal IoT, Shabakah v4 is not just the most advanced board in our lineup but also a beacon of networking prowess and Internet connectivity. Designed to weave a web of connections, its name – translating to “web” in Arabic – reflects its core capability of connecting various devices seamlessly.

Shabakah 🕸️ is crafted to usher users into the realm of connectivity-focused applications with ease and confidence. Utilizing Wi-Fi and Bluetooth 5 technologies, it serves as a versatile platform for a wide range of applications.

Shabakah v4 is more than just a development board; it’s a gateway to a world where your ideas can interconnect seamlessly. Whether you’re a seasoned developer or a curious beginner, Shabakah v4 provides the tools and versatility to bring your innovative projects to life.

Already own a Shabakah v4 board?
Key Features
  • High-Performance MCU: Powered by the Espressif Systems ESP32-C3-MINI, Shabakah offers robust performance and ample documentation for ease of use.
  • Connectivity: Wi-Fi (2.4 GHz, 802.11 b/g/n) and Bluetooth 5 (Low Energy and Mesh), ensuring versatile and reliable connections.
  • Versatile Power Options: Flexibility to be powered via USB-C or an external VIN pin, with support for input voltages up to 30V.
  • Rich I/O Capabilities: Equipped with 15 GPIO pins, supporting various input/output configurations for diverse applications.
  • Enhanced User Interface: Featuring two individually addressable RGB LEDs and two user-interactive buttons.
  • Environmental Sensing: Integrated temperature and humidity sensor (SHT30) for ambient monitoring.
  • Memory: Boasts 4 MB flash memory, ensuring ample space for code and data storage.
  • Broad Software Compatibility: Supports Arduino IDE, PlatformIO, ESP-IDF, and MicroPython! Offering flexibility in development environments.
  • Innovative Design: The v4 board introduces significant layout changes from the Founders Edition v3.1, optimizing both form and function.
Shabakah v4 Quick Start Guide

Shabakah is powered by Espressif Systems ESP32-C3-MINI. It is an extremely capable microcontroller with a lot of customizability regarding pin functionalities. We highly encourage users to check out these resources to get the most out of their Shabakah board:

  • Learn more about Shabakah in the pinout diagram above, and the table found here. Don’t forget to also check out the “Block Diagram” and “Documents” tabs!
  • Arduino Language Reference – Learn about the Arduino language here
  • ESP32 Libraries – Find ESP32’s unique Arduino functions and APIs here
  • Arduino ESP32 – Great resource to learn more about ESP32 and Arduino
  • MicroPython for ESP32C3 – Prefer writing code in Python? Kickstart your journey with MicroPython on Shabakah here and unlock endless possibilities!

Shabakah Example Code

Every Shabakah board comes pre-flashed with demo code to showcase some of its features. In the demo code, the RGB LEDs will cycle through a range of colors. You can use buttons 1 and 2 to adjust the intensity of the LEDs brightness. The temperature and humidity sensor will take readings every second and send them via serial output to a connected computer. If the humidity reading exceeds the threshold defined by HUMD_THRESHOLD the LEDs on Shabakah will turn red until the humidity falls below the threshold again.

You can find the above demo code and more after adding Shabakah to the Arduino IDE, selecting it, and then navigating to “File -> Examples -> Remal IoT Shabakah v4 Examples”

You can explore numerous other examples that showcase amazing capabilities. Although these examples were not written by us, most should work directly. However, some might require adapting the code slightly to make it run correctly on your Shabakah board.

Note: after installing Shabakah from the board manager and selecting it in the Arduino IDE, you can leverage its pre-defined keywords in your projects. These keywords will automatically be substituted with the corresponding values:

					/* LEDs */
RGB_LED_1_PIN           //Shabakah built-in addressable RGB LED 1 pin number (1)
RGB_LED_2_PIN           //Shabakah built-in addressable RGB LED 2 pin number (3)

/* Buttons */
SHBK_BTN_1              //Button 1 pin number (9) - Must be pulled-up by software before use
SHBK_BTN_2              //Button 2 pin number (10) - Must be pulled-up by software before use

/* Temp/Humd sensor */
SHBK_I2C_TEMP_ADDR      //The I2C address of the SHT30 sensor (0x44)

/* UART */
TX                      //The TX pin, pin number (21)
RX                      //The RX pin, pin number (20)

/* I2C */
SCL                     //I2C clock line pin number (8)
SDA                     //I2C data line pin number (2)

/* SPI */
MOSI                    //SPI Master Out Slave In pin number (6)
MISO                    //SPI Master In Slave Out pin number (5)
SCK                     //SPI clock pin number (4)
SS                      //SPI Slave Select pin number (7)

/* Analog pins */
A0                      //Pin 0
A1                      //Pin 1
A2                      //Pin 2
A3                      //Pin 3
A4                      //Pin 4
A5                      //Pin 5

Entering Firmware Download Mode

If you experience difficulties uploading new code to Shabakah, due to different reasons or if you are utilizing pins 18 and 19 which are designated for USB functionalities, the board might become unresponsive to new code upload attempts. To resolve this, you can switch the board to “Firmware Download Mode.” Follow the steps below for this process:

Shabakah Revisions