The BC24 - ESP32 based 24 RGBW Pixels with Grove Connectors
The BC24 is an amazing display. With 24 programmable Pixel RGBW LEDs and a very fast processor you can create very interesting displays. You can add more Pixel strings, other displays and many sensors using the Grove connectors. The processor on the BC24 is an ESP32 which is an awesome processor. It has 2 cores in the CPU, lots of memory and has really interesting stuff built in like capacitive touch sensors, a Digital to Analog Converter (think Music out from your BC24!), lots of GPIO (General Purpose Input Output) for your projects and a robust I2C bus for connecting to your sensors.
The RGBW (Red Green Blue White) Pixels are completely programmable (millions of colors) and includes a bright white LED to give you pure warm white. These programmable pixels are 100% compatible with NeoPixels.
Version 0600-50418-01: Grove Connector J5 is mislabelled. J5 should be labeled D15/A5 (NOT D21/D4)
Connect to your other DIY Projects
You can easily connect to other devices with the BC24. For example, you can connect to OurWeather (Complete Weather Station Kit) by using the REST interface included with the OurWeather product. The ESP32 has a full WiFi network interface that you can use to connect to virtually anything that has an interface!
The Grove connectors allow you to easily and safely connect hundreds of sensors (and more Pixel strips if you want!) with no soldering. And you CAN'T plug them in backwards. Fewer boards in the Box of Death.
ESP32 / Demo Software Documentation (READ THIS FIRST!!!!!)
BC24 Specification (New Version 7/23/2018)
BC24 GetIP Wireless Provisioning
Articles about the BC24
Tutorial: ESP32 / BC24 and LSM303 Compass – Accelerometer
New Kickstarter – The BC24 – ESP32 Based Big Circle 24
Tutorial: Provisioning your ESP32 for WiFi. 3 Different Ways.
Grove Pixel RGBW Stick Drivers Released
ESP32 Tutorial: Debouncing a Button Press using Interrupts
New Product – Grove 8 Pixel RGBW Stick
Installing ESP32 / BC24 Support on the Arduino IDE
(Note: If you have installed the SDK before, go into your Arduino Directory -> hardware/ and delete espressif )
1) Open up the Arduino IDE
2) Open Up Preferences, hit the box to the right of "Additional Board Manager URLs"
3) Cut and paste the following into the box
4) Hit OK on the box and OK on the preferences box.
5) Close Arduino and Restart the Arduino IDE
6) Go to: Tools->Boards->Board Manager
7) search on ESP32
8) Click on Install
9) Close and Restart the Arduino IDE again
10) Go to tools->Boards and select "ESP32 Adafruit Feather"
What is on the BC24?
The BC24 is a novel use of programmable Pixel LEDs (RGBW programmable) in a perfect 24 segment circle combined with an powerful, highly connected on board computer (WiFi, Bluetooth, Bluetooth Low Power) called the ESP32.
Features of the ESP32 include the following:
- CPU: Xtensa dual-core (or single-core) 32-bit LX6 microprocessor, operating at 160 or 240 MHz and performing at up to 600 DMIPS
- Ultra low power (ULP) co-processor
- 520 KiB SRAM
- Wi-Fi: 802.11 b/g/n
- Bluetooth: v4.2 BR/EDR and BLE
- 12-bit SAR ADC up to 18 channels
- 2 × 8-bit DACs
- 10 × touch sensors (capacitive sensing GPIOs)
- Temperature sensor
- 4 × SPI
- 2 × I²S interfaces
- 2 × I²C interfaces
- 3 × UART
- SD/SDIO/CE-ATA/MMC/eMMC host controller
- SDIO/SPI slave controller
- Ethernet MAC interface with dedicated DMA and IEEE 1588 Precision Time Protocol support
- CAN bus 2.0
- Infrared remote controller (TX/RX, up to 8 channels)
- Motor PWM
- LED PWM (up to 16 channels)
- Hall effect sensor
- Ultra low power analog pre-amplifier
- IEEE 802.11 standard security features all supported, including WFA, WPA/WPA2 and WAPI
- Secure boot
- Flash encryption
- 1024-bit OTP, up to 768-bit for customers
Cryptographic hardware acceleration:
- AES, SHA-2, RSA, elliptic curve cryptography (ECC), random number generator (RNG)
Especially Interesting features of the ESP32 (look at Power Down Mode)
- Two Independent Core Processors
- Supports Promiscuous mode, Station, SoftAP and Wi-Fi direct mode
- Max data rate of 150 Mbps@11n HT40, 72 Mbps@11n HT20, 54 Mbps@11g, and 11 Mbps@11b
- Maximum transmit power of 19.5 dBm@11b, 16.5 dBm@11g, 15.5 dBm@11n
- Minimum receiver sensitivity of -97 dBm
- 135 Mbps UDP sustained throughput
- 5 μA power consumption in Deep-sleep
There are three Grove I2C connectors on the BC24. These are 3.3V I2C Grove connectors. More about Grove Connectors on www.switchdoc.com. Note that you can plug these into a Raspberry Pi. If you do, make sure that the on board ESP32 is not also accessing the I2C Bus. The BC24 or the Raspberry Pi will need to be the slave. There are numerous programs available on the net for both of these devices. SCL and SDA both have 10KOhm Pullups to 3.3V.
Build a Air Quality Detector
Turning the BC24 into a Indoor Air Quality Sensor is simple. We use an Analog Grove Air Quality Sensor and plug it in. Then a bit of software magic and you have a new device! This is an amazingly sensitive sensor. See our article here on this sensor.
Build a Solar Powered Display
You can easily convert the BC24 into a solar powered system by using the SwitchDoc Labs SunControl Solar Power Controller and Data Gathering board along with a LiPo battery and solar panels. Just plug them together using Grove cables. How is that for a fancy night light in your yard!
Build a Weather Station
With the powerful ESP32 processor on the BC24, you can easily build a full weather station using the BC24. See our Reward for just that. Includes Anemometer, Wind Vane, Rain Bucket, Indoor temperature and humidity, outdoor temperature and humidity and a sunlight and UV sensor.
Connect The BC24 to Amazon Alexa
SwitchDoc Labs has connected a variety of their products to the Amazon Alexa system. You can learn how to connect the Raspberry Pi to Alexa here.
SwitchDoc is building the software for the BC24 to connect it up to Alexa. For what? We don't know yet. But we will have fun figuring it out.