For many people, there is a vast gap between having an idea and knowing what electronic components are necessary to construct that idea. With the ubiquity of components and modules available, you can come up with a concept and understand that you can get the parts, but making them all talk to each other requires a bit more knowledge.
Those of us with a bit of experience take it for granted, but even things as simple as flashing an LED with an Arduino require an additional resistor (assuming you’re not flashing the on board one). A beginner simply won’t know this. Thankfully it is spelled out in nearly every beginner tutorial. However, when a beginner takes their next step, they don’t know what peripherals are necessary to make their parts talk to each other.
This is where Circuito.io comes in. You can use their pretty interface to drag and drop different parts together and they will compute all the necessary additional items and give you a wiring diagram. To me, this seems insanely useful. There are so many people out there who find this aspect to be a huge roadblock in getting their projects done.
Lets check out an example. Remember my giant mechanical iris? Lets say I wanted to make it close, then open again as someone walks up my stairs. I know I’d need a sensor of some kind and a servo.
Here, I’ve simply clicked on an ultrasonic sensor and a stepper motor. They were automatically added to the input and output respectively. See those little red “I” next to the components on the left? Those will give you a bit of information about what each piece does, if you’re not already familiar. After I selected the parts, I hit “generate”
When you click generate, you’re presented with the following. There’s a full list of items you’ll need to complete stuff, this is your Bill of Materials. There is also a wiring diagram and code. Lets check out the BoM and Wiring diagram first, then we’ll talk about code.
The BoM is pretty simple. Here you’ll find everything you’ll need to complete the circuit, along with a link to purchase that item if you don’t already have it. These links mostly go to Sparkfun, and hopefully they’ll be adding more products from Adafruit soon as well.
The next step is wiring. As you can see here, there is a full diagram of how to properly wire up the components that were selected before. My example is fairly simple, though you can see my stepper motor necessitated a driver board. If I had never experienced this, the additional guidance here would have been invaluable. This isn’t just a static diagram though. On the left, you’ll see an interface that lets you step through the assembly one item at a time, guiding you through building the circuit.
This part alone, I feel, is of incredible value to beginners. I highly recommend anyone who has had frustration with building a project check out Circuito.io just for this.
Finally, there’s the code module. This area supplies examples of how to use each piece of the circuit. Don’t get too excited though, it does NOT supply an entire copy/paste version of the code to complete your project. How could they? You will have to look at the examples and figure out how to merge the important pieces into a useful construction of your own.
This last code piece is especially intriguing. The ability to write an Arduino sketch that does what you want is yet another big roadblock for many people who are entering this from the artistic or project based side. If you aren’t a coder, and have never built a circuit, this program gets you so close. If only they could also produce a final sketch for you as well. However, automatically creating a sketch like that would be incredibly complex. They would have to figure out exactly what you are wanting to do, cross reference that with what each component needs, and then build it based on best common practices. I wonder if Circuito.io or anyone else is working on some kind of a generator to create projects in this manner.