Concept in a Nutshell
Hexabitz is a novel modular electronic prototyping system. Each module or bit comes in a specific shape or size. Either hexagon (hence the name Hexabitz), pentagon, rectangle, square or triangle. Modules are soldered together horizontally to make larger electronic boards or arrays. You can easily combine modules in any shape or configuration you want. The resulting board will be close to custom-made ones in terms of size, weight and form-factor.
Each Hexabitz module has a specific functionality and a small MCU on the back side. MCUs are used to connect modules together in a wired-mesh network and to execute various programs in parallel. Think "smart PCBs" where the small increase in cost and power consumption is dwarfed by huge gains in flexibility, scalability and reusability.
What's Different About Hexabitz?
Here's a run-down of the most differentiating characteristics of Hexabitz:
- Form-Factor: Hexabitz nature-inspired form-factor emphasizes horizontal integration since it is the default mode of construction for custom-made PCBAs and electronics. This makes Hexabitz prototypes more real-life ready than many other platforms.
- Dust Computing: Hexabitz does not follow the traditional model of a single motherboard (controller) and 'dump' daughter boards that has been around since the advent of micro-computing. We believe computing is cheap and small enough these days that it should be embedded in each PCB. All our modules -except the very simple power sources- feature a small and low-power Cortex-M0 MCU. Future high-performance implementations will probably feature FPGAs and other logic blocks.
- The Wired-Mesh: Standard electrical buses impose topology and capacity limitations that destroy modularity. Hexabitz is based, instead, on a wired-mesh, decentralized network concept. Pioneered by wireless sensor networks, mesh connectivity provides ultimate modularity and a more scalable system. Coupled with Hexabitz nature-inspired form-factor, the wired-mesh enabled us to put a much larger number of modules together (> 5 times more than other platforms) and still keep a small footprint.
- Distributed System: A side benefit of 2 and 3 is that you get a truly parallel and distributed system. Hexabitz application development is a little bit different than standard embedded systems: you emphasize connectivity and think about your application more holistically, breaking into separate chunks that run in-parallel on separate modules.
- Stand-Alone: Since all configurable Hexabitz modules come with their own MCU, they act as stand-alone development boards that can be used without any external controllers. You can access module functionality by using the Command Line Interface (CLI) and directly connecting to a PC or triggering actions with external buttons / switches. Eliminating the need for external controllers can reduce overall system size and cost in many applications.
- Automation-Ready: The current hardware implementation of Hexabitz is the most abstract one, geared more toward production than a plug-n-play system. On top of this implementation, one can introduce multiple layers of add-ons that customize the platform for different applications (connectors, magnets, attachments, stress-relief mechanisms, etc.) One of the benefits of the abstract implementation is that arrays can be assembled automatically by pick-n-place machines and soldered by robots, providing opportunities for future automated prototyping factories or even a desktop-size prototyping machine.
Where to Start?
Read the following logs for a primer on Hexabitz hardware and software architecture. Check the gallery of photos and videos on Hackaday and on our website. Also check the FAQ section and learn about the inspiration behind Hexabitz and our future plans. Our modules are listed here and some alpha modules are available on Tindie. Don't forget to check the demo projects we post here every now and then. Finally, please join our mailing list and follow us on Twitter to stay in the know!
Articles
- Hexabitz modules | link
- Overview of Hexabitz hardware architecture | link
- Overview of Hexabitz software architecture | link
- My Search for Modular Electronics | Hexabitz at the 25th HDDG meetup I video
- Learn about the reason we exist and what's our take on modular electronics | link
- Module naming (part numbers) convention | link
- Learn about Factsheets a.k.a. documentation | link
Code Overview
This series takes you into in-depth overview of Hexabitz code.
- Array Messaging | link
- EEPROM Emulation | link
- Buttons/Switches | link
- Data Logs | link
- Project Structure | link
- Remote Memory Access | link
- Real-time Clock and Calendar | link
- Array Exploration | link
How-To
A series of articles for useful hardware and software how-to guides.
- Update module firmware | link
- Remote bootloader update | link
- Use the command line interface (CLI) | link
- Power your modules | link
- Debug module C code | link
- Make a pre-built array topology file | link
Alpha Modules
- RGB LED Module (H01R00)
- 3.3V / 1A DC-DC Buck Power Module (H03R00)
- 120/240VAC-1.2A Solid State Relay Module (H0FR60)
- Micro-SD Memory Card Module (H1BR60)
- CR2032 Coin-cell Battery Holder Modules (H04R10 / H04R20)
Software Development Tools
Most development tools used in Hexabitz are free and/or open-source to make it easily accessible by everyone. Here’s a list of tools that might be useful:
- uVision: uVision is the industry-standard embedded software development tool for ARM devices. It is usually a pretty expensive tool and you are only allowed 32KB code size in the evaluation version. We are lucky, however, that ST and Keil (uVision developer, a subsidiary of ARM) decided to provide a free license for STM32F0 MCUs! (the ones used in Hexabitz mainstream implementation.) Click on the link in the top right corner in this page to claim your free license.
- RealTerm: RealTerm is a handy (and free) serial and TCP terminal software that can be used to access Hexabitz CLI.
- FLASHER-STM32: The STM32 Flash loader demonstrator is a free software PC utility from ST, which runs on PCs and communicates through the RS232 (serial port) with STM32 system memory bootloader (ST factory bootloader). It can be used to program Hexabitz modules as explained here.
- STM32 ST-LINK Utility: The ST-LINK utility is a free, full-featured software interface for programming STM32 MCUs via ST-LINK programmer connected to JTAG/SWD ports. It can be used to program Hexabitz modules as explained here.