We’re glad we’re not the only hacker-packrats out there! [Voja Antonic] recently stumbled on an EPROM emulator that he’d made way back in 1991. It’s a sweet build, so take your mind back 25 years if you can. Put on “Nevermind” and dig into a nicely done retro project.
The emulator is basically a PIC 16C54 microcontroller and some memory, with some buffers for input and output. On one side, it’s a plug-in replacement for an EPROM — the flash memory of a bygone era. On the other side, it connects via serial port to a PC. Instead of going through the tedious process of pulling the EPROM, erasing and reprogramming it, this device uploads new code in a jiffy.
No need to emulate ancient EPROMS? You should still check out this build — the mechanics are great! We love the serial-port backplane that is soldered on at a 90° angle. The joint is a card-edge connector electrically, but also into a nice little box, reminiscent of [Voja]’s other FR4 fabrication tricks. The drilled hole with the LED poking out is classy. We’re never going to make an EPROM emulator, but we’re absolutely going to steal some of the fabrication techniques.
[Evan] always wanted a trackball for his arcade cabinet. It’s hard to play Missile Command with anything else, and Centipede with any other controller is just stupid. So he bought one, jury-rigged a mounting bracket for it, and then fried it by plugging the wiring harness in backwards. Doh!
But proving Edison’s famous statement that innovation is 1% inspiration and 99% having the right stuff in your junk bin, [Evan] dug deep and came out with one of twenty (!) old ball mice that he had purchased for just such an occasion. (Yeah, right.) Since a ball mouse is essentially an upside-down trackball, all that remained for him to do was reverse-engineer the mouse and swap its controller in for the busted trackball.
A simple hack, born of necessity, and well done. If you’re stuck with a crate of optical mice instead, consider turning them instead into optical laser rangefinders.
If you build electronic circuits on a regular basis the chances are you will have used capacitors many times. They are a standard component along with the resistor whose values are lifted off the shelf without a second thought. We use them for power supply smoothing and decoupling, DC blocking, timing circuits, and many more applications.
A capacitor though is not simply a blob with two wires emerging from it and a couple of parameters: working voltage and capacitance. There is a huge array of capacitor technologies and materials with different properties. And while almost any capacitor with the right value can do the job in most cases, you’ll find that knowing more about these different devices can help you make something that doesn’t just do the job, but does the best possible job. If you’ve ever had to chase a thermal stability problem or seek out the source of those extra dBs of noise for example you will appreciate this.
Back to Basics
It’s best to start with the basics, and describe capacitance from first principles before looking at real capacitors. An ideal capacitor consists of two conductive plates separated by a non-conductive dielectric. Charge can accumulate on the plates, but can not flow between them because of the insulating nature of the dielectric. Thus the capacitor can store the charge.
Capacitance is measured in farads: a one farad capacitor maintains a voltage of one volt when it holds a coulomb of charge. A farad is like so many SI units, rather impractically sized, so outside the narrow realm of supercapacitors which are beyond the scope of this article you are more likely to encounter micro-, nano-, or picofarads. You can derive the capacitance of any given capacitor from its dimensions and the properties of its dielectric using a formula which it’s probably worth sending you to Wikipedia for if you are interested. You don’t need to memorise it unless you are studying for a high school physics exam, but it conceals one important point to take away. The capacitance is proportional to the dielectric constant εr of the dielectric being used, which has given rise to a wide variety of commercially available capacitors using different dielectric materials to achieve higher capacitance ranges or better voltage handling characteristics.
There is a snag to using dielectric materials in a capacitor, along with the desirable characteristics of a dielectric come a host of annoying side-effects. All real-world capacitors have internal parasitic resistance and inductance, and though tiny, they can sometimes have an effect on the capacitor’s operation. Dielectric constants can vary with temperature or voltage, piezoelectricity, or noise. Different types of capacitor can have alarming failure modes or even just be eye-wateringly expensive. And so we come to the main part of this piece, the section in which we’ll take you through some of the capacitor types you may encounter, and lay out for you their various properties both good and bad. We won’t claim to cover every possible capacitor technology, however we’ll run through the common capacitor technologies and examine any subtypes you may find.
Aluminium electrolytic capacitors use an anodised oxide layer on an aluminium sheet that is one plate as their dielectric, and the electrolyte of the electrochemical cell that formed it as the other plate. Because they are an electrochemical cell they are polarised, in other words any DC potential across them must always be in the same direction with the anodised plate as the anode (!), or positive terminal.
Practical electrolytic capacitors have their plates in the form of an aluminium foil sandwich rolled into a cylinder and housed in an aluminium can. They will have a quoted working voltage that depends on the depth of the anodised layer.
Electrolytic capacitors have the highest capacitance of the types you will encounter in normal use, ranging from around 0.1 to many thousands of µF. Because of that tightly coiled electrochemical cell they have a high equivalent series inductance, so they are not suitable for use at high frequencies. You will typically find them used for power supply smoothing and decoupling, as well as for coupling at audio frequencies.
A tantalum electrolytic capacitor takes the form of a sintered tantalum anode with a very high surface area on which a thick oxide layer is grown and upon which a manganese dioxide electrolyte is applied as a cathode. The combination of high surface area and the dielectric properties of the tantalum oxide dielectric mean that a tantalum capacitor has a very high capacitance per unit volume, so a tantalum capacitor is much smaller than its corresponding aluminium electrolytic with the same capacitance. Like aluminium electrolytics, tantalum capacitors are polarised, the DC potential across them must always be in the same direction.
Tantalum capacitors are available with values from around 0.1 to several hundred µF. They have a much lower leakage resistance and equivalent series resistance than their aluminium counterparts, so you will find them in test and measurement, high-end audio, and in other applications where those properties are advantageous.
Tantalum capacitors have a failure mode to watch out for, they have a reputation for catching fire. Amorphous tantalum oxide is a good dielectric, while the crystaline form of tantalum oxide is a good conductor. Mistreatment of a tantalum capacitor by for instance applying too much inrush current to it can cause the dielectric to change from one form to the other, causing a huge increase in current through the capacitor. Happily not all the news is bad though, their reputation for fires came from a much earlier generation of tantalum capacitors, and improved manufacturing techniques have delivered a much more reliable product.
There is a whole family of capacitors that use a polymer film as a dielectric, with the film either sandwiched between coiled or interleaved layers of metal foil, or having a metalized layer deposited on its surface. These capacitors can have a voltage rating in the region of 1000V but are not available with high capacitances, you will find them from about 100pF to single-figures µF. Each different polymer dielectric used has its own properties that lend it strengths and weaknesses, however the whole family of capacitors feature a lower equivalent series capacitance and inductance than the electrolytic capacitors we’ve discussed so far. You will thus see them used in higher frequency applications and supply decoupling in electrically noisy environments as well as in general purpose applications.
Polypropylene capacitors are used in circuits that require good temperature and frequency stability. You will also find them used in mains suppression and other power circuits, in specially rated versions for high voltage AC use.
Polyester capacitors do not possess the temperature and frequency characteristics of polypropylene, however they are cheap and can withstand the elevated temperatures of SMD soldering. You will thus find them used as general purpose capacitors in non-critical applications.
Polyethylene naphthalate capacitors yet again do not have stable temperature and frequency characteristics, but they can withstand much higher temperatures and voltages than polyester.
Polyphenylene sulphide capacitors possess all the temperature and frequency stability of polypropylene with the bonus of being able to withstand high temperatures.
You may also encounter polycarbonate and polystyrene capacitors in older equipment, however these two dielectrics are not commonly used today.
Ceramic capacitors have a long history, you will find them in equipment made from the present day back to the early decades of the last century. Earlier ceramic capacitors were a single layer of ceramic metalized on either side, while more recent examples also include mutilayer designs in which alternate layers of metalization and ceramic are built up to form an interleaving set of plates. They are available depending on the dielectric used with capacitances from 1pf into the tens of µF, and with voltages into the kilovolts. You will find single layer ceramic discs and multilayer ceramic surface-mount packages used in multiple small-capacitance applications across all areas of electronics.
C0G dielectrics have the best stability of capacitance with respect to temperature, frequency, and voltage. You will find C0G capacitors used in resonant high frequency and other high performance circuits.
X7R dielectrics do not share the temperature or voltage characteristics of C0G, and thus are used in less critical applications. You will typically find them used for decoupling and general purpose applications.
Y5V dielectrics give a much higher capacitance than X7R, but with worse temperature characteristics and a lower maximum voltage. Like X7R you will find them in general purpose and decoupling circuits.
Since ceramics are often also piezoelectric, some ceramic capacitors also exhibit microphony. If you work with high voltages and audible frequencies, for example in the world of tube amplifiers or electrostatics, you may sometimes be able to hear this effect in action, as a capacitor may “sing”. If you use a piezoelectric capacitor to provide frequency stability you may thus find it is modulated by the vibration of its environment.
As we stated earlier, this article does not attempt to cover all capacitor technologies. A quick glance at an electronic supplies catalogue will show you several technologies not mentioned here, and there are multiple others that are obsolete or whose niche is so tiny that you will rarely see them. Instead what we hope to have achieved is to have demystified some of the common types you may see, and aided you in your selection when you produce your own designs. If we’ve whetted your appetite for more component rundowns, perhaps we can draw your attention to our piece on inductors.
Enigma machines are fascinating devices, especially for young Makers looking to explore the world of electronics. Awhile back we featured a similar project from Italy, and we’re once again amazed by the work of 14-year-old Andy Eggebraaten, who built a retro-modern gadget of his own. The project, which was for his high school’s science fair, took nine months to complete.
These electro-mechanical rotor cipher machines were developed in the early 20th century to protect commercial, diplomatic and military communication, used especially by German military intelligence during World War II.
In the video below, Andy opens the machine to show its inner workings: the unit runs on Arduino Mega along with 1,800 other parts and 500 color-coded wires. We can see that he evolved the rotors into electronic modules that plug into D-Sub sockets, and the interface is made using a 16-segment display showing the rotor position as well as an LCD screen to read the plain- and the encoded text.
It’s been a long wait, but our latest single board computer for review is finally here! The BBC micro:bit, given free to every seventh-grade British child, has landed at Hackaday courtesy of a friend in the world of education. It’s been a year of false starts and delays for the project, but schools started receiving shipments just before the Easter holidays, pupils should begin lessons with them any time now, and you might even be able to buy one for yourself by the time this article goes to press.
It’s a rather odd proposition, to give an ARM based single board computer to coder-newbie children in the hope that they might learn something about how computers work, after all if you are used to other similar boards you might expect the learning curve involved to be rather steep. But the aim has been to position it as more of a toy than the kind of development board we might be used to, so it bears some investigation to see how much of a success that has been.
Opening the package, the micro:bit kit is rather minimalist. The board itself, a short USB lead, a battery box and a pair of AAA cells, an instruction leaflet, and the board itself. Everything is child-sized, the micro:bit is a curved-corner PCB about 50mm by 40mm. The top of the board has a 5 by 5 square LED matrix and a pair of tactile switches, while the bottom has the surface-mount processor and other components, the micro-USB and power connectors, and a reset button. Along the bottom edge of the board is a multi-way card-edge connector for the I/O lines with an ENIG finish. On the card edge connector several contacts are brought out to wide pads for crocodile clips with through-plated holes to take 4mm banana plugs, these are the ground and 3V power lines, and 3 of the I/O lines.
It is obvious when compared to other single board computers that this one has been designed with the pocket of a 12-year-old in mind. It’s a robust 1.6mm thick board that is devoid of pins and spiky connectors, and on which care has obviously been taken to ensure as low a profile as possible.
In hardware terms it has an ARM Cortex M0 processor from Nordic Semiconductor, a compass, accelerometer, Bluetooth Low Energy and USB as well as the previously mentioned switches, LEDs, and GPIOs.
To use the device, you have the choice of connecting it to your computer via USB, or to your phone or tablet via Bluetooth Low Energy. Sadly none of our devices support BLE so for this review we’ll be taking the former approach.
All programming is performed through a selection of web-based environments, with code editing and compilation performed online and the resulting binary file arriving as a download before being placed on the micro:bit by the user through the filesystem. Since the micro:bit is also an mbed under the hood we’d expect it to be programmable using the mbed toolchain, however that is beyond the scope of this review.
In use, the Code Kingdoms editor is straightforward and intuitive, the code for a simple compass you can see in our screenshot was very quick to assemble as a first effort. Unfortunately though in our browser at least it was extremely slow, at times almost to the point of being unusable. In particular when you wish to remove a code block it starts up an animation of its waste bin opening up which slows the browser to a crawl. It is not a good sign when you load a web page and hear your processor fan spin up.
Following the Code Kingdoms editor is Microsoft’s Block Editor. This is a drag-and drop visual editor in the same vein as the Code Kingdoms editor, except that there is no pretence of building a more traditional coding language and it is a much faster and smoother experience. The interface is broadly similar in layout to the Code Kingdoms editor, except for the compile and run commands which are at the top, above the coding window.
In our screenshot you’ll see a very simple environmental monitor designed to display readings from the micro:bit’s various sensors. Yet again this was a simple and intuitive piece of software to assemble for someone using the environment for the first time.
The third environment is another one from Microsoft, their Touch Develop editor. This is different from the other editors in that it is designed especially for use in touch environments on tablets and phones, so we tested it on an Android phone.
While the Touch Develop editor follows the same idea as the previous two of building code by selecting blocks from menus, it creates something a lot closer to text code, and requires the user to manually enter for example function parameters. We found its help system to be a little difficult on this front, it’s doubtless a useful editor if you know its intricacies but there is quite a learning curve for a first-time user.
The Touch Develop team have made as good a good job of putting a development environment onto a phone screen as they could and it is very usable, however due to the limited screen space it is still a little awkward and crowded. With luck this should be less of an issue for tablet owners.
It is worth pointing out that this editor can be stored as an offline bookmark allowing it to be used without an Internet connection, however it is not clear how any code written in this way might be compiled.
The final editor choice for the micro:bit is Python, in fact a micro:bit build of MicroPython. This editor lacks the software micro:bit emulator, but is much more like the kind of software environment that Hackaday readers will be used to. The main window is a straight text editor ready to type your Python into, and there is no menu of predefined code blocks. Instead there is a comprehensive introduction, tutorial, and documentation of the various micro:bit Python libraries, and once you are armed with those you can step right in and start writing code.
In use if you are happy with Python it is very straightforward. If your code generates any errors they are displayed scrolling across the micro:bit’s LED matrix which can be rather tedious, however at least the errors we generated were informative and led us straight to the points in our compass code which had gone wrong.
Looking at the libraries available in this editor it becomes clear that Python is the most powerful way to control your micro:bit. As well as the simple functions available in the other editors it offers libraries for I2C, SPI, UART, Neopixels and more. It’s immediately obvious that this is where the micro:bit’s “Wow!” hacks are most likely to be created.
Having looked at all the editors, our choices would be Python as the most powerful coding environment for experienced coders, and the Microsoft Block editor as the most useful drag-and-drop environment for beginners. The Code Kingdoms editor is nice but glacially slow, and the Touch Develop editor is a bit fiddly. It’s worth mentioning that all the editors have an option to save code locally, this produces an LZMA-compressed file with raw code in a JSON structure.
Of course, though some of us may benefit from it, this board is not made for Hackaday readers but for children. If it gets the recipe right, in a decade’s time it will be cited by a generation of new graduates as the machine that got them into software, but has it hit the mark? Since the children in question are only now receiving their first lessons it’s a bit early to tell, but the teacher lent us this micro:bit for the review tells us there are only two minor gripes. Not having an on-off switch they go through batteries at a phenomenal rate, and since their failed programs show no LEDs they think they’ve killed it when their software doesn’t work. The first it’s possible the kids will fix themselves by learning to unplug the packs, and perhaps the micro:bit people can fix the second with a software update. If these are the worst things that can be said about it though there can’t be too much wrong with it.
Like the fictitious invention of the Hula Hoop in Hudsucker Proxy, [David Spinden]’s big idea is small and obvious once you’ve seen it. And we’re not saying that’s a bad thing at all. What he’s done is to make a new kind of prototyping connector; one that hooks into a through-plated hole like a pogo pin, but in the horizontal direction.
This means that your test-points can do double duty as header connectors, when you need to make something more permanent, or vice-versa. That’s a lot of flexibility for a little wire, and it takes one more (mildly annoying) step out of prototyping — populating headers.
[David] makes them out of readily available header pins that already have the desired spring-like profile, and simply cuts them out and connects them to a standard Dupont-style hookup wire. Great stuff.
When we opened up the “Anything Goes” category for the Hackaday Prize, we meant it. We’re excited to see people entering large and small ideas that improve the world, even if it’s just the world of hackers.