What’s the Best Way to Learn Electronics?

What’s the best way to learn electronics? It’s a pithy question to ask a Hackaday audience, most of whom are at least conversant in the field already. Those who already have learned often have just their own perspective to draw upon—how they themselves learned. Some of you may have taught others. I want to explore what works and what doesn’t.

Hobbyists Learn Differently Than Students

One thing I can say straight off is that students learn differently than people who learn at home. Hobbyists have the advantage of actually being interested, which is a quality a student may not enjoy. People have been teaching themselves electronics since the beginning, with analog projects–Heathkit models, BEAM robots, and ham radio sets–evolving into purely digital projects.

Let’s face it, Arduinos lower the bar like nothing else. There’s a reason why the Blink sketch has become the equivalent to “Hello World”. Dirt cheap and easily configured microcontrollers combined with breakout boards make it easy for anyone to participate.

However, ask any true EE and that person will tell you that following wiring diagrams and plugging in sensor boards from Sparkfun only teaches so much. You don’t bone up on terms like hysteresis or bias by building something from uCs and breakout boards. But do you need to? If you are truly interested in electronics and learn by making those Adafruit or Sparkfun projects, sooner or later you’ll want to make your own breakout boards. You’ll learn how to design your own circuit boards and figure out why things work and why they don’t. I don’t need to tell you the Internet has all the answers a neophyte needs–but the interest has to be there in the first place.

What’s the Best Way to Learn in the Classroom?

There is a product category within robotics kits that consists of “educational rovers” designed to be purchased in group lots by teachers so that each student or small group gets one. These rovers are either pre-built or mostly built—sure, you get to screw in motor mounts, but all the circuit boards are already soldered up for you, surface mount, no less. They come pre-configured for a variety of simple tasks like line following and obstacle avoidance. The Makeblock mBot is an example.

I think it’s part of that whole “learn coding” initiative, where the idea is to minimize the assembly in order to maximize the coding time. Insofar as soldering together a kit of through-hole components teaches about electronics, these bots mostly don’t do it. By all appearances, if there is a best way to learn electronics, this an’t it. However, regardless of what kind of project the teacher puts in front of the student, it still has to generate some sort of passion. What those robots provide is a moment of coolness that ignites the firestorm of interest.

I once led a soldering class that used Blinky Grids by Wayne and Layne as the focus. This is a fantastic kit that guides you through building a small LED matrix. It’s particularly cool because it can be programmed over a computer monitor with light sensors interacting with white and black squares on the company’s web site. When my students finished their grids, they all worked and had unique messages scrolling through. Now, that is a payoff. I’m not saying that any of those folks became hardware hackers as a result of my class, but it beat the hell out of a Christmas tree, am I right?

Getting back to that rover, what must be acknowledged is that the rover itself is the payoff, and that’s only as far as it goes if everyone loses interest. However, a lot of those rovers have expansion possibilities like bolting on another sensor or changing the method of programming–for instance, the mBot has both a graphic programming interface and can also be reflashed with a regular old Arduino bootloader.

Readers, share in comments your own perspective. How did you learn? How would you teach others?

Is It A Stupid Project If You Learn Something From The Process?

Fidget spinners — so hot right now!

[Ben Parnas], and co-conspirator in engineering inanity [Greg Daneault], brought to the recent Boston Stupid Hackathon in Cambridge, MA, their IoT-enabled Fidget Spinner…. spinner. A Spidget Finner. Yep, that’s correct: spin the smartphone, and the spinner follows suit. Stupid? Maybe, but for good reason.

Part satire on cloud tech, part learning experience, a curt eight hours of tinkering brought this grotesque, ESP32-based device to life. The ESP can the Arduino boot-loader, but you’ll want to use the ESP-IDF sdk, enabling broader use of the chip.

Creating an app that pulls data from the phone’s gyroscope, the duo set up the spinner-bot to access the WiFi and request packets of rotational data from the smartphone via a cloud-based server — the ‘spincloud.’ Both devices were enabled as clients to circumvent existing IoT services.

Continue reading “Is It A Stupid Project If You Learn Something From The Process?”

DARPA Plans To Begin Hacking Human Brains

So [DARPA] wants to start hacking human brains, With the help of the biomedical device center at the university of Texas in Dallas. This does sound a bit crazy but DARPA does crazy. Conspiracy theorists are going to have a field day with this one.

The initial plans to turn us all into mindless zombies seem to be shelved for now, however they are working on what they call Targeted Neuroplasticity Training (TNT), which they explain means using the body’s nervous system to enhance and speed up the learning process. This could be achieved by using a process known as ‘synaptic plasticity‘ which opens and closes the brains synapses with electrical stimulation. They hope that by tuning the neural networks responsible for cognitive function it will enhance learning. Let’s just hope they don’t turn any humans into DARPA falling robots.

Learn a Language, One Moment at a Time

There’s a lot of times in an average day when you’ll find yourself waiting. Waiting for your morning brew at the cafe, or for an email to show up — it’s often just a few minutes, many times a day. It’s far too short a time to get any real work done, but it adds up at the end of the week.

Enter WaitSuite, a language learning tool developed by MIT’s CSAIL. It’s a language learning tool, which aims to teach users words in a foreign language in these “micromoments” — the short periods of time spent waiting each day. The trick to WaitSuite here is in its ultralightweight design which integrates into other tasks and software on your computer and smartphone. Rather then having to launch a separate app, which takes time and effort, WaitSuite hovers in the background, ready to go when it detects a short period of wait time. Examples given are hitting refresh in Gmail, or waiting for a connection to a WiFi network.

The team behind the project calls this concept wait-learning; you can read the paper here. If you’d like to try it out, use the Chrome extension called WaitChatter. It quizzes you while you’re waiting on a response in GChat. We’d love to see the rest of the WaitSuite released publicly soon.

It’s a tidy piece of software that’s great for those looking for an alternative to compulsively refreshing social media while loitering. It probably won’t help you learn French overnight, but it could be a useful way to pick up some extra vocab without having to carve more time out of your schedule.

We don’t see a whole lot of language learning hacks here, but you might like to check out Adafruit’s take on the Babel Fish.

ESP8266 BASIC Sets Up a Web Remote in No Time

One of the sticking points for us with our own Internet of Things is, ironically, the Internet part. We build hardware happily, but when it comes time to code up web frontends to drive it all, the thrill is gone and the project is only half-done.

Including some simple web-based scripting functionality along with the microcontroller basics is one of the cleverest tricks up ESP8266 BASIC’s sleeves. BASIC author [mmiscool] puts it to good use in this short demo: a complete learning IR remote control that’s driven through a web interface, written in just a few lines of BASIC.

Note that everything happens inside the ESP8266 here, from hosting the web page to interpreting and then blinking back out the IR LED codes to control the remote. This is a sophisticated “hello world”, the bare minimum to get you started. The interface could look slicker and the IR remote could increase its range with more current to the LED, but that would involve adding a transistor and some resistors, doubling the parts count.

For something like $10 in parts, though, this is a fun introduction to the ESP and BASIC. Other examples are simpler, but we think that this project has an awesome/effort ratio that’s hard to beat.

Ask Hackaday: Did Video Games Influence Your Career?

Apex Minecraft hosting recently held a scholarship competition. The person who sent in the best essay would win a $2,000 scholarship.  The winning essay starts, “Five years ago, at age 13, I built an entire computer from scratch. Assembled from basic components: wires, torches, repeaters, pistons, and blocks, it was capable of rendering images to a display, multiplying and dividing numbers, and even calculating square roots.” I  had to read it twice before it clicked that he was talking about a computer built entirely in a fictional universe.

It’s no wonder that he’s now a freshman at college, pursuing a degree in computer engineering. After reading this, I started to reminisce. The first computer I ever had access to was my mother’s laptop. It had an install of QBASIC on it, and I remember using it to make a few text based games. Later on when we got our first family computer I remember spending hours getting no better at video game programming using QBASIC.

It went on and on. I remember doing AI for video games in DarkBasic. I remember doing physics and collisions. Eventually I found my way to html, then php, to make websites about games (which are too terrible to share with you). So when the time came to program robots I was absolutely fearless. It just seemed like such a natural extension of what I already knew that it never occurred to me to be thankful for the time I spent trying to make my own simple little games until much later.

In the end I am still occasionally making little forays into game programming when I want to learn a new language or get back up to speed. It never occurred to me that perhaps this was just the way I’ve always learned a language.

Later on in the winner’s essay he goes on to describe his minecraft community. They taught new players. They taught themselves. They hung out and became friends. The writer gained a sense of self as a user of computers, a teacher of skills, a good member of a community, and a solver of problems. Unlike some of his classmates he won’t go to college and have to learn if he’s good enough. He’ll already know. All it took was a silly block based game.

Did any of you have seemingly frivolous endeavors show up as a foundation for your life and learning far into the future? Tell in the comments below how this ended up shaping your career.

Grand Theft Auto V Used To Teach Self-Driving AI

For all the complexity involved in driving, it becomes second nature to respond to pedestrians, environmental conditions, even the basic rules of the road. When it comes to AI, teaching machine learning algorithms how to drive in a virtual world makes sense when the real one is packed full of squishy humans and other potential catastrophes. So, why not use the wildly successful virtual world of Grand Theft Auto V to teach machine learning programs to operate a vehicle?

Half and Half GTAV Annotation ThumbThe hard problem with this approach is getting a large enough sample for the machine learning to be viable. The idea is this: the virtual world provides a far more efficient solution to supplying enough data to these programs compared to the time-consuming task of annotating object data from real-world images. In addition to scaling up the amount of data, researchers can manipulate weather, traffic, pedestrians and more to create complex conditions with which to train AI.

It’s pretty easy to teach the “rules of the road” — we do with 16-year-olds all the time. But those earliest drivers have already spent a lifetime observing the real world and watching parents drive. The virtual world inside GTA V is fantastically realistic. Humans are great pattern recognizers and fickle gamers would cry foul at anything that doesn’t analog real life. What we’re left with is a near-perfect source of test cases for machine learning to be applied to the hard part of self-drive: understanding the vastly variable world every vehicle encounters.

A team of researchers from Intel Labs and Darmstadt University in Germany created a program that automatically indexes the virtual world (as seen above), creating useful data for a machine learning program to consume. This isn’t a complete substitute for real-world experience mind you, but the freedom to make a few mistakes before putting an AI behind the wheel of a vehicle has the potential to speed up development of autonomous vehicles. Read the paper the team published Playing for Data: Ground Truth from Video Games.

Continue reading “Grand Theft Auto V Used To Teach Self-Driving AI”