-
Business Pitch
07/24/2017 at 10:50 • 0 commentsThis business pitch is also available as PDF file
Project Background:
In 2013, a survey was conducted by the Open Source Hardware Association (OSHWA) to collect data about the open source community. This survey found that 90.3% of the participants were using open source hardware. From the demographic standpoint, the top two user backgrounds were in engineering and science, with people coming from high school (13.7%), undergraduate (40.5%), and graduate school (28.8%). In the same year, a Printed Circuit Board (PCB) software company, CadSoft Computer surveyed more than 100 engineers from around the world representing 42 countries to better understand PCB design trends in the electronics industry as they have evolved in 2013. This survey found that 64% of respondents believe that the expansion of development kits has eliminated the need for developing customized PCB. The trend is that engineers seem to favor more in adopting development kits over customizing themselves unless they have to.
But in contrast, there are groups of people call themselves as Makers. They build complex, impressive, and clever electronic and robotic projects, even though sometimes they have no formal engineering background, less technical education, and limited resources to go beyond manufacturing. On June, 18th, 2014, the first-ever Maker Faire was hosted at the White House. In reaction to the rise of maker culture, President Obama pledged to open several national research and development facilities to the public. “Today’s Do-It-Yourself is tomorrow’s Made in America”, he told participants of the White House Maker Faire. “Your projects are examples of a revolution that’s taking place in American manufacturing - a revolution that can help us create new jobs and industries for decades to come.” This statement has been the stimulant of a growing number of Makers around the world, who want to build something with low-cost manufacturing tools, rather than buy it off-the-shelf.
Why SnapBloks:
1. Most development kits come straight from manufacturers and are not open hardware. It comes with an expensive price tag. It is true that development kits are customizable and speed up time-to-develop, but usually it uses vendor-lock-in parts only. In comparison to SnapBloks, it is made of the open source Arduino.
2. As projects' complexity is growing, breadboards are not ideal anymore because the number of wiring will keep growing and not scalable.
3. SnapBloks are modular and reusable blocks: no soldering, no wiring. Each Blok snaps together through magnetic contacts. When we are done with those parts, it can be easily detached and reuse for other projects.
4. Unlike traditional development kit, SnapBloks is designed as a network of interacting elements with physical input and output instead of as standalone devices. This approach makes it perfectly positioned for broadening its adoption to STEM education, toward the “Maker community” at large. The “Maker culture” emphasizes learning-through-doing in a social environment.
Short Term Business Goal:
While targeting the global open source community in the long term, SnapBloks has a significant potential for commercialization in the field of Science, Technology, Engineering, and Mathematics (STEM) education, where it can provide an engaging learning-by-doing experience to middle and high school, undergraduate, and graduate students. Therefore, for short term plan, we propose SnapBloks to target any education level aforementioned, by making computer science, mechanical, and electrical engineering more appealing to young students.
Funding:
SnapBloks will try to get its traction by starting a campaign on Indiegogo and Kickstarter, rewarding backers with flat-rate ($5-10) reward for each Blok
Competition:
Looking at the existing modular electronics and robotic kits in the market, littleBits (http://littlebits.cc) seems to be the closest potential competitor. However, it is merely electronics hardware and does not come with any design nor software development environment. It is worth mentioning that littleBits has a very weak intellectual property protection, but they managed to raise $62.34M in 5 rounds from 21 investors in modular electronics business.
Patent:
U.S. Patent Application No. 15/632,112
Entitled: "MULTI-PLATFORM MODULAR DEVICE"
Filing Date: June 23, 2017
Inventors: Ekawahyu Susilo, et al. -
Can We Do It with Arduino Instead?
04/22/2017 at 08:55 • 0 commentsOf course you can! As I said in the previous project log, each Blok is basically an Arduino. So, stacking SnapBloks is like stacking Arduinos. Take a look at this equivalent Arduino circuitry (below) for the 3 Bloks example (picture not to scale):
How many Arduinos we could actually wire all together like this? Well, as many as you could, but it is a lot less cumbersome when you do it with SnapBloks, because:
- SnapBloks snaps onto each other with magnet, it uses magnet as conductor to deliver power and local one wire networking. So, no need to provide jumper wires.
- Data exchange happens only through one wire with SnapBloks, super easy, no need to think about which wire has to be connected to which pin.
- Reusable, no broken or bent component pins due to in and out of breadboard too often for the same sensors/actuators.
- Using the 3 Arduino UNOs would cost you $65++ (not including sensors/actuators), but using ESP8285 as Arduino core would cost you a lot less. ESP8285 module sold in the market is like $2-3 each. That's a lot of saving!
- Faster development time, snap on, snap off, and things are hot-pluggable by design.
What if I don't like ESP8285 you asked? Well, it is Arduino anyway, you won't feel the difference. But if you insisted to stick with your favorite platform or microcontroller like AVR, 8051, STM32, etc. (cause you are a hacker for example) you could actually build each Blok yourself. The next project log will talk about essential components you need to create a Blok that can communicate to the rest of SnapBloks system.
-
Single Wire UART Communication
04/15/2017 at 10:01 • 0 commentsSingle Wire UART Communication, that is how I call it for now. The concept is pretty simple. Let's make a project with Thermometer Blok, Light Blok, Sound Blok, and a Battery Blok. Once we snapped on all Bloks together, they all get power from the Battery Blok through + and - contacts. All Bloks are in listening mode (RX).
Only one Blok may send data over the wire at a time, like this:
, or this one:
but definitely not like the following scenario. When two or more Bloks are in TX mode and sending at the same tim, collision occurs and none of messages went through:
So how does each Blok know when to send a message? Well, that depends how you program the Bloks. Let's say we want to see the Light Blok flashing when the temperature is beyond 75 degree F, and then the alarm goes off on Sound Blok when the temperature reaches 80 degree F. We could have several solutions listed as follow:
- Conditional tests happen internally in Thermometer Blok and then it sends commands to Light and Sound Bloks whenever the condition is met. So, Light and Sound Bloks are passively waiting for commands from the Thermometer Blok.
- Thermometer Blok can send messages periodically, Light Blok does the conditional test for beyond 75 degree F reading, and Sound Blok does the conditional test for 80 degree F. So the task is kind of distributed among Bloks.
- Light and Sound Bloks take turn in doing data request from Thermometer Blok. Thermometer Blok is passively waiting for acquisition command. Please note that collision might happens because at any given moment in time, Light and Sound Bloks might both switch to TX mode and send messages. There should be a traffic listening mechanism in each Blok before actually switching to TX mode and sending a message.
- You could program the Light Blok as a master, acquiring data from Thermometer Blok and send command to set the alarm to Sound Blok.
- Etc... etc... etc....
There are so many solutions we could do for just this one project example with SnapBloks. Each solution has its pros and cons. It all depends on how we would use SnapBloks to solve the problem.
-
Color Coding and Symbols
04/07/2017 at 08:08 • 0 commentsSnapBloks uses the following color coding to distinguish Inputs, Outputs, Connectivities, and Power Bloks. One more color coding is white to denote Bloks that are under development and testing.
Those symbols in the figure, from left to right and top to bottom, they are light, thermometer, wireless connection, battery, sound, and 3-axial accelerometer. Below you may find other SnapBloks' symbols.
Some of these symbols might not be easy to understand the meaning of it. So feel free to comment or suggest better symbols to represent sensors and actuators.
-
The Three-Legged Stool
04/06/2017 at 09:07 • 0 commentsWe all know by design theory that four-legged stool is more stabile than three-legged one. But why four-legged stool is always wobbly? Here is the reason why. No one nor machine can actually make a perfect four-legged stool with the exact same length of legs. Reason number two, there is no such thing as perfectly even surface or floor to put the perfect four-legged stool on. Hmmm... what does a four-legged stool have anything to do with SnapBloks? Glad you asked! Remember our first project log about serializer and deserializer? We need two contacts for powering and two contacts for serial data in and out. That is a total of four contacts! No matter how perfect we mounted the magnets on board, the Blok would end up wobbly. It means that we would get wobbly/unstable power or data transmission with four contact points. That is not good at all!
So what about three-legged stool? Look at a tripod. A tripod, basically, is similar to a three-legged stool. It is very stabile for uneven surface. With this kind of stability, we can make sure that SnapBloks would not experience any unstable or intermittent connection. But wait, how would we reduce the number of contacts from four to three? The simple answer is, we architect the system to send and receive data on one wire only. As a compromise, we have to accept the fact that we can't send serial data in full-duplex mode.
Alright, we can live with only three contacts, half-duplex it is. And that is how we came up with three magnetic contacts solution on SnapBloks, from the very first design started at about two years ago and we keep it the same until today.
-
SnapBloks Facts!
04/06/2017 at 08:23 • 0 commentsFACT #1: MODULAR AND REUSABLE SNAP-ON BLOK
The joy of soldering and wiring on breadboard. This has been the fun (or difficult) part for new comers and beginners. But once we become experts in the field, every one of us, get bored real quick of this repetition job. Most of us just want to go straight to see some real actions. For some, it may even too much to ask to solder for just one sensor. SnapBloks requires no soldering and no wiring for the most parts. Each Blok snaps together through magnetic contacts. When we are done with those parts, it can be easily detached and reuse for other projects.
FACT #2: MAGNETIC CONTACTS WORK ALSO AS CONDUCTOR
Magnet is made of brittle material and it is not conductive. So how can we use those three magnetic contacts to deliver power and data? It is simple. Magnet plating and coating material actually is conductor!
FACT #3: SERIALIZER / DESERIALIZER BUILT-IN
The following connection/interfacing: UART, SPI, I2C, CAN, USB, Ethernet, Wi-Fi, Bluetooth, etc., send data serially from one end to the other. Believe it or not, our fast internet access through Ethernet or Wi-Fi is also another form of serial communication. There is always serial data, sent/received bit-by-bit, in and out of the system. So at least, we need two channels to let data to flow in two directions. How many wires does USB connector have? Four wires, two for powering and two for data transmission (with the exception of USB 3.0 that is in fact full duplex and has more than 4 wiring). Would it be awesome if we could have a computer with hundreds of USB ports and all sensors and actuators are all hot-pluggable to it? Don't get it wrong, we are not going put USB controller in every SnapBloks. But guess what, every time we want to interface things to our computers, we use USB to serial adapter, USB to SPI converter, USB CDC ACM, etc. SnapBloks has built-in serializer/deserializer and it is the only interface among Bloks. I haven't come up with the name yet, but it is based on half-duplex UART).
FACT #4: ARDUINO INSIDE
We ported Arduino to SnapBloks, not because we only care about people working with Arduino, in fact Arduino community is huge! You can almost find any library supported by Arduino. We all love open source, so does SnapBloks. Porting Arduino to SnapBloks really is great for everyone. If you know other programming language such as Python, JavaScript, Lua, or whatever favorite languages you master, you could potentially port it to SnapBloks too.