Makeblock Neuron: A Study in Modular Design - LEKULE

Breaking

24 Feb 2018

Makeblock Neuron: A Study in Modular Design

Modular design is an area of interest for design engineers who want to make devices more customizable. They're also, however, interesting for their ability to teach the basics of design, themselves. Here's a look at one such modular STEM teaching tool, the Makeblock Neuron.

I have been a fan of Makeblock for young inventors since I first wrote about the Makeblock Orion a bit over a year ago. The Makeblock engineering team appears determined to find ways to eliminate the frustrations that face new inventors and allow them to focus entirely on programming.
While at CES 2018, I was invited to tinker with Makeblock's newest offering, the Makeblock Neuron platform. Here's a rundown of my findings on what it offers and what makes it tick.

About the Makeblock Neuron

The MakeBlock Neuron platform consists of a large assortment of magnetically attached blocks that electrically connect through spring-loaded pogo pins on the left- and right-hand side of the blocks. The blocks are built with footprints that are either 24mm x 24mm square, 48mm x 48mm square, or 24mm x 48mm rectangles.

Makeblock Neuron pieces. Image used courtesy of Makeblock.

There are modules that provide power, as well as wireless communication, control interfaces, and various methods of input and output, as follows:
Wireless communication:
  • Bluetooth
  • Wi-Fi
  • Short-range wireless transmitter and receiver
Control interfaces:
  • Buttons
  • Knobs
  • Joysticks 
  • Capacitive touch
  • Voice recognition
Input methods:
  • Color sensor
  • Ultrasonic distance
  • Gyroscope
  • Light intensity
  • Sound intensity
  • Temperature
  • Humidity
  • Soil moisture
  • PIR
  • Camera)
Output methods:
  • Dual DC motor drive
  • Dual servo driver
  • RGB LED
  • LED matrix
  • Electroluminescent wire
  • Speaker
  • Buzzer
  • Display


Makeblock Neuron gyroscope, power block, and RGB matrix. Image courtesy of Makeblock.

What's Inside Each Module

The modules I was provided are controlled with the Nuvoton MINI58ZDE Microcontroller. It is an ARM Cortex-M0 microcontroller with ADC, PWM, and supports common serial interfaces such as UART, I²C, and SPI.

The NuMicro Mini 58 Series Block Diagram courtesy nuvoton.com

This $0.70 microcontroller is inexpensive enough to be included in each module and can interface with whatever sensor or input/output device that module is designed for.


An example of the size and shape of the modular pogo-pin connection. Image courtesy Makeblock’s Kickstarter page.

Basic Functions

Each module has a four-pin entrance on the left and a four-pin exit on the right and is held firmly against neighboring modules with magnets. Two of the four connector pins are reserved for GND and +5VDC. A third pin supports UART data that travels to modules connected to the right side of the device. The notched and gendered connectors ensure that the transmitting pin of one module matches up with the receiving pin of another. The fourth pin transmits UART data in the opposite direction of the first and is only used when certain modules are connected (for example, when the Bluetooth module is connected, all modules to the right of it will transmit identifying information to the left until it reaches the Bluetooth module).

Power is supplied to all connected modules by either a USB interface or a battery module.
Each input module uses its sensor or control to create asynchronous serial data and transmit it to a neighboring module via the module’s Tx pin. The data is received on an Rx pin and then processed by the microcontroller. If the next module is another input block, the old data is appended with new data and then transmitted to subsequent modules.


Image shows data from two Makeblock modules, the “Funny Touch” on the top line and the “Gyro” on the bottom line. No attempt has been made by the author to determine the accuracy or meaning of the decoded data.

Eventually, the data reaches an output module. When it does, the microcontroller parses it for relevancy and performs an appropriate action and then passes the information on to the next module in line.

At this basic level of function, any module in the Makeblock Neuron ecosystem can communicate with every other module. Data collisions will never occur because there is no common bus.

Malfunctioning modules can be quickly identified because data will not transmit beyond them and then they can be eliminated or replaced. And all of this is done with two power connections and two signal connections. Data is added or retrieved from the system based on the module’s intended purpose.

Makeblock Neuron Programming

The Makeblock Neuron also comes with a flow-based programming app that detects which modules are connected and allows users to create conditional programs by dragging to add wires. It has basic digital logic, basic and advanced mathematics and comparison features, as well as a variety of timing functions and screen-based controls.

Screen capture of Makeblock Neuron's iOS app.

Conclusion

As a person who often finds $100 solutions to $20 problems, the universality and simplicity of this design fascinate me. Arduino’s simplicity made computer programming accessible, even to high-school and middle-school children. Makeblock Neuron’s simplicity can bring basic programming into the reach of elementary-school students.

Microcontrollers grow cheaper and more versatile every day. How many of your circuit board and control panel designs can be inexpensively improved by adding a simple UART communication protocol to them?

No comments: