Close

Making Modular Electronics Transcript

A event log for Making Modular Hardware

Asaad Kaadan will join the Hack Chat to discuss building modular electronics!

stephen-tranovichStephen Tranovich 07/27/2018 at 20:070 Comments

tanel12:04 PM
Hi! Greetings from Estonia!

murray12:04 PM
And from Africa

Stephen Tranovich12:04 PM
Hello @tanel !

Stephen Tranovich12:04 PM
Hello @murray !

Stephen Tranovich12:04 PM
A big welcome from San Francisco!

Semir Tursunovic12:04 PM
and from Bosnia !

Stephen Tranovich12:05 PM
Epic locations abound!

Asaad Kaadan12:05 PM
Seattle :)

Stephen Tranovich12:05 PM
:)

Stephen Tranovich12:05 PM
Okay, let's get started with this international conversation!

Asaad Kaadan12:06 PM
Amazing how hardware connects people all over the world

Stephen Tranovich12:06 PM
Everyone, throw your questions into here for Asaad to answer! https://hackaday.io/event/159924-making-modular-hardware

Stephen Tranovich12:06 PM
It really is amazing!

Stephen Tranovich12:07 PM
Okay, to get started, @Asaad Kaadan , can you introduce yourself and tell us a little about your background?

sfrias112:07 PM
Hi all

Asaad Kaadan12:07 PM
sure! thanks for inviting me and welcome everyone!

Asaad Kaadan12:08 PM
I'm embedded/robotics engineer currently in Seattle. My day job is with Freefly Systems building drones / robots for the movie industry

sfrias112:08 PM
Hi @Boian Mitov . :-)

Asaad Kaadan12:08 PM
I have a passion for modular electronics which is my weekend and night shift with Hexabitz

Laura joined  the room.12:09 PM

Asaad Kaadan12:09 PM
It started when I was working on my phd at the Univ. of Oklahoma

Boian Mitov12:09 PM
Hi @sfrias1 :-)

sfrias112:10 PM
Awesome chat with Asaad.

Asaad Kaadan12:12 PM
Thanks @sfrias1 and welcome to the chat!

Stephen Tranovich12:12 PM
And can you tell us about Hexabitz? What it is, how it started, and where it is today?

Asaad Kaadan12:13 PM
Hexabitz started first as a way to mimic natural shapes to get the most abstract modular electronics design.

Asaad Kaadan12:13 PM
I was fascinated by how nature uses modularity to build complex flat and curved shapes

Asaad Kaadan12:14 PM
Tracing that into basic mathematics of hexagons, pentagons and triangles etc

Asaad Kaadan12:14 PM
My phd project was about building a pixelated optical communication device that was following these concepts

Asaad Kaadan12:15 PM
Later however I went back to my love for electronics and decided to explore same concept for a modular electronics system!

SimonAllen12:15 PM
Have I missed it?

Asaad Kaadan12:15 PM
We started with few module designs and gradually built more hardware and firmware

Asaad Kaadan12:16 PM
We just launched our online store on our website few weeks ago... It's VERY work in progress but finally we have about 14 different modules ready to see the outside world!

Asaad Kaadan12:17 PM

https://hexabitz.com/modules/

HEXABITZ

Modules - Hexabitz

3.3V / 1A DC-DC Buck Power Supply With Terminal Block Input

Read this on Hexabitz

Asaad Kaadan12:17 PM
There are more planned and lots of work on both hardware and firmware side. So I say it's taking shape slowly!

veerendra4560 joined  the room.12:18 PM

Asaad Kaadan12:18 PM
I haven't had chance to build lots of demo projects yet. Trying to balance hardware / firmware dev, documentation, examples, etc

Stephen Tranovich12:18 PM
Congrats on releasing those first modules!

Asaad Kaadan12:18 PM
But we're excited to share with the community and start getting feedback and seeing modules in the wild!

Stephen Tranovich12:19 PM
Let's jump into the community questions now! If any of you have a question, throw it into the discussion section here: https://hackaday.io/event/159924-making-modular-hardware

