Whenever you are thinking of quick IoT (Internet of Things) hardware prototyping / development, just grab Hibiscus Sense and focus on programming 😎
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.
- 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 andADC2
pins. Note: Avoid using ADC2 pins, when using Wi-Fi, consider using the ADC1 pins instead. - ESP32's
VSPI
is complete MISOGPIO19
, MOSIGPIO32
, CLKGPIO18
and CSGPIO5
. - ESP32's
I2C
SDAGPIO21
and SCLGPIO22
, without pullup resistor. - Sensors: APDS9960, BME280 and MPU6050 interfaced to the ESP32's
I2C
, respective I2C address:0x39
,0x77
and0x68
. - 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).
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.
- Hands-On Learning Preparation
- Exercise 01: Control Blue LED on GPIO2 (Strobe Light Effect)
- Exercise 02: Control Blue LED on GPIO2 (Glowing Light Effect)
- Exercise 03: Control Blue LED on GPIO2 (Breathing Light Effect)
- Exercise 04: Control Small Buzzer on GPIO13
- Exercise 05: Serial Communication (Hibiscus Sense & Computer)
- Exercise 06: Monitor Pushbutton Status on GPIP0 (LED ON/OFF)
- Exercise 07: Control RGB LED on GPIO16
- Exercise 08: Monitor Proximity Value from APDS9960
- Exercise 09: Monitor Hand Gesture Direction using APDS9960
- Exercise 10: Monitor Environmental Value using BME280
- Exercise 11: Monitor 6-Axis Motion Tracking using MPU6050
- Exercise 12: IoT Application using Blynk IoT Platform
- Exercise 13: IoT Application using Favoriot IoT Platform (Secure HTTP Protocol)
- Exercise 14: IoT Application using Favoriot IoT Platform (Secure MQTT Protocol)
- Exercise 15: IoT Application using Favoriot IoT Platform (CoAP Protocol)
- 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