Skip to the content
2 layers36.4 × 60.8 mmMcu, the printed circuit board in 3D

Robotics Brick Extension

Size
36.4 × 60.8 mm
Copper layers
2
Thickness
1.6 mm
Parts
15
Nets
39
Pads
95
Tracks, vias
93, 0
Routed
Yes
KiCad
KiCad 5 (file 20171130)
Created
17 Mar 2021
Updated
17 Mar 2021

Overview

Mcu is an open-source printed circuit board by victor-chew, from the victor-chew/rbx repository on GitHub, published under the Apache-2.0 licence. It is a 2-layer board of 36.4 × 60.8 mm with 15 parts on 39 nets, routed with 93 tracks and 0 vias.

It is built around the HT7833. Its parts include 5 connectors, 3 capacitors, 2 resistors and 1 inductor. It belongs with the robots and motor control boards and the ESP32 boards of this library.

Main components

1

README

README.md

RBX

What is RBX?

RBX (Robotics Brick Extension) is a robotics kit designed for young tinkerers. It consists of a set of Lego-compatible "bricks" made with common Arduino components, such as LED, pushbutton, servo, motor etc. The brick housing are printed using a 3D printer. The RBX bricks are hooked up to a microcontroller via standardized "ports". Programming is done via a variant of Javascript on a browser-based IDE.

rbx mcu assembled rbx battery aa rbx battery 18650 rbx motor power rbx led rbx pushbutton rbx buzzer rbx photoresistor rbx oled rbx rotary switch rbx servo rbx motor rbx sonar rbx color sensor

Target audience

The target audience is 8-12 year old children who need something between the simplicity of block-based programming environment such as Lego Mindstorm, and a full-blown IDE such as Arduino or PlatformIO. Not only is Javascript the de-facto scripting language, it also eliminates the long compile-build-run cycle, which is more suited for experimentation with impatient young minds.

Making hardware accessible

One of the first obstacles for a young student trying to break into microcontroller programming is hooking up the desired circuitry on a breadboard. Anything beyond the the introductory "Hello World" LED example requires a ton of wiring, which is quite a lot to ask for a young child. When servos or motors are involved, a separate power rail is required, which makes things even more complicated.

RBX uses various JST connectors to connect to the microcontroller. These are called "ports", which maps to the microcontroller pins. The ports come in 2, 3 and 4-pin variety, and each port has a unique identifier, Other connectors are used for providing power to motors or servos. In this way, hooking up stuff becomes a plug-and-play affair. Since the connectors need to be matching and oriented correctly, this makes it less likely for modules to be hooked up the wrong way.

Microntroller

For the microcontroller, the ESP32 is chosen. It is incredibly powerful, and comes with built-in WIFI and bluetooth. The development board is also very affordable, available for only a few dollars online. It has a 2-core processor, and has enough RAM and flash storage to run a Javascript interpreter. It also has many pins available, which lets the microcontroller connect to many components simultaneously.

esp32 wroom 32d

Programming made easy

For the JavaScript interpreter, Duktape was ported to the ESP32. Duktape has very low resource and memory requirement, which makes it particularly suited for a microcontroller.

A browser-based IDE is served directly from the microcontroller, using Ace as the code editor. Once the microcontroller is powered on, the user is able to connect via a web browser and start running JavaScript code immediately. Code can be saved to the flash storage on the ESP32 and retrieved later.

rbx startup 06

Conclusion

In summary, RBX is relatively cheap to make, yet it is far more versatile than most of the pre-built electronic/robotic kits on the market. A young maker can get up to speed with the kit very quickly. As more experience is accumulated, he/she can delve into each of the "bricks" to see what makes them tick, or even make them from scratch.

On the software side, although we start with JavaScript, it is quite easy to switch to Arduino for more complex projects. At the root of RBX is an Arduino library, which is pretty straightforward to engage with directly for a more experienced Arduino programmer.

Resources

Parts

