After watching this video and reading the tutorial by Tony DiCola, I wondered if it would be possible to use a micro:bit as bluetooth bridge between my smartphone and the Circuit Playground. After all, the micro:bit has BLE and support for the serial protocol. Looking at the code that Tony provided however made it clear quickly enough that it would not be a simple cut-and-paste action. The code looked very complex and very much specific for the combination Circuit Playground <-> Bluefruit LE module. So I started looking for other code that would do the same, but was easier for me to understand.
The most basic example of serial communication via the TX/RX pins comes from Adruino themselves using SoftwareSerial. I loaded that example on the Circuit Playground. For the micro:bit I used the https://pxt.microbit.org/ editor which (in the advanced tab) has support for the serial interface of the micro:bit to create a simple script that should receive and display any data received and would send data on the press of a button. Test #1 nothing happened…
I will skip through an hour or 2 testing and trying without success until I ended up with 2 Arduino Leonardo boards connected via their hardware serial gpio ports (0 and 1). Yes, I crossed the wires so that one TX was connected to the other RX and vise versa. And it still did not work. Until I decided to not change the program code (which uses gpio 10 and 11) but instead move the wires. And suddenly it worked, serial connection was possible via SoftwareSerial, but nut while using pin 0 and 1. The image above shows the setup.
After this initial success (finally!), I replaced one Arduino with the micro:bit. The code for the micro:bit look simple enough (see above). I uploaded all code to a bitbucket repository. If you look at the micro:bit code in the repository, it will display as hex code, just save the raw file, rename it from .txt to .hex if needed and import it into the online editor at https://pxt.microbit.org/ (using “Projects > Import File”).
Note: I did not use a voltage divider or a logic shifter for the signal going from the Arduino to the micro:bit. I did not check the voltage tolerance of the micro:bit, but I expect that the Arduino outputs a 5V signal while the micro:bit only expects a 3.3V signal. Hooking up the micro:bit and the Circuit Playground, both using 3.3V should not be a problem.
Circuit Playground Classic: Would you like to learn electronics, with an all-in-one board that has sensors and LEDs built in? Circuit Playground is here – and it’s the best way to practice programming on real hardware with no soldering or sewing required! Read more.
Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards
Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.
Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.