As you may recall, way back in the mists of time when I was bright-eyed and bushy-tailed (not the broken man you see before you now), I created a 12 x 12 array of ping pong balls, each of which was equipped with a WS2812 tricolor LED.
Over time, I’ve used this little rascal to implement all sorts of different effects, from virtual drips (see Virtual Drips Meet Core Wars) to Conway’s Game of Life (see Magnetic Connectors, Printable Transistors, and Bacon-Wrapped Appetizers).
When I first created this little scamp, I decided to use a XIAO microcontroller development board to drive the beast (see Say Hello to the Seeeduino XIAO). This bodacious beauty, which was kindly gifted to me by the guys and gals at Seeed, quickly became my go-to processor for all sorts of projects because of its small footprint (it’s the size of a regular postage stamp), low cost (it’s only around $5), and impressive capabilities (this 14-pin board is powered by a 32-bit Arm Cortex-M0+ processor running at 48MHz with 256KB of Flash memory and 32KB of SRAM).
To be honest, even I’m amazed by all of the cool things I’ve ended up doing with my ping pong ball array. In one experiment, for example, I augmented the XIAO with a 9DOF (nine degrees of freedom) Fusion breakout board (BOB) from Adafruit. This BOB features a BNO055 micro-electromechanical system (MEMS) sensor from Bosch, where this sensor flaunts a 3-axis accelerometer, a 3-axis gyroscope, a 3-axis magnetometer, and a 32-bit Arm Cortex-M0+ microcontroller providing sensor fusion, all in a 3.8 x 5.2 x 1.1 mm package.
The BNO055 communicates with the XIAO via a 2-wire I2C bus. As I described in my blog, Tension Mounts as Sensor Smackdown Looms, starting off with the ping pong ball array held horizontally, I used the BNO055 to detect my tilting the array, while the XIAO took this information and employed it to cause a “ball” to “roll” around the array.
I have to say that I was very happy with the result. On the other hand, I also have to say that it’s a bit of a pain having the sensor presented on a different BOB to the microcontroller. “If only these two functions could be combined on the same small BOB,” I thought…
Well, you can only imagine my surprise and delight when Shi Bing from Seeed contacted me a couple of days ago to tell me that this is just what they’ve done. Costing only around $15, the XIAO BLE Sense features a Nordic nRF52840, 32-bit ARM Cortex-M4 processor with floating-point unit (FPU) running at 64MHz with 2MB of Flash memory and 256KB of RAM.
In addition to including a Bluetooth antenna and supporting Bluetooth Low Energy (BLE) wireless communications, the XIAO BLE Sense BOB also includes an onboard microphone and an onboard 6DOF inertial measurement unit (IMU), which itself includes a 3-axis accelerometer and 3-axis gyroscope.
And, on the off chance that all you want for a particular project is a lot of processing power, coupled with Bluetooth communications capability, presented in a small package, but you don’t need a microphone or an IMU, then the XIAO BLE is the BOB for you. Based on the same processor as the XIAO BLE Sense, this little beauty costs only around $10.
As a student in the mid-1970s, a single board computer (SBC) with an 8-bit processor, 2 KB of ROM, and 1 KB of RAM was way beyond the purchasing power of my purse. At that time, development boards like the XIAO, XIAO BLE, and XIAO BLE Sense would have been beyond my wildest dreams. Actually, in those days of yore, they would have been beyond anyone’s wildest dreams.
Even now, with all of the amazing technologies that surround us, I’m still bouncing off the walls in excitement. What say you? Are you as impressed as am I by the XIAO family?