15
QtyValueFootprintReferences
4MountingHole_PadMountingHole:MountingHole_2.5mm_PadH1, H2, H3, H4
1(L)Connector_PinSocket_2.54mm:PinSocket_1x19_P2.54mm_VerticalJ4
1(R)Connector_PinSocket_2.54mm:PinSocket_1x19_P2.54mm_VerticalJ5
11000uFCapacitor_THT:CP_Radial_D4.0mm_P2.00mmC3
11uFCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC1
12.2uFCapacitor_THT:C_Disc_D3.0mm_W1.6mm_P2.50mmC2
14.7KResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR1
14.7kResistor_THT:R_Axial_DIN0204_L3.6mm_D1.6mm_P5.08mm_HorizontalR2
1ESP32-WROOM-32D (L)Connector_PinSocket_2.54mm:PinSocket_1x19_P2.54mm_VerticalJ1
1ESP32-WROOM-32D (R)Connector_PinSocket_2.54mm:PinSocket_1x19_P2.54mm_VerticalJ2
1HT7833Package_TO_SOT_THT:TO-92L1
1PWRConnector_PinSocket_2.54mm:PinSocket_1x02_P2.54mm_VerticalJ3

More from victor-chew/rbx

1
  • 2 layers36.4 × 60.8 mmConnectors, the printed circuit board in 3D

    Connectors

    victor-chew/rbx

    Robotics Brick Extension

    14 parts9Apache-2.0

Similar boards

  • 2 layers73.7 × 38.1 mmSTLinkForm, the printed circuit board in 3D

    STLinkForm

    grumat/glossy-msp430

    Glossy MSP430 - Embedded GDB Debugger for MSP430

    68 parts15GPL-2.0
  • 2 layers98.3 × 98.3 mmDrone swarm, the printed circuit board in 3D

    Drone swarm

    ManhTi3012/MiniDrone

    A mini drone based on ESP32

    83 parts4MIT
  • 4 layers340.8 × 104.6 mmNiphar, the printed circuit board in 3D

    Niphar

    mornepousse/Niphargus

    Niphargus — a slim, indestructible wireless split keyboard. ESP32 + nRF24, wired fallback, and an emergency kit hidden behind the USB port. The successor to the Rouge-Gorge.

    287 parts4MIT
  • 2 layers65.5 × 57.2 mmEspclock3, the printed circuit board in 3D

    Espclock3

    victor-chew/espclock3

    Internet-enabled Analog Clock using ESP8266 and ATtiny85

    26 parts3Apache-2.0
  • 4 layers45 × 53 mmOpenTRV ESP, the printed circuit board in 3D

    OpenTRV ESP

    mpiraux/OpenTRV-ESP

    An open-source and open-hardware thermostatic radiator valve based on the ESP32C6 and the 28BYJ-48 stepper motor.

    64 parts2CERN-OHL-P-2.0
  • 2 layers55.8 × 44.5 mmSlimeVR board Full, the printed circuit board in 3D

    SlimeVR board Full

    Skaut0071/SlimeVR_Tracker

    Cutsom PCB based on SlimeVR project for Full Body Tracking for Virtual Reality without need of expensive base stations.

    47 parts1
  • 2 layers77.2 × 30 mmSolarSense v1, the printed circuit board in 3D

    SolarSense v1

    CaioTeraoka/SolarSense_v1

    This project is an IoT device that is capable of reading the current of solar panels and send the information through the LoRaWAN communication

    40 parts
  • 2 layers70.9 × 67.4 mmNomiStar, the printed circuit board in 3D

    NomiStar

    Gregstr05/NomiStar

    Nomimatrix inspired tree star topper with programmable LED matrix.

    28 partsMIT

Questions

How big is the Mcu PCB?

It measures 36.4 × 60.8 mm and has 2 copper layers, 1.6 mm thick.

What parts does the Mcu use?

15 parts, built around the HT7833. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the Mcu KiCad files?

From the victor-chew/rbx repository on GitHub, at the commit this page was made from: the board is kicad/mcu/mcu.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.

Can I use the Mcu design in my own project?

Its repository publishes it under the Apache-2.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).