My heyday in programming was about five years ago, and I’ve really let my skills fade. I started finding myself making excuses for my lack of ability. I’d tackle harder ways to work around problems just so I wouldn’t have to code. Worst of all, I’d find myself shelving projects because I no longer enjoyed coding enough to do that portion. So I decided to put in the time and get back up to speed.
Normally, I’d get back into programming out of necessity. I’d go on a coding binge, read a lot of documentation, and cut and paste a lot of code. It works, but I’d end up with a really mixed understanding of what I did to get the working code. This time I wanted to structure my learning so I’d end up with a more, well, structured understanding.
However, there’s a problem. Programming books are universally boring. I own a really big pile of them, and that’s after I gave a bunch away. It’s not really the fault of the writer; it’s an awkward subject to teach. It usually starts off by torturing the reader with a chapter or two of painfully basic concepts with just enough arcana sprinkled in to massage a migraine into existence. Typically they also like to mention that the arcana will be demystified in another chapter. The next step is to make you play typist and transcribe a big block of code with new and interesting bits into an editor and run it. Presumably, the act of typing along leaves the reader with such a burning curiosity that the next seventeen pages of dry monologue about the thirteen lines of code are transformed into riveting prose within the reader’s mind. Maybe a structured understanding just isn’t worth it.
I wanted to find a new way to study programming. One where I could interact with the example code as I typed it. I wanted to end up with a full understanding before I pressed that run button for the first time, not after.
When I first read about literate programming, my very first instinct said: “nope, not doing that.” Donald Knuth, who is no small name in computing, proposes a new way of doing things in his Literate Programming. Rather than writing the code in the order the compiler likes to see it, write the code in the order you’d like to think about it along with a constant narrative about your thoughts while you’re developing it. The method by which he’d like people to achieve this feat is with the extensive use of macros. So, for example, a literate program would start with a section like this:
KiCAD has been making leaps and bounds recently, especially since CERN is using it almost exclusively. However, while many things are the same, just enough of them are different from our regular CAD packages that it’s hard to get started in the new suite.
[Chris Gammell] runs Contextual Electronics, an online apprenticeship program which goes from concept to assembled electronics covering everything in between. To take the course you pay a nominal fee, but [Chris] posted a very excellent ten-part video series made during the last run of classes which you can watch without charge. The videos go through the basics of KiCAD while hitting the major points to consider when designing and manufacturing your electronics.
The project [Chris] chose is a simple circuit that blinks an LED with a 555. The first videos cover navigating KiCAD’s component schematic editor and library system. Next comes creating circuit schematics and component footprint creation. [Chris] covers PCB layout, the generation of Gerber files, and finally ordering the design from OSH Park — the purveyors of purple boards we’ve come to know and love. The series finishes up with simulating the circuit in LTSpice, ordering the parts, and finally soldering and debugging of the board. If all goes correctly you should now have a single blinking LED.
If the bright summer sun is burning your delicate skin, and you’d rather be locked inside with solder fumes, add this to your watch list now!
[This Old Tony] teaches us how to make springs on a lathein this video done in the style of How It’s Made. Mixed in with snark, in his usual style, is a lot of useful information.
The Machinery’s Handbook certainly has all the information one would need to design the basic spring shapes, but it’s not always necessary. [Tony] points out that cheating is entirely acceptable. For example, if you need a spring that’s close to the dimensions of a standard spring, simply copy over the values from the standard spring. He explains all the terminology needed to decrypt the pages in your engineering tome of choice.
He shows the basics of winding a spring on a mandrel (or that round metal thing, if you want to use the industry term). First wind the inactive coils, then set your lathe to the desired spring pitch. Engage it as if threading, then disengage and wind the final inactive coils. A quick trip to the sander squares the ends of a standard coil spring. However, the tools can also be used to make torsion springs, or even exotic combination springs.
For a good… educational laugh, watch the whole video after the break.
This robot may have the fastest hand we’ve ever seen. It’s only a hand at the moment, but it’s certainly good with it.
The hand comes from a research project out of the University of Washington. The researchers didn’t just want to program the robot to do tricks, they wanted it to learn. Some tasks are just by nature too complex and tedious to program all the details for. Look at all those tendon activators. You want to program that?
The current focus of the robot is twirling a stick. While they’re probably a ways away from a robot cheerleading squad or robot drum major, the task itself is extremely difficult. This can be proven by just how many YouTube videos there are on the art of pencil twirling.
While the video didn’t show the robot dramatically twirling the stick at high speed, it did show the robot rotating it a little bit without dropping it. And this is a behavior that it has learned. For anyone who has ever had a run-in with robotics, or the art of convincing a robot not to discard all the data it collects in order to not run directly into a wall, this is a pretty big achievement. Video after the break.
A class in Brazil was given the assignment to make a board game. [Marcelo], presumably, heard his son lamenting how lame it was going to be if the board was just cardboard with some drawings on, and came to the rescue.
Working with the class, they came up with the rules of the game. We’re not certain what those are, but it involves a regular game board, a flashing light circle with numbers, and a fusion between Operation and one of those disease transmitters commonly found at the doctor’s office. You can try to puzzle them out from the video after the break.
The brains of the board is an Arduino with an external EEPROM for all the sound effects and other data needed for this construction. Everything is laid out on a beautifully done home etched PCB. It’s too bad the other side of the board isn’t visible.
We’re sure the kids learned a lot working with [Marcelo]. It would have been nice if a traveling wizard came to some of our earlier classes in school and showed us just how much cool stuff you can do if you know electronics.
[Kevin Darrah] put together a good video showing how to control a stepper motor with, not a motor driver, but our fingers. Taking the really low-level approach to do this sort of thing gave us a much better understanding about the features of our stepper driver chips. Such as, for example, why a half step needed twice the current to operate.
[Kevin] starts with the standard explanation of coils, transistors, and magnets that every stepper tutorial does. When he hooks up simple breadboard with passives and buttons, and then begins to activate the switches in sequence is when we had our, “oh,” moment. At first even he has trouble remembering the correct sequence, but the stepper control became intuitive when laid out with tactile switches.
We set-up our own experiment to see if we remembered our lessons on the subject. It was a fun way to review what we already knew, and we learned some more along the way. Video after the break.
If you want to sell a toy for the toddler crowd, it ought to be pretty close to indestructible. A lot of toys out there are just plain nonsense game-wise and therefore waste their beefy potential. [2dom]’s wife was close to throwing out such a toy—a Little Tikes Goofy Ball. The thing literally does nothing but let you push its big buttons in. After some time passes, it pops them back out again and giggles. Game over. [2dom] rescued it from the trash and turned it into a toy that plays math games.
[2dom] removed the existing board and replaced it with an Arduino Pro Mini and a Darlington array that drives the motor that pops the buttons back out, the speaker, and a Nokia 5110 screen. Upon startup, the user chooses between addition, subtraction, and multiplication questions using the appropriate button. Questions appear in the middle of the screen and multiple choice answers in the corners.
Choose the right answer and the ball cheers and shows one of a few faces. Choose the wrong answer and it makes a buzzing sound and shows an X. There is an adaptive level system for the questions that [2dom] doesn’t show in the demonstration video after the break. For every five correct answers, you level up. His 3- and 5-year-olds love it. For more advanced teachable moments, there’s this toy-turned-enigma-machine.