Skip to content

Hibiscus Sense ESP32 Arduino tutorial and example sketches. The journey begins from basic of embedded system to Internet of Things applications.

License

Notifications You must be signed in to change notification settings

myduino/Hibiscus-Sense-Arduino

Repository files navigation

Hibiscus Sense ESP32 Arduino Tutorial (English)

Whenever you are thinking of quick IoT (Internet of Things) hardware prototyping / development, just grab Hibiscus Sense and focus on programming 😎

Introduction

Hibiscus Sense is a versatile Internet of Things (IoT) development board, powered by the mighty and popular dual-core ESP32 microcontroller. It comes equipped with an array of sensors and basic actuators as listed below:

  • 3 sensors:
    • APDS9960: an environment sensor, which sense proximity, RGB and gesture.
    • BME280: an environment sensor, which sense the altitude, barometric pressure, humidity and temperature.
    • MPU6050: 6-axis motion tracking sensor, which sense 3-axis gravitational acceleration, 3-axis rotational velocity and temperature.
  • 3 actuators:
    • Buzzer: short distance small buzzer.
    • LED: blue LED.
    • RGB LED: WS2812 RGB LED.

Hibiscus Sense comes with USB Type-C to power up the board and to program the ESP32. The on-board USB-to-Serial converter (Silicon Labs CP2104) with automatic bootloader reset circuit, eliminating the need to press the RESET button each time you upload a program.

Although, we can program ESP32 using other programming language such as Micropython, Rust, or even with RTOS (Real Time Operating System) FreeRTOS, in this tutorial we will be using simplified C, C++ language on Arduino as the learning and prototyping platform.

Hibiscus Sense Features

Hibiscus Sense Pinout Diagram

  • Blue LED is connected to ESP32's GPIO2.
  • Small Buzzer is connected to ESP32's GPIO13.
  • WS2812 RGB LED is connected to ESP32's GPIO16.
  • All GPIOs can be configured as digital output, PWM output or digital input, except GPIO34, GPIO35, GPIO36, GPIO39 cannot be configured as output. These digital GPIOs can be configured with internal pull-up or pull-down.
  • Has two 12-bit ADCs with selectable ranges of 0-1V, 0-1.4V, 0-2V, or 0-4V, on 15 channels (analog-enabled pins) seperated as ADC1 pins and ADC2 pins. Note: Avoid using ADC2 pins, when using Wi-Fi, consider using the ADC1 pins instead.
  • ESP32's VSPI is complete MISO GPIO19, MOSI GPIO32, CLK GPIO18 and CS GPIO5.
  • ESP32's I2C SDA GPIO21 and SCL GPIO22, without pullup resistor.
  • Sensors: APDS9960, BME280 and MPU6050 interfaced to the ESP32's I2C, respective I2C address: 0x39, 0x77 and 0x68.
  • Each GPIO absolute maximum current drawn only 40mA.
  • Board measurement including header in mm: 58.7 x 27 x 13.3 (length x width x height).
  • Package measurement in mm: 71.8 x 35.5 x 20.4 (length x width x height).

Learn How to Program Hibiscus Sense using Arduino

Important Notice: The example sketch in this exercise, is based on the latest Arduino ESP32 Core version 3.0.x. So, if you are experience user in Arduino ESP32, please update the core to the latest version, before you can use the following example sketch. You can get more information from the Arduino ESP32 v2.x to v3.x Migration Guide

You can clone or download this repo into your PC and open the exercise example sketch on the Arduino IDE. It is always recommended to begin with the hands-on learning preparation.

Below is the Table of Contents of the exercises.

Exercises Image Credits

  • Isaac Low on Quora
  • Ben Ot on Wikimedia
  • Explore Embedded
  • DeStress Monday on Giphy
  • Mouser
  • Arduino Getting Started
  • Cable Depot
  • Analog Devices
  • Circuit Digest
  • Matthew L. Beckler
  • Anonymous on ColorOS

About

Hibiscus Sense ESP32 Arduino tutorial and example sketches. The journey begins from basic of embedded system to Internet of Things applications.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published