Introduction: Crazy Circuits: an Open Source Electronics Learning System
The education and home market is flooded with modular electronics 'learning' systems designed to teach kids and adults key STEM and STEAM concepts. Products such as LittleBits or Snapcircuits seem to dominate every holiday gift guide or parent blog for educational toys. However, these systems always come with a hefty price tag attached and many feel more like toys than learning tools.
About three years ago we started started designing Crazy Circuits as a low cost, reusable, modular, non-soldering, fun, system that could be used as an actual learning tool. We wanted something that parents and teachers could easily integrate with kits they already had or inexpensive off the shelf components. Something for both the Maker Community to enjoy as well as the average adult.
In the end Crazy Circuits was everything we hoped for and more. The system worked flawlessly with any LEGO based environment, could easily be used with conductive thread for sewing, and easily scaled from simple circuits up through basic programming. Oh, and it was fun to use as well which made all our lives easier.
In this write up we're going to show you how we designed Crazy Circuits components, our curriculum, how you can make and design your own parts, and ways that Crazy Circuits works with other systems.
Full disclosure: We do sell Crazy Circuits parts and kits, however you can easily use our Open Source files to get your own boards made up or design your own parts. You can use this system for all kinds of things and never send us a single penny.
Give Aways: We're trying something new in 2019. We're giving away free parts and kits to people (US Residents only) who follow us on instructables, facebook, instagram, and youtube. Most likely we'll be giving away a couple of full kits, finished parts, and blank PCBs. Just follow or subscribe and we'll start giving away stuff.
Step 1: Philosophy Behind Crazy Circuits
When I was a teacher I was really annoyed that I couldn't afford fancy electronics systems for my classroom, even though every teaching conference or inservice I attended kept recommending them. I just didn't have a budget for a $100 kit that came with five parts and at best would keep three students occupied for five minutes. I ended up doing what most science teachers do and just bought cheap raw parts off eBay and Amazon but that required me to do a lot of new lesson planing and activity design work. I also found that my younger students had a hard time wrapping their head around breadboards.
I eventually was able to get some funding to buy some LittleBits kits for use with my after school science club. They were fun to use (and to be honest, a well put together system), but when I asked my middle school students to explain how they worked I received my favorite answer of the year "I don't know, magnets?". These were kids who had been building some complicated circuits weeks earlier, yet LittleBits came off as more of a toy than anything else.
When we started brainstorming a modular system we wanted to make sure that students were aware of HOW parts were interacting and were then able to draw parallels to common parts. We also knew that we needed something akin to a breadboard, yet easier to wrap their heads around than an actual breadboard. We also had to make it fun and engaging.
Step 2: Why LEGO?
Everything came together thanks to LEGO. It's a natural grid based system which allows us to make logical and easy to understand circuits. It's inexpensive, readily available, and it's very fun. You'd be hard pressed to find someone who hasn't used LEGOs before or a kid who doesn't have LEGOs in their life.
On the most basic level we realized that adding lights and basic motion to LEGO was something that was appealing to kids (and adults) of all ages. Thanks to years of licensed properties most kids had LEGO kits that begged to have lights on them. We quickly started looking on Craigslist and Facebook Marketplace for second hand LEGO Star Wars kits for us to play with... and also to add some Crazy Circuits parts to.
But from a technical perspective LEGO allowed for a 3D building environment with lots of room to be creative. Circuits in the real world are often 3 dimensional and we wanted to show kids that they too can make 3D circuits with ease. The Technic line of LEGO takes things a step further when you factor in gears and mechanics. Now we could easily build a LEGO tank and make it interactive without too much work.
LEGO just made sense.
Step 3: Designing PCBs & Making Your Own
From the get go we knew we wanted to make this system Open Source. Once we started actually designing things we realized that it would be stupid NOT to make it Open Source since the system was so darn simple. You can find all our PCB designs on our GitHub Repo as well as some information for designing your own parts.
The most difficult process was getting the hole spacing just right. LEGO parts are 99.99999999% identical, but we knew that we'd need to add some wiggle room. More or less we designed up a bunch of PCBs with super minor adjustments in hole sizing and tested them out. Kind of similar to how optometrists test out glasses on people. The annoying part was us realizing that PCB manufacturing is never 100% correct, that there is a small margin of error. We decided to err on the side of caution and make our PCB holes larger than necessary.
You can design your own parts using the free KiCad software and our Library, then get the parts made up using such services such as OSHPark. We have some development notes in our Repo, but it's probably best to just take an existing part and modify it. We did make up many more parts than necessary for this project and most simple through hole components will fit onto one of our generic boards.
Our PCB designer wanted us to point out his top tips for making up parts.
- It's best to take an existing module and edit it.
- The Lego holes are 4.98mm diameter after plating.
- Minimum total Lego hole total annular ring diameter is 6mm.
- Use white silk for ground or 'pin 2' polarity markings where needed.
- Circuit kits use 2x2 snappable support tabs with 20mil drills and 6 mil traces.
- Grid size should be 8mm. Holes should be centered on grid lines.
- A footprint origin point (0,0) should be on the lower leftmost Lego hole.
- Remove mask openings on the top of the board.
- In particular, leave 30 mils of solder dam between a pad and a plated hole.
- When necessary, leave the Lego holes unplated and place a via.
Step 4: Conductive Tape Is the Key
Lastly we had to figure out how to connect everything together. We immediately decided we hated the idea of wires and alligator clips; it took away from the simplicity of everything. We liked using conductive tape but the copper foil tape was impossible to use. We could get the tape down but it wouldn't come back up again. We even tried using conductive thread but that proved to be impossible to control. After a lot of hours on Skype with a tape factory in China we manufactured some custom Nylon Conductive Tape (Maker Tape) which was strong enough to peel back up again, yet inexpensive enough to be competitive with common copper foil tape.
Thanks to the fact that we had a whole lot of test PCBs with different sized holes sitting in our workshop, we were quickly able to find a size spacing that allowed us to make a pressure fit using the Nylon Conductive Tape. In this way students HAD to end their tape at a specific spot: they had to actually take time and design their circuit. This aspect allowed us to turn Crazy Circuits into a learning tool, not just a toy.
Using 1/8th inch tape also had the weird side benefit of allowing for two layer circuits. Normally we'd lay the tape over the TOP of the LEGO studs, but the 1/8th inch tape also worked perfectly for also going BETWEEN the LEGO studs. People could make all kinds of complicated circuits using tape on LEGO. (Though a bit awkward. If nothing else it allowed students to 'jump' an existing line with only a little bit of effort.)
A basic example circuit might use a switch, battery holder, and an LED. For all our parts we used white silk screening to designate the GND (Negative) poles and the colored side to indicate the Positive poles. The above video shows me making a simple circuit. Lay down tape, pressure fit on parts, add power.
Step 5: Conductive Thread
During testing we discovered that conductive thread worked really well with our parts. It turns out that large copper platted holes made conductive sewing really easy. Some of our testers preferred sewing with our parts over using them with LEGO.
If you've never used Conductive Thread before you should try! It's typically a steel/ nylon thread that conducts quite well. Hand stitching with it is quite easy, and sewing parts on is no more difficult than sewing a button on. We've even gone so far as to make complicated interactive shirts using an Arduino. The nice part about conductive sewing is that if you really hate your project you can always take the parts off and use them for something else.
Our 'go to' activity for kids is to have them make a button snap bracelet using an LED, a battery holder, and a set of snaps. The snaps go on the end of the bracelet and are used to complete the circuit. We put together a nice printable PDF if anyone wants to use it for workshops or home activities.
Step 6: Conductive Inks & Doughs
In the beginning we were dead set on making our parts work with conductive inks. This only partially worked.
This conductive ink is pretty similar to puffy paint. It's easy to paint onto any surface, is pretty inexpensive, and is water washable for an easy cleanup. The downside is that the graphite isn't very conductive and really acts like a large resistor more than anything. We didn't have any issues connecting it to Crazy Circuits Parts since we could have ink blobs dry over the PCBs but we had issues moving power around in the circuit safely.
What we did end up using it for was a capacitive paint "touch point" for our Arduino compatible Teensy LC boards. We run tape from the PCB to the paint blobs and then people touch the paint. This allows all kinds of fun stencils, wall pianos, or interactive art projects.
This conductive ink works just like a silver gel pen, only it leaves behind extremely conductive traces on paper. The upside to this ink is that the tracings are extremely conductive and it acts like a real pen. The downsides are that the pens are expensive, tend to dry out, and you have to somehow clamp your parts down to the paper in order to make a solid connection.
We originally had some custom magnets made up that fit through our LEGO holes. Our GitHub Repo is full of legacy parts that are labeled "magnet compatible." The end result was hit or miss and we realized that we kind of just made bad versions of electronics parts that Circuit Scribe already made. The only benefit was for making larger Arduino based projects since Circuit Scribe doesn't produce any Arduino boards, but putting too many magnets close together ended up causing its own problems.
We also realized that anything we were doing with this ink we could do with conductive tape far better.
Squishy Circuits Dough - AKA Conductive Dough
I always found this to be an excellent learning tool for teaching basic electronics with younger students. The upside to the dough is that it's highly entertaining, especially with cookie cutters. The downside is that it dries out (like any dough) and also is highly resistive.
We tend to use the dough the same way we use the Bare Conductive Paint, as a Touch Point for capacitative touch projects. It adds a fun element to the mix. Plus if you make a really big flat piece of dough your body will react with the circuit BEFORE you touch it. Sometimes up to an inch away. It's always fun to watch people try and figure out why it's happening.
Step 7: Arduino, Raspberry Pi, Micro:Bit, and Wireless Boards
A quick look at our GitHub Repo and you'll see that we have a lot of large PCBs designed to work with a number of popular micro-controllers. One of our chief complaints about a lot of building system was/ is that they box people into using a propriety programing system or only allow you to use one platform. With hardware and software constantly evolving it seemed weird to lock people down or have them throw parts away after a couple of years.
The most obvious choice to start with an Arduino Nano (which became our Robotics Board) due to the small size and price point. This was perfect for a wide range of programing projects, such as lighting effects or turning servos. We decided to also produce a more feature rich version that using a Teensy LC, mainly for the capacitive touch capabilities. The Teensy LC (Invention Board) also has some nice keyboard emulation features and we quickly made up some fun game controllers using it. Last year we even made a giant LEGO NES controller and posted it on Instructables.
Programing is fun but not everyone wants to go through the hassle. We put together a board designed around a preprogramed ATtiny85 chip that just puts out blinks and fades. Our production version uses SMT parts, however you'll find a through hole version in our Repo. They come in handy for smaller projects such as an ugly Christmas shirt or some twinkling stars.
One thing we've neglected to do is polish up our Raspberry Pi Zero and Micro:Bit boards. In general we like the Micro:Bit and the community that has sprung up around it. As for our Raspberry Pi Zero board... we literally have no idea of what to do with it. Seriously, someone make something interesting with it and we'll send you some parts.
We also had the wacky idea of trying to put together some wireless projects. We but together boards for the Particle Photon Board, a couple of Adafruit Feather Boards, and the common NodeMCU board. We based them off the same basic design as our Nano PCB with a row of pin headers on the backside.
Step 8: Future Plans?
Currently we're in the middle of a third manufacturing run of parts with most of our sales going to schools, libraries, and Maker Spaces. We've received a lot of solid feedback from users of all ages which has helped us design better parts.
One of the most common requests has been for classroom-ready curriculum. Making up projects is simple; making up six weeks of resources for students and teachers is more difficult. By the end of March we'll be posting our first curriculum drafts on our website, free for anyone to use. We'll have two tracks, one for basic circuitry and one for basic programing. Both will be centered around our Crazy Circuits parts, however they could easily be modified to use off the shelf parts.
More Production Line Parts
We're currently taking requests for new parts. The process is slow but we do want to add a couple of new pieces to our lineup for later this year. Hopefully we'll be able to manufacturer up some Potentiometers and NeoPixel Components and start adding them to our kits. We've been fortunate enough to have some enthusiastic fans who have designed up their own components and shared them with us, and we hope more people will in the future.
Commitment to Open Source
It may sound like we're beating a dead horse, but we really like having our components be Open Source. We're going to continue to add to our project resources, curriculum, and design files. We really hope that both noice and advance users can start to create their own parts or modify them for new projects.
Second Prize in the