A: First thing people notice is the hexagonal shape but that’s not the most unique characteristics in Hexabitz! There are lots of cool platforms out there but what really differentiates us from others is the multi-processor architecture. Almost all other prototyping platforms are built around the traditional computing concept of a smart controller or motherboard and a bunch of ‘dump’ peripherals or daughter boards. Hexabitz is a fully distributed and decentralized network of small processors we call the ‘wired-mesh’. These processors (each one in a module) mimic some characteristics of wireless mesh networks but in the wired world: They exchange and route messages to each other. They broadcast, multi-cast and discover their neighbors and perform many other cool tricks.
Other unique Hexabitz features that might be different from other platforms:
- Stand-alone: You don’t need an external MCU to use Hexabitz modules.
- Geometric: Our modules are designed with specific shapes and size ratios to enable building contiguous flat and 3-dimensional boards. This adds more fun and endless possibilities!
- Abstract: We designed the module to contain absolutely the minimum number of components. No connectors, wires or other excess material. This make our modules very lightweight, small and customizable for different applications. If you want connectors or other attachments, you can still add them there!
- Distributed Processing: An added benefit of the multi-processor system is that you have real parallel processing capabilities. If you design your system wisely, you can distribute your tasks on different modules and achieve higher performance than cramming them in a single large processor.
- Scalability: The wired-mesh concept is more scalable than any other board-level bus system. You can easily connect dozens of modules together without capacity or topology limitations.
- Front-end/Backend Separation: Hexabitz modules are split into a standardized backend responsible about communication and other background activities and a unique front-end that provides actual module functionality and changes from module to another. This clean separation makes the system very scalable and configurable. No matter the type of signals, ICs or manufacturers the frontend has, you only need to learn one system and use same backend and methodology to control all of them. This makes your Hexabitz code extremely modular and portable and makes swapping modules with totally different ones a breeze!
A: All kinds of makers and professionals looking to put a new spin on their prototypes! Whether you are looking for a clean and lightweight design, a scalable platform or just having fun building things, we think you will love Hexabitz if you give it a try. We are still in an experimental stage so we are not ready yet for users with zero experience in electronics but we are working hard to innovate, test and improve things. We appreciate any feedback you have for us and wish that you tag along in this awesome journey!
A: Sure. We would love to hear from you! Our resources are limited so we will not be able to fulfill all requests given our already ambitious roadmap but feel free to send us your beloved concepts.
A: Each Hexabitz module goes through six different stages from its inception to mass production:
- Concept The module functionality is laid out and major components chosen.
- Design Hardware design is complete.
- Testing Module is prototyped and being tested.
- Alpha Initial firmware and hardware are ready for a limited public release.
- Beta Expanded public release with production-ready hardware and mature firmware.
- Production Module is mass produced and firmware is stable.
A: Yes, both open source software and hardware with MIT license! Module source code (in the form of Keil uVision C project) for both our backend and alpha modules front-end is available on our Bitbucket account. Links to individual module repositories are available in each module page in the Resources tab. Hardware design files (EAGLE or Circuit Maker) are also provided for alpha modules. Circuit Maker files are available on our account here. Future modules will be available in EAGLE format and you will be able to download them from Resources tab in the module page.
A: Yes! But all Hexabitz modules -whether it’s a complex Ethernet or IMU or a simple LED- share same backend hardware and software. This what gives the platform its unmatched modularity and scalability. Cortex-M0 MCUs are small, cheap, power-efficient, yet capable of really wonderful things. Having an embedded MCU provides a cheaper and more compact alternative to connecting an LED breakout with an external controller.
A: Hexabitz are designed for the absolute soldering beginners! The edge pads are large and easy to reach and anyone with basic knowledge of soldering can assemble a flat array. Curved and spherical arrays require more training but can be made easier with 3d-printed fixtures.
A: Sure you can! It is quite easy to interface Hexabitz to any external hardware using GPIOs, UARTs and other serial ports along with our extensive Messaging/CLI backend.
A: Our innovative edge-soldering system is definitely more cleaner and reliable than loose wires, however, it is not designed to withstand high vibrations or mechanical shocks. There are other solutions for these scenarios and we are definite that working together with our community, we will get many innovative solutions for all sorts of applications.
A: We are focusing on releasing Hexabitz modules in their abstract form so that they can be tailored for different applications. We will consider in the future a plug-n-play mechanism as time and resources permit. Meanwhile, you can interconnect the modules in many different ways with all sorts of connectors and cables. Reach out to us and we will help you figure out your exact need!
A: Hexabitz is built around ARM Cortex-M0 (STM32F0) MCUs. They are cheap, small and power-efficient MCUs packing 32-bit and 48MHz performance.
A: Power-only modules don’t feature a microcontroller (MCU) but all other modules do. MCUs are critical for communication and reconfigurability. The small increase in cost and power consumption is dwarfed by huge gains in modularity, scalability and reusability. Having their own MCUs make Hexabitz modules function as standalone boards as well, reducing your overall system cost and size.
A: Yes, but with minimal impact to performance. Hexabitz arrays are mesh control networks by nature and thus, you usually only exchange control and status messages in short packets. Tightly coupling Direct Memory Access (DMA) streams with hardware communication ports in innovative ways allow for flexible and efficient data transfer across the array. In the rare cases where you need bulk data transfer between specific modules, customized communication ports will be available.
A: STM32 in one of the most popular ARM Cortex-M implementations. The STM32 MCU family offers a wide variety of options and advanced peripherals. STM32F091 is the smallest and cheapest MCU in the family with six hardware UART ports, which makes it perfect for hexagonal (and smaller shapes). Some modules might use bigger MCUs to get more hardware resources but STM32F091 is suitable for most of our modules.
A: It definitely increases overall power consumption. This is a tradeoff one has to make for modularity. Our current firmware does not support power optimization yet but you can setup the MCUs to go into low-power modes when they are not active, which reduces power consumption considerably.
A: Hexabitz source code is embedded C. All software tools we use are either free, open-source or very inexpensive. We use Keil uVision for embedded code development. There’s a free license for our MCUs! Find it on their website or contact us for help. We use Eagle and Circuit Maker for hardware design and RealTerm to access the module Command Line Interface (CLI).
A: You can use the Command Line Interface (CLI) feature of Hexabitz modules from any terminal emulator software. There are a variety of open-source and free terminal emulators for all computing platforms.
If you want to develop and debug C/C++ code for Hexabitz, our current officially-supported toolchain is Keil uVision, which is Windows-only. However, you can edit your code from any editor and recompile it using GCC on Mac or Linux. You can also use the pre-compiled firmware HEX files available in the Compiled folder in the repositories.
A: Yes! Each module repository has a Compiled folder where we keep a pre-compiled HEX firmware for each release (starting from 0.1.5). You can load this file to the module using the factory bootloader or any SWD programming utility.