Stephen Tranovich12:20 PM
Since we're already on the topic of your newly released modules, let's jump in with this question: How did you choose which modules of your modular prototyping platform to develop first?

Asaad Kaadan12:20 PM
Thanks! Definitely still a lot of work to be done but we're progressing

Asaad Kaadan12:21 PM
I started by surveying about 40-50 projects and finding out the most used functionality there

Asaad Kaadan12:21 PM
I made a list and started going through them from the most used ones

Asaad Kaadan12:22 PM
As you expect most projects for example share RGB LEDs, relays, wireless modules, etc

Asaad Kaadan12:22 PM
I tried to stick with the schedule but naturally some modules got ahead of each other!

Asaad Kaadan12:23 PM
Still our first batch would enable many different projects and we're adding more. People always send u useful module suggestions and it's really difficult to choose which ones to invest time and money with!

Stephen Tranovich12:25 PM
I can see that! Choosing which features are critical is the challenge in most hardware products and dev platforms.

Stephen Tranovich12:25 PM
Our next question is from @murray with regards to the relay hub project video at the bottom of the event details: From the video it looks like the configuration is "found" once and after that the routing is static, is that the case? And is the system communicating in a active redundant way, ie along more than one path at a time?

Asaad Kaadan12:25 PM
But we have ambitious plan to build a large number of modules byond just the most common ones

Stephen Tranovich12:26 PM
Video for reference:

Asaad Kaadan12:26 PM
Good Q @murray! Yes right now the array configuration is static. But you can erase it, change the array shape and discover the configuration again

Asaad Kaadan12:27 PM
WHat we would like to do in the future is to learn more from wireless mesh networks and make topology discovery a dynamic real-time process. It will also help in detecting malfunctioning modules

Asaad Kaadan12:28 PM
As for routing, right now it's using shortest path routing via Dijikstar's algorithm

Asaad Kaadan12:28 PM
You can definitely create multiple independent routes in the array

Asaad Kaadan12:29 PM
let's say modules 1 & 2 talking to each other and 4 & 6 talking to each other at the same time

Asaad Kaadan12:29 PM
our operating system is still experimental and not very robust in complex cases but it'll evolve and get better with time

Asaad Kaadan12:30 PM
You can also broadcast a message

Asaad Kaadan12:30 PM
or send to a specific group

Asaad Kaadan12:30 PM
let's say you target only the group of relays with turn on message, etc

Asaad Kaadan12:31 PM
This is all handled in the backend. You just build the message and choose its destination and the backend OS will handle routing etc

Asaad Kaadan12:32 PM
Next Q?

Stephen Tranovich12:33 PM
Ya! We've got another one from @murray : Why the chosen license as opposed to GPLV2 ? The project resembles a software comma library after all?

Asaad Kaadan12:33 PM
I'm not expert on open source licenses but I wanted the project to be used commercially as well

Asaad Kaadan12:34 PM
I think with GPLV2 you have to open source all code unless there's a modified clause? Again not sure

Asaad Kaadan12:34 PM
But MIT license is really cool

Asaad Kaadan12:34 PM
Has most GPL stuff

Asaad Kaadan12:34 PM
but if you have a commercial application you can take our code add your own and keep it closed source

murray12:35 PM
No GPLV2 can be used anywhere, but if anyone improves on your code, ie routing etc, then they are expected to return that back to you.

murray12:36 PM
kind of like a library that can be added to anything, but if you improve the library itself, then please share...

Asaad Kaadan12:36 PM
I see. Some people might sense that as limitation. We definitely want people to contribute and improve

Asaad Kaadan12:37 PM
But if you improve on your own and don't want to share that's fine (most commercial applications are like this)

murray12:37 PM
Linus Torvald's specifically saw GPLV2 as a reason for linux's success as it prevents fragmentation of the core.

Asaad Kaadan12:38 PM
Good point

Stephen Tranovich12:39 PM
Let's hop on to our next question that's coming all the way from Estonia! @tanel asks: Any recommendation for modular HW involving high speed and throughput sub-systems? We have used CAN and RS485 for different node based complex systems, but if video or lidars get into game then Ethernet and USB are still the only ones to go?

Asaad Kaadan12:39 PM
But when there's a hardware platform I think fragmentation is less concern but I might be wrong

Asaad Kaadan12:40 PM
I agree both CAN and RS485 are limited throughput.. Are you talking about a long range communication or like a modular embedded device?

Asaad Kaadan12:41 PM
For longer range I think all variation of Ethernet (profibus), etc are the best

Asaad Kaadan12:42 PM
Not sure if USB is helpful in networking. It's not supported natively.. For a small embedded device may be PCI express or a custom bus

Asaad Kaadan12:44 PM
For embedded devices I'm also in favor of using simple serial ports with high speed arbitration / buffer management done in FPGAs

Asaad Kaadan12:44 PM
I'd like to see that in Hexabitz someday. It's kid of the ultimate progression of this concept of serial ports and DMAs

Asaad Kaadan12:45 PM
any more Qs?

Stephen Tranovich12:45 PM
This next question is @Lutetium 's and then some. Are there any use cases you have in mind when developing this platform and its modules? Are there any use cases you anticipate a wired mesh network being a particular boon for?

Asaad Kaadan12:46 PM
Yes I was shooting for ultimate configurability and modularity

Asaad Kaadan12:46 PM
when you have a decentralized wired mesh you can literally change any module without affecting your overall architecture / code etc

Asaad Kaadan12:47 PM
Imagine you built a device with Micro USB interface and last minute you decided actually USB C might be better or Ethernet is needed there

Asaad Kaadan12:48 PM
Since it's a decentralized system and they all share same backend you can replace the module in minutes. Keep your entire code intact and replace a few interface functions

Stephen Tranovich12:48 PM
That's epic.

Asaad Kaadan12:49 PM
The wired mesh also gives you ultimate freedom in configuration. You are not limited with physical form factor of the main MCU or number of GPIOs available

Asaad Kaadan12:49 PM
You can rearrange you array (board) shape to fit any new requirement and your code is 99.9% the same!

Asaad Kaadan12:50 PM
I look at it as a small logic blob embedded in each PCB

Asaad Kaadan12:50 PM
Basically I was trying to build PCBs the reconfigure themselves but do it the cheapest and fasted way!

Stephen Tranovich12:50 PM
That's inspiring!

Asaad Kaadan12:50 PM
I think in the future we will see a PCB technology that auto configure it's routing

Stephen Tranovich12:51 PM
:O I can't wait for that future!

Asaad Kaadan12:51 PM
But not in a the next decades

Asaad Kaadan12:51 PM
Me too!

Stephen Tranovich12:52 PM
Okay, we have one final question for this chat.

Stephen Tranovich12:52 PM
How does the system cope with a module or a comms line failing? Does it dynamically reroute? is there a timeout? Are the participants alerted that the system is limping?

Asaad Kaadan12:53 PM
Well not yet! But this is an awesome feature I really want to add. RIght now routing is fixed with shortest path and there are timeouts and stuff but no intelligent routing

Asaad Kaadan12:53 PM
Again this is something I'd like to learn from wireless mesh network where they detect malfunctions and dynamically change their topology

Asaad Kaadan12:54 PM
It's a fancy thing to think about right now. We have to build the basic blocks first and build the front end the does the actual useful work

Asaad Kaadan12:54 PM
But we have lots of plans to improve the backend. First things we did is the array exploration and auto configuration which saves you ton of work and errors

Asaad Kaadan12:55 PM
We also need to keep optimizing for small MCUs

Asaad Kaadan12:55 PM
Memory, clock, power constraints etc

Nixie joined  the room.12:56 PM

Stephen Tranovich12:56 PM
Awesome. With those hopes of a dynamic PCB future this chat has come to an end. A HUGE thank you to @Asaad Kaadan for coming on and sharing your work and vision with us!

Stephen Tranovich12:57 PM
Thanks Asaad!

Eric Mortensen12:57 PM
Thanks for your time @Asaad!

Asaad Kaadan12:57 PM
Thank you guys! Really great chatting with you all. It's a long journey ahead but we're excited to see modules in the wild and get feedback and ideas from awesome people here!

Discussions