Introduction: (CRC)bit , Open Microbit-like Badge
We have used the microbit badge about 1 year ago to teach robotics. It is an excellent tool for education.
One of its most valuable features is that it is hand held. And this flexibility makes it have a great insight into the educational community.
Four months ago we started designing a model for makers. Thinking that if it is successful it can become an open product for teachers.
What characteristics we want to add to the badge:
- ESP32 processor (Arduino compatible)
- IMU 6-axis
- Matrix of Neopixels RGB, 8 x 5
- Audio speaker via DAC
- Two push buttons
- GPIO expansion port (5V tolerant)
Throughout this instructable we will explain the steps to build it.
Step 1: Schematic Design
We attach the schematic of the first version of crcbit. We had to do various tests on the protoboard to adjust the components.
In the scheme, we can appreciate the heart of the board that is an ESP32. We also see the 6-axis IMU, a small speaker amplifier circuit and two bidirectional logic level converter boards.
Finally, there is the entire Neopixels management circuit, which has 6 strips of neopixels of 8 LEDs each. Together with a 3V3 volt power circuit that has a MOSFET for connection and disconnection through a software controlled GPIO.
For the power supply, we have chosen a JST connector that is stronger than the micro USB connector, if it is moving.
Step 2: Power System
As the board has 40 neopixels, an ESP32, and a speaker; Amp consumption is very high.
In the case of turning on the 40 neopixels to the maximum brightness, we would be close to 1.5 amps.
We decided to power the board at 5V. It is easy to use any power bank. The 5Vs are used to power the ESP32, which already has a 3V3 regulator. It also allows making 5V tolerant signals, thanks to the bi-directional level shifter.
For the neopixels we use a power cut-off and step-down circuit at 3V3. Thus we reduce consumption to 250 milliamps and we can control the power of neopixels by software.
Step 3: What Do We Need
Let's prepare some stuff first.
In all cases, we have looked for components that are easy to weld and easy to buy at local electronics stores.
Even so, some components are not easy to find and it is better patiently to order them in the Chinese market.
The list of necessary components is:
- 1 x ESP32 mini format
- 2 x bidirectional logic level converters
- 1 x 6-axis IMU
- 1 x speaker
- 1 x power MOSFET
- 1 x 3V3 voltage drop
- 2 x push buttons
- 1 x LDR
- 6 x strips of 8 Neopixels
... and some typical discrete components
Step 4: Hack in Neopixels Strips to Facilitate Soldering (I)
The hardest part to assemble and solder is the Neopixels strips.
For this we have created a 3D printed tool that keeps the 5 strips of neopixels in the correct position. In this way, they are correctly aligned.
At the same time, the tool allows us to weld small metal strips to facilitate soldering since the strips are inverted.
It is recommended to practice before since this process is difficult.
Step 5: Hackin Neopixels Strips to Facilitate Soldering (II)
We attach the files in STL format so we can print the fixing tool.
No special configuration is required to print the parts in 3D. They are easy to print but very useful.
Step 6: Custom PCB
Due to the number of components and their size, we migrate from the prototype in a universal PCB, to create a custom PCB.
We have uploaded the design of the PCB to PCBWay to share it with the community, and those makers who want to assemble one.
We also attach the Gerber files for greater flexibility.
Step 7: Hardware Connection (Custom PCB)
If we have the custom PCB, the rest of the components are easily soldered since they all come with 2.54mm pin strips.
The attached images have a good resolution to see the position of the components.
Step 8: Software & Firmware
The board does not require any specific software since it works directly with the Arduino IDE. We just have to configure the Arduino IDE to work with ESP32, a good tutorial to follow step by step is:
And for the peripherals to work we must add these Arduino libraries:
The first test we have done to see that everything works correctly is the pixel microbit heart.
Step 9: Have Fun !
Step 10: Next ...
It's an open project.
So far (CRC)bit is still simple and crude. We believe that it will grow up better and better with the help of the community.
And this is why people like open source and the community.
If you get a better idea, or you had made some improvement please share it!
Participated in the
First Time Author Contest