Over the years there have been a variety of modular electronic systems allowing the creation of complex circuits by the interconnection of modules containing individual functions. Hexabitz, a selection of interlocking polygonal small PCBs, is just such a system. What can it bring to the table that others haven’t done already?
The problem facing designers of modular electronics is this: all devices have different requirements and interfaces. To allow connection between modules that preserves all these connections requires an ever-increasing complexity in the inter-module connectors, or the application of a little intelligence to the problem. The Hexabitz designers have opted for the latter angle, equipping each module with an STM32 microcontroller that allows it to identify both itself and its function, and to establish a mesh network with other modules in the same connected project. This also gives the system the ability to farm off computing tasks to individual modules rather than relying solely upon a single microcontroller or single-board computer.
An extremely comprehensive array of modules can be had for the system, which lends it some interesting possibilities, however, it suffers from the inherent problem of modular electronic systems, that it is less easy to incorporate non-standard functions. If they can crack a prototyping module coupled with an easy way to tell its microcontroller to identify whatever function is upon it, they might have a winner.
Sorry, I don’t want to be the naysayer, but I never see the point in these modular things. Breadboard is good for messing about or prototyping, and if you want something more permanent either use veroboard/stripboard or get a pcb made?
Also there were plenty of these modules/boardos/prototypes before and most of them are dead due to not being in Arduino/RPi form factor. Rest are dead because they never got any development beyond concept. This is yet another useless project developed just to get on the bandwagon…
https://xkcd.com/927/
I love the entire modular idea, but I don’t like how this is soldered(One of the best things about modules is connectors), and the whole mesh network idea. Using solder instead of cabling also limits how you can physically lay things out.
I2C is the de facto universal modular bus for this kind of thing it seems. Why not use that?
I’d say just use Qwiic or Grove.
Officially they don’t mention it, but I think you can safely use diect GPIO with Qwiic connectors, just use 4.7k resistors on anything that sources current so you don’t break anything if you mess up.
If you don’t want SMD or proprietary, why not just use JST-PH 4 pin with the Qwiic pinout? PH 2 pin is already somewhat of a standard for batteries and sub-5v power input.
Need interrupts? Use diodes to make UART into an open collector bus. Run it at 3.3v on Qwiic’s SDA line. Use collision detection like Ethernet(I’ve done this before).
After maintaining a product that contains 2 I2C busses over cables (Ultimaker 3). Let me tell you this. I2C over cables is a pain in the ass. It’s not intended for communication over cables and causes all kinds of problems with arbitration loss and clock loss+clock recovery required. Almost no master implementations account for this.
Then there is address allocation, which means you are lucky if you can connect more then 4 chips on the same bus. (usually 1 or 2 if it’s the same chip) as most chips have multiple addresses to which they respond, a hardware configurable one, and a general call address. Some chips just respond to a whole range of addresses as well.
Multidrop uart, better known as RS485, is pretty good. (RS485 gets a whole lot better results then just adding diodes) Would be my way to go if you need a pretty good reliable communication bus. You just need to define the protocol for address allocation and collision handling… so, you almost made a CAN bus then…
I actually did lighting control with CAN chips and my own protocol one time. I think I called it WBTV and put it on GitHub. Worked pretty well and was cheaper than real CAN and easier to manage than RS485.
What kinds of speeds are you running at with I2C? The only issues I’ve had with 3.3v signals over cables have mostly been ground loop related. And what appears to be maybe some occasional noise that gets in, but that’s application-dependant, software can accommodate that in some applications.
Butt joining two pc boards together using a solder bridge is like the worst design ever. I used to repair industrial controllers that were designed that way back in the 90’s. What a nightmare…
HaD always yabbers about I2C like it is a common ham sandwich, but I rarely see it executed in the wild in a useful manner. Honestly I like some of these modular kits. There are some modules I see that would be handy to have lying around and not have to populate a board for. The small size is a bonus as it allows retrofitting :) I think they are important to budding builders for that instant gratification, kinda like learning power chords vs all known chords on acoustic. As far as educational value, that can be argued and I find that specific to the student, but if it gets the creative juices flowing and furthers their building, then it is helpful.
You do know that every portable phone is chock full of I2C sensors, and that every display from VGA to HDMI has an I2C port? I2C is used for the control panel on most RAID controllers. “Old-fashioned” motherboards have I2C running all over the place, connecting to the memory, the voltage and temperature sensors, and the fan controller. Seeed and Sparkfun both have nifty connector schemes that work well. If you are developing software, you actually do need the hardware for development and testing, there can be no argument.
>HaD always yabbers about I2C like it is a common ham sandwich, but I rarely see it executed in the wild in a useful manner.
Nearly every embedded system has more I2C in it than any other bus. Every RAM module in a PC or laptop has multiple I2C buses for various purposes. I2C is the most popular protocol for interacting with EEPROMs and a lot of other digital components.
I’m guessing you’re in college, since you sound like I did when I graduated. I was convinced serial was obsolete, nobody used RS-232, RS-485, or GPIB anymore. I certainly never thought I’d see a Z80, 68000, or any 8-bit microprocessor at all. Why use 8-bit when 32-bit is available, one professor had told me. Modern machines built for MS-DOS? Absurd!
Actual industry experience blew my mind.
Imagine a Beowulf cluster of…. Wait… No need for imagination for that. It’s already a MCU cluster considering that each and every unit already got a 32 bit ARM microcontroller on them – even the lowly single LED board got its own ARM.
For experimenting and testing a design I think I stick to a solderless breadboard combined with a few of the usual cheap modules most of us already have a drawer or two full of.
But at least the hexabits looks cool. Maybe if the price for a complete kit for a a kit with few handfuls of modules is low enough and there’s a lot of dox and tutorials and pre-written code for the new breed of makers (especially pre-written code) it it actually could be a decently good seller with a bit of luck.
Agreed. It doesn’t seem especially efficient or practical.
Still very cool, and very creative.
They need 4 sided and 5 sided boards to allow creating 3D assemblies. Make those boards a different color and voila – soccer balls.
The pentagonal boards would also be useful for tiling a hyperbolic surface.