Kickstarter Update #9: Wow, I can't believe it's already been over two weeks since the Modulo campaign ended! I'm working hard getting Modulo ready for manufacturing. 

Here's a photo of me assembling Modulo prototypes:


Anyway, I just wanted to take off my white soldering gloves for a moment and let you know what else I've been up to. Here are the highlights:

  • I'm tweaking the Modulo size and shape to work better with enclosures.
  • For more permanent and compact assemblies, you will now be able to solder Modulos directly to the base.
  • I'm making changes to the Modulo protocol so that in the future you can connect Modulo bases together in other ways (ie, wirelessly!)
  • I'm analyzing costs and using less expensive components where it's possible to do so without impacting quality.

Still with me? Now for the details.

Quantities and Costs

A huge advantage of doing a crowdfunding campaign for a project like this is that it tells you exactly how many of everything you need to manufacture. That lets you make decisions that optimize the cost and complexity of the entire project. For instance, since parts are less expensive in higher quantities, I can save a little money by using the same part on two Modulos rather than using two different but similar parts.

With this new information, I've been spending a fair bit of time researching alternate parts, getting quotes from suppliers, and plugging it all into spreadsheets. It's boring but important to do in order to make the costs low and the business sustainable.

Modulo form factor changes

I've also been working on some changes to the size and shape of every Modulo board. Changes include:

  • Slightly increased height to better fit the Joystick and Display.
  • New mounting points at the top provide better support for enclosures
  • "Castellated Edges" make it possible to solder Modulos directly to the base for more permanent assemblies
  • Breakaway tabs allow Modulos to be combined into panels for manufacturing.

In the image below, the old outline is on the left. The new outline is on the right.

Old board outline (left) and new (right)
Old board outline (left) and new (right)

I'm also switching connectors. Previously the pins were on the Modulo and the receptacle was on the base. Now it's the other way around.

old connector (left) and new connector (right)
old connector (left) and new connector (right)

This change is primarily for cost reduction. The pair of connectors on the left cost $0.89, the pair on the right cost $0.27.

Similarly we'll be switching to a less expensive connector for connecting bases together. I'm currently looking at using the JST PA connector.

In addition to being less expensive, this connector is a bit smaller than the old one and has a nice solid feel to it.

Protocol Changes

The controller communicates with other Modulos using a set of rules called the Modulo Protocol. It works pretty well, but it has a couple of weak spots that I want to improve upon.

First, it's a synchronous protocol. This means that after the controller sends a message to a Modulo, it must receive a response before it can send any other message. That's generally okay when Modulos are connected together directly. In the future, however, I'd love to be able to create remote links (ie wireless or over the internet). An asynchronous protocol would work better for that, since the controller could go ahead and send out additional messages while waiting for a response.

Second, there's a particular feature of the protocol that's not supported on some microcontrollers. By removing that feature I'll have more flexibility in which micorcontrollers I can use when designing Modulos.

Next Prototype Round

I'll be incorporating all of these changes into the next round of prototypes. Once that's done, probably in 2-3 weeks, I'll share the new prototypes with you and we can talk about which changes worked and what still needs to be tweaked before manufacturing begins.

If you have thoughts about these changes or have any other suggestions, please don't hesitate to let me know!