If you aren’t old enough to remember programming FORTRAN on punched cards, you might be surprised that while a standard card had 80 characters, FORTRAN programs only used 72 characters per card. The reason for this was simple: keypunches could automatically put a sequence number in the last 8 characters. Why do you care? If you drop your box of cards walking across the quad, you can use a machine to sort on those last 8 characters and put the deck back in the right order.
These days, that’s not a real problem. However, we have spilled one of those little parts boxes — you know the ones with the little trays. We aren’t likely to separate out the resistors again. Instead, we’ll just treasure hunt for the value we want when we need one.
[Brian Gross], [Nathan Lambert], and [Alex Parkhurst] are a bit more industrious. For their final project in [Bruce Land’s] class at Cornell, they built a 3D-printed resistor sorting machine. A PIC processor feeds a resistor from a hopper, measures it, and places it in the correct bin, based on its value. Who doesn’t want that? You can see a video demonstration, below.
On the hardware front, it’s a tiny four-layer board that’s crammed with parts. At the core is an STM32F4 microcontroller and a DAC. Indeed, the build was inspired by other folks’ work on the STM32F4 Discovery dev kit that has been used to make some pretty interesting synthesizer devices. [Mario]’s version adds two stereo headphone outputs, two microphone inputs, two IR reflective distance sensors used as control inputs, some buttons, and a ton of LEDs. And then it makes good use of all of them.
The firmware isn’t open source yet (poke! poke!) but it looks like it’s going to be. On his blog, [Mario] works through an example of adding a drum machine into the existing firmware, so it looks like it’ll be hackable.
Squeezing a lot of DSP functionality out of a single microcontroller is a feat. On a similar chip from a different manufacturer, [Paul Stoffregen]’s Teensy Audio Library could also be made to do a lot of the same things. But the real beauty of the Gecho project is that it has some interesting hardware features already built in and ready to go. It wouldn’t be a bad launching pad for your own musical or audio explorations.
In the mid-1970’s there were several U.S.-based hobby electronics magazines, including Popular Electronics and Radio Electronics. Most people know that in 1975, Popular Electronics ran articles about the Altair 8800 and launched the personal computer industry. But they weren’t the first. That honor goes to Radio Electronics, that ran articles about the Mark 8 — based on the Intel 8008 — in 1974. There are a few reasons, the Altair did better in the marketplace. The Mark 8 wasn’t actually a kit. You could buy the PC boards, but you had to get the rest of the parts yourself. You also had to buy the plans. There wasn’t enough information in the articles to duplicate the build and — according to people who tried, maybe not enough information even in the plans.
[Henk Verbeek] wanted his own Mark 8 so he set about building one. Of course, coming up with an 8008 and some of the other chips these days is quite a challenge (and not cheap). He developed his own PCBs (and has some extra if anyone is looking to duplicate his accomplishment). There’s also a video, you can watch below.
Forth is one of those interesting languages that has a cult-like following. If you’ve never looked into it, its strength is that it is dead simple to put on most CPUs, yet it is very powerful and productive. There are two main principles that make this possible. First, parsing is easy because any sequence of non-space characters makes up a legitimate Forth word. So while words like “double” and “solve” are legal Forth words, so is “#$#” if that’s what you want to define.
The other thing that makes Forth both simple and powerful is that it is stack-based. If you are used to a slide rule or an HP calculator, it is very natural to think of “5+2*3” as “5 2 3 * +” but it is also very simple for the computer to interpret.
[Zeroflag] created PunyForth–a Forth-like language for the ESP8266. You can also run PunyForth for cross development purposes on Linux (including the Raspberry Pi). The system isn’t quite proper Forth, but it is close enough that if you know Forth, you’ll have no trouble.
One way to get around limitations in computing resources is to throw more computers at the problem. That’s why even cheap consumer-grade computers and phones have multiple cores in them. In supercomputing, it is common to have lots of processors with sophisticated sharing mechanisms.
[Henk Verbeek] decided to take 80 inexpensive PIC32 chips and build his own cluster programmed in — of all things — BASIC. The devices talk to each other via I2C. His example application plots fractals on another PIC32-based computer that has a VGA output. You can see a video of the device in action, below.
The Apple II was one of the first home computers. Designed by Steve “Woz” Wozniak, it used the MOS technologies 6502 processor, an 8-bit processor running at about 1 MHz. [Maxstaunch] wrote his bachelor thesis about emulating the 6502 in software on an AVR1284 and came up with a handheld prototype Apple II with screen and keyboard.
Originally, [maxstrauch] wanted to build an NES, which uses the same 6502 processor, but he calculated the NES’s Picture Processing Unit would be too complicated for the AVR, so he started on emulating the Apple II instead. It’s not quite there – it can only reference 12K of memory instead of the 64K on the original, so hi-res graphic mode, and therefore, many games, won’t work, but lo-res mode works as well as BASIC (both Integer BASIC and Applesoft BASIC.)
[Maxstrauch] details the 6502 in his thesis and, in a separate document, he gives an overview of the project. A third document has the schematic he used to build his emulator. His thesis goes into great detail about the 6502 and how he maps it to the AVR microcontroller. The build itself is pretty impressive, too. Done on veroboard, the build has a display, keyboard and a small speaker as well as a micro SD card for reading and storing data. For more 6502 projects, check out the Dis-Integrated 6502 and also, this guide to building a homebrew 6502.
College engineering projects are great, because they afford budding engineers the opportunity to build interesting things without the need for financial motivation. Usually, some basic requirements are established, but students are free to get creative and build something that appeals to them personally. For our readers, mechatronics courses are ripe for these kinds of projects, as the field combines electrical engineering, mechanical engineering, and programming.
[Ethan Crane] is in just such a course, and had a final project due with only one real requirement: it had to use a PICAXE. Obviously, this gave [Ethan] quite a bit of freedom to build something unique, and what he came up with is an “Anti-Entropy Machine” designed to sort M&M candies by color. The electronics are as simple as [Ethan] could make them (a good philosophy for an engineering student to adhere to). There is an IR sensor to determine if a candy is in the hopper, an RGB sensor to determine its color, and servos to position the delivery chute based on color and operate the hopper.