That's a breakout board - mostly connectors, little functionality. Not too interesting to study. A simple blinky board with a 555 timer would be a better place to start.
Here's one of my schematics[1] with a detailed explanation of how it works [2] This is a small board which is used to power old Teletype machines. It's a mixed analog/digital board, with a custom switching power supply onboard to provide the high output voltage needed using only power from the USB port.
This gives some insight into why modern power supplies have so many parts. They work by creating big spikes, and they're always a few microseconds from a short circuit. So they need bypass capacitors and ferrite beads in the right places, and protection circuitry in case something fails. (MOSFETs tend to fail into the ON state.)
If you really want to learn this stuff, get "The Art of Electronics", by Horowitz and Hill.
+1 for using KiCad to draw the schematic - it's important to use open source software when you're developing open source hardware. The licences for Altium, Eagle and co can cost many hundreds or thousands of dollars/euros/pounds a year, which bars entry to a lot of hobbyists. Improving what is already a fantastic piece of software (KiCad) is a big priority in my view. It's good that places like CERN are getting behind it.
KiCAD's files are all text, so they store well on GitHub, and they're reasonably human-readable. This whole project is on GitHub.[1]
Now if only I can get GitHub to stop mis-identifying this KiCAD project as "AGS Script". Somehow, GitHub's language classifier misidentified a SPICE model file, which is mostly "name=value" items, as Adventure Game Script, which has roughly C syntax. Previously it misidentified the project as SourcePawn. Before that, it was properly identifying it as KiCAD. Reported the bug.[2]
Hardware projects tend to have many file formats. Schematics, board layouts, part footprints, schematic symbols, SPICE models and simulation schematics, plus software-type stuff such as firmware. Unfortunately, the files tend not to have unique suffixes.
Eagle has a free licence version, If you're ok with 2 layer pcb's and fairly small boards, which would suit quite a lot of hobbyists. KiCad was in need of some UX love back when I looked at it 2 years ago, the feature set is definitely impressive though, maybe time to revisit it in the near future.
The software is still in a strange transition between the old layout engine and the new OpenGL one developed by CERN. I believe the old interface is being killed, but not immediately - you can switch between them as you use Pcbnew (KiCad's board editor). I initially found the old interface to be more intuitive, coming from Eagle. I used the new one for my most recent boards (primarily due to its support for differential pair routing), and once I learned the interface I now much prefer it.
There are still a few quirks, like, for instance, if I want to delete a whole track, I find it quickest to switch to the old interface and press "Del", then switch back. The new interface only deletes segments of tracks with that key. Saying that, despite the rough edges it's pretty solid and functions effectively in the professional and research environments I've worked in. It's only going to get better, too, as the community grows and the new interface fully replaces the old one.
I use Kicad these days but am an Eagle refugee too. The only thing I use the old interface for is the spread and place all components function, which I can't find in the new one. For deleting tracks I use i and u to select either the local segment or the whole track, and then press delete. One thing I'd really like to have is have the shove router do its thing when moving components that already have traces connected.
This is why I used Fritzing, not KiCad to design my first board. KiCad's interface was hard to get used to, even though I understand that KiCad is more powerful. It would be awesome, however, if either KiCad became more beginner user-friendly or if Fritzing became more powerful.
You should not use Fritzing. It is a bad tool. This isn't a vi vs. emacs argument, either: Fritzing is like using a crescent wrench to drive a nail. Yeah, you can do it, but it's the wrong tool for the job.
Schematic capture in Fritzing is, in short, terrible. You can only draw straight lines between nodes in a schematic. Furthermore, the design philosophy of Fritzing schematics is, 'wires between pins' instead of nets between pins. That is, you can't 'tap into' a wire, like you could with a net. It's truly idiotic if you've ever used any other EDA suite.
You can't name connections in a Fritzing schematic.
You cannot rotate a part by right clicking, or through keyboard commands. Rotations must be done through a contextual menu.
For PCB design: the color for the top layer of copper is yellow, and the color for the bottom layer of copper is a slightly darker yellow. Compare that with something sensible, like Red and Green for KiCad, or Red and Blue for Eagle.
Despite conventional wisdom, you can create custom parts in Fritzing. No, I don't mean re-labeling pins on packages, like what the Fritzing tutorials tell you to do. You can create custom parts in Fritzing, but you have to use Inkscape, Illustrator, or another vector design program. Every other EDA suite can create custom parts without an external tool.
Regarding the last point: until very recently, the official Fritzing FAQ stated creating custom parts was impossible. That part of the FAQ has changed, but there are still no links official tutorials for -- or even links to third-party tutorials available elsewhere on the Internet -- on the official Fritzing site. I will assume from this the efforts for support and documentation are effectively dead.
There are several dozen other shortcomings in Fritzing, but these are the worst faults.
Fritzing is a good tool for what it is designed to do: create graphics of breadboard layouts. Unfortunately, that's the only thing it can do well. Anyone looking to design a PCB should look at literally any other software besides Fritzing. Do not use Fritzing.
I believe the authors of Fritzing have never used another EDA suite, and it shows. Recommending Fritzing to someone 'to make their first PCB' or 'to learn circuits' does them a disservice. Fritzing is a piece of software that should be expunged from the Internet.
Aw, Fritzing is cute. It's for the Arduino crowd.
Fritzing is for projects that can be built on standard solderless breadboards. It's fine for that. The ceiling is low, but high enough for many projects.
Real EDA programs are terrifying to beginners. You start them up, and there you are, with a blank schematic and no idea how to get started. Fritzling is limited enough to be approachable.
It's like the experience hobbyists have when they encounter Digi-Key. You want a 1K resistor?
Go to "digikey.com", and type in "Resistor". You get back "Chip Resistor - Surface Mount (508794 items), Through Hole Resistors (285766 items)". OK, try "through hole". A huge chart of options comes up. Select "1K". The options narrow: "2,261 Remaining". Yes, DigiKey offers 2,261 different 1K resistors. Select "Active" and "In Stock", and you're down to 299 remaining. If you know to select "Cut Tape" and "Bulk", meaning you don't want reels of components for an automated production line, you're down to 199. Select wattage ratings under 1 watt, and you're down to 124 options. You probably don't want the $50 ultra-precision 0.01% resistors, so set the precision to 1% or worse. 96 remaining, any of which would probably work on your solderless breadboard. Sort by increasing price. The cheapest resistor is $0.10 each, $1.62 for 100. "Stackpole CF14JT1K00, 1 kOhms ±5% 0.25W, 1/4W Through Hole Resistor Axial Flame Retardant Coating, Safety Carbon Film."
Compare Jameco. Go to Jameco.com, and type in "Resistor". The first search result is "CF1/4W102JRC
Resistor Carbon Film 1k Ohm 1/4 Watt 5%". Jameco offers 5 options in 1K ohm through hole resistors, and they're different wattages. Less consumer confusion.
Saying a piece of software "should be expunged from the Internet" is a bit overly dramatic. I got real value out of the software. Most of the issues you mentioned sound fixable (e.g. color schemes of PCB layers, keyboard shortcuts to rotate a part), but I am sympathetic to flaws that can't be fixed no mater what because they are intrinsic to its low-level design. For me, the biggest issue with Fritzing is not its apparent (and I believe, fixable) flaws, it's that the project these days looks practically abandoned. I'm interested in contributing serious resources to the project to fix the fixable, but still trying to get a good handle on its intrinsicallyunfixable design flaws. Lack of a good parts editor is not an intrinsic design flaw (one can be created and integrated into the project), but perhaps "wires between pins" is an unfixable flaw? Likewise, I wonder if KiCad's UI/UX issues can be fixed...
(fwiw: I helped fix HealthCare.gov, so I'm not one to shy away from a challenge!)
Before you dismiss a board that simulates Keyboards, Joysticks, Mice over USB and that works with sensors, motors, displays and radios as having little functionality, you should probably take a look at the project's tutorials site[1] for a better idea of it's goals.
Yes a 555 blinky board can do plenty but it falls apart the minute you want to teach people how to do something more complex without them already understanding a lot of background, and a 555's no good for teaching coding.
A USB Morse keyboard sketch[2] released today by a member of the community is worth a look, especially in combination with the Morse code tutorials[3] used to teach coding.
For an idea of what's possible, the clock project[4] is a good starting point. The point of it isn't to create yet another clock, but to introduce USB control, and sensors for people to create and customize their own version that does what they want to do, instead of what a manufacturer tells them it should be. The documentation is coming out later this year, but will be a step by step guide for people to follow, much in the style of the docs site.
>Before you dismiss a board that simulates Keyboards, Joysticks, Mice over USB and...
Sure, and a schematic that has an Arduino and a single pin header is a board that can control quadcopters, automatically water your flowers, drive a LCD display, play sounds...
Doesn't mean it's an interesting/worthwhile material to study schematics on.
Clocks are always fun. My first Arduino-type project was a clock which displayed time in the form "A little after six", updating every 5 minutes. But that's software, not hardware.
That's rather cool. I am slightly obsessed with current loop designs myself. It's amazing that you can deliver sensor power and the data in an analogue or digital form over two wires over huge distances without degraded performance.
Definitely agree with Art of Electronics.
Also for some more complicated schematics with rigorous engineering approaches detailed, google for "tektronix 453 manual". It's an analogue learning goldmine!
Constant-current design is rare today, but has its uses.
I built this thing because the standard drive circuit for 60mA Teletypes is a 120VDC power supply with a 2K 10W ballast resistor in series. Over 95% of the energy goes into heating up the ballast resistor, and you need a box with ventilation slots to prevent heat buildup. Here's are some U.S. Navy current loop supplies from the 1940s-1950s.[1] There's been progress since then.
Powering it entirely from a USB port was done partly for convenience and partly because somebody said it was impossible. The power budget is moderately tight, so it took a moderately advanced power supply design. It draws about 270mA from the USB port.
The comment I get from radio hams and Teletype collectors about this is "can you make it in through-hole"? It's all surface mount, because the good parts for modern power supplies are surface mount only. I had to learn how to surface mount solder to do this. So now I have a compressed-air powered solder paste dispenser, a programmed reflow oven, a USB microscope, and some very good tweezers. All solder is lead-free. Once you get the right tools and learn the techniques, surface mount is easier than through-hole. But there's a substantial learning curve. I figured that if I was going to build electronics, I should build the way it's built today, not with 1970s technology.
An observation about Silicon Valley: you can't buy many electronic parts in Silicon Valley any more. The stocking distributors are gone. Zacks, Hamilton/Avnet, even Radio Shack are gone. There's still Jameco, but they don't do much surface mount stuff. Have to order from DigiKey or Mouser. Right now, I'm waiting for one surface mount resistor to come in from Minnesota. (One resistor on that board needs to be changed from 16 to 22 ohms.)
I got tired of people telling me they couldn't possibly do surface mount so I developed a two hour workshop and I travel around teaching it. I've had around 470 people do it so far. Apparently the learning curve is compressible, and the equipment can be reduced to a small 15kg travel case :)
I use stencils instead of a paste dispenser (more precision and less equipment, and I also show people how to make their own stencils by etching copper film) and a hotplate instead of a reflow oven, and magnifying glasses instead of a USB microscope. It's definitely good enough for prototypes, and the total investment in equipment for someone to assemble their first board is less than $40. I focus on teaching correct technique and taking people's fear of surface mount away.
I'm a ham as well. I think the through hole stuff is dead. It's difficult and expensive to get a lot of parts now and my huge stockpile is dwindling. I prototype with strips of FR4 sliced up and SOIC/0805 parts now. I'm not going to pay 4x the cost for a TH part!
The irony is I still have a 1962 Heathkit VTVM I use regularly with it. The thing is completely immune to RF.
Same problem with availability here in the U.K. Our biggest suppliers do free next day delivery though down to single resistors which is pretty good.
One trick I learned at university while analyzing a circuit is to identify the various 'design patterns' in it - just like software engineering, circuit design also features a lot of recurring common patterns.
Exactly this. The first step for me is usually to redraw out the messed up crap the last person drafted as things that look like the design patterns.
Even Tektronix and HP can produce some dire schematics so when you've got your head in some old kit I'd probably spend more time deciphering the service manual schematics than actually fixing it (something I do as a leisure activity)
1. ASME Y14.100 and its references, in particular, Y14.1, Y14.2, and Y14.44.
2. IEEE Std 315 for symbols and reference designators.
3. Zen feng shui a la Tufte.
4. For multi-sheet schematics, provide a list of every reference designator and applicable sheet(s). Use sheet/zone references for all labels that span multiple sheets.
5. In general, functional left-to-right flow tends to be optimal for interpretation. Keep the application intent in mind.
6. Sideways text is never acceptable.
7. Q0O5S2Z1IX...if these characters aren't distinct, your typeface is busted.
8. Minimize net crossings. If you feel cross-eyed looking at any sheet, your schematics are likely busted.
9. Assume black/white printing. If you need colors to disambiguate, your schematics are certainly busted.
10. Electrical schematics convey eletrical intent, mechanical drawings convey mechanical intent. Sometimes it's useful to convey elements of the latter in the former.
Here's one of my schematics[1] with a detailed explanation of how it works [2] This is a small board which is used to power old Teletype machines. It's a mixed analog/digital board, with a custom switching power supply onboard to provide the high output voltage needed using only power from the USB port.
This gives some insight into why modern power supplies have so many parts. They work by creating big spikes, and they're always a few microseconds from a short circuit. So they need bypass capacitors and ferrite beads in the right places, and protection circuitry in case something fails. (MOSFETs tend to fail into the ON state.)
If you really want to learn this stuff, get "The Art of Electronics", by Horowitz and Hill.
[1] https://raw.githubusercontent.com/John-Nagle/ttyloopdriver/m...
[2] https://github.com/John-Nagle/ttyloopdriver/blob/master/READ...