Turning Tact Switches Into Keyboards

One of the great unsolved problems in the world of DIY electronics is a small keyboard. Building your own QWERTY keyboard is a well-studied and completely solved problem; you need only look at the mechanical keyboard community for evidence of that. For a small keyboard, though, you’d probably be looking at an old Blackberry handset, one of those Bluetooth doohickies, or rolling your own like the fantastic Hackaday Belgrade badge. All of these have shortcomings. You’ll need to find a header for the Blackberry keyboard’s ribbon cable, the standard Bluetooth keyboard requires Bluetooth, and while the Belgrade badge’s keyboard works well, it’s a badge, not a keyboard you would throw in a bag for years of use.

[bobricious] might have just cracked it. For his Hackaday Prize entry, he’s created a tiny USB keyboard out of tact switches. What’s the secret? An entire panel of PCBs. It looks great, and it might just hold up to the rigors of being tossed in a random bag of holding filled with electronics.

The electronics for the keyboard are simple enough; there are 56 standard through-hole tact switches, and an SAMD21 microcontroller. Connections to the outside world are through a micro USB port, serial, or I2C. it’s small, too, coming in at just under 5 cm by 10 cm.

The real trick here is using a stack of PCBs to label the buttons and provide a bit of mechanical support. The panel for this project consists of one base board holding all the electronics and a secondary board that gives the entire project a finished look while adding a bit of structural support.

If you’ve never looked at the options for small keyboards, there aren’t many. Blackberries are a thing of the past, and there’s no good way to add a QWERTY keyboard to small projects. This project does that in spades. Since the basic idea is, ‘put holes in a second PCB’, this idea is transferable to other keyboard layouts too.

Biasing That Transistor Part 4: Don’t Forget The FET

The 2N3819 is the archetypal general-purpose N-channel FET. (ON Semiconductor)
The 2N3819 is the archetypal general-purpose N-channel FET. (ON Semiconductor)

Over the recent weeks here at Hackaday, we’ve been taking a look at the humble transistor. In a series whose impetus came from a friend musing upon his students arriving with highly developed knowledge of microcontrollers but little of basic electronic circuitry, we’ve examined the bipolar transistor in all its configurations. It would however be improper to round off the series without also admitting that bipolar transistors are only part of the story. There is another family of transistors which have analogous circuit configurations to their bipolar cousins but work in a completely different way: the Field Effect Transistors, or FETs.

In a way it’s less pertinent to look at FETs in the way we did bipolar transistors, because while they are very interesting devices that power much of what you will do with electronics, you will encounter them as discrete components surprisingly rarely. Every CMOS device you deal with relies on FETs for its operation and every high-quality op-amp you throw a signal at will do so through a FET input, but these FETs are buried inside the chip and you’d be hard-pressed to know they were there if we hadn’t told you. You’d use a FET if you needed a high-impedance audio preamp or a low-noise RF amplifier, and FETs are a good choice for high-current switching applications, but sadly you will probably never have a pile of general-purpose FETs in the way you will their bipolar equivalents.

That said, the FET is a fascinating device. Join us as we take an in-depth look at their operation, and how and where you might use one.

FET basics

A diagram of an n-channel JFET. As the negative gate voltage on the p-type silicon decreases in the lower diagram, its electric field restricts the area through which electrons can flow in the n-type channel. Chtaube,(CC BY-SA 2.0 DE)
A diagram of an n-channel JFET. As the negative gate voltage on the p-type silicon decreases in the lower diagram, its electric field restricts the area through which electrons can flow in the n-type channel. Chtaube,(CC BY-SA 2.0 DE)

A basic FET has three terminals, a source (the source of electrons), a gate (the control terminal), and a drain (where electrons leave the device). These are analogous to the terminals on a bipolar transistor, in that the source fulfills a similar role to the emitter, the gate to the base, and the drain to the collector. Thus the three basic bipolar transistor circuit configurations have equivalents with a FET; common-emitter becomes common-source, common-base becomes common-gate, and an emitter follower becomes a source follower. It is dangerous to stretch the analogy between bipolar transistors and FETs too far, though, because of their different mode of operation. A closer similarity exists between a FET and a triode tube, if that helps.

The simplest FET for demonstration purposes has a piece of N-type semiconductor with source and drain connections at opposite ends, and a zone of P-type semiconductor deposited in its middle. This is referred to as an N-channel junction FET or JFET, because the channel through which current flows is N-type semiconductor, and because a diode junction exists between gate and channel. There are equivalent P-channel devices, just as there are PNP and NPN bipolar transistors.

Were you to bias an n-channel JFET as you would a bipolar transistor with a positive bias on its gate, the diode between gate and source would conduct, and the transistor would remain a diode with two cathode terminals. If however you give the gate a negative bias compared to the source, the diode becomes reverse-biased, and no current to speak of flows in the gate.

A characteristic of a reverse-biased diode is that it has a depletion zone between anode and cathode, an area in which there are no electrons. This is what causes the diode to no longer conduct, and the size of the depletion zone depends upon the size of the electric field that exists across it. If you’ve ever used a varicap diode, the capacitance between the two sides of this variable-width zone is the property you are exploiting.

In a FET, the depletion zone stretches from the gate region into the channel, and since its size can be adjusted by the gate voltage it can be used to “pinch” the remaining conductive region within the channel. Thus the area through which electrons can flow is controlled by the gate voltage, and thus the current that flows between drain and source is proportional to the gate voltage. We have an amplifier.

A simple FET radio receiver circuit showing FET biasing. The gate is biased at ground potential through the inductor, and the source is held above ground by the current in the 5K resistor. Herbertweidner [Public domain].
A simple FET radio receiver circuit showing FET biasing. The gate is biased at ground potential through the inductor, and the source is held above ground by the current in the 5K resistor. Herbertweidner [Public domain].
In the JFET diagram above, the negative gate bias is represented by a battery. Tube enthusiasts may have encountered equipment that derives negative grid bias from a power supply, and you will find tube power units that include a -150 V rail for this purpose. In general though this is inconvenient in a FET circuit even though the voltage is lower, because of the extra cost of a negative regulator.. Instead the gate is held at a lower potential than the source by careful selection of a source resistor such that the current flowing through it brings the source up above ground, and a gate bias circuit that holds the gate close to ground. The base resistor chain from the bipolar circuit is for this reason often replaced with either a single resistor to ground, or a gate circuit with a very low DC resistance to ground such as an inductor.

MOSFETs, where the FET becomes more useful

Internal structure of an N-channel MOSFET. Fred the Oyster [Public domain].
Internal structure of an N-channel MOSFET. Fred the Oyster [Public domain].
The JFET we have described is the simplest of field-effect devices, but it is not the one you will encounter most frequently. MOSFETs, short for Metal Oxide Semiconductor FETs, have a similar source, gate, and drain, but instead of relying on a depletion zone in a reverse-biased diode, they have a thin layer of insulation. The electric field from the gate acts across this insulation and pinches the conductive region in the channel through repulsion of electrons, with the same effect as it has in the JFET. It is beyond the scope of this piece to go into their mechanisms, but you will encounter two types of MOSFET: depletion mode devices that require the same negative bias as the JFET, and enhancement mode MOSFETS that require a positive bias.

Why would you use a FET?

So we’ve described the FET, and noted that while its mode of operation is different to that of a bipolar transistor it does a substantially similar job. Why would we use a FET then, what advantages does it offer us? The answer comes from the gate being insulated either by a depletion region in a JFET or by an insulating layer in a MOSFET. A FET is a voltage amplifier rather than a current amplifier, its input impedance is many orders higher than that of a bipolar transistor, and thus you will find FETs used in many applications that require a high impedance small-signal amplifier. The input of a high-performance op-amp will almost certainly be a FET, for example.

This half-bridge power MOSFET driver circuit uses a specialist gate driver IC with a pair of Schmidt buffers to deliver the initial surge required for a fast-turn-on time. Wdwd (CC BY 3.0).
This half-bridge power MOSFET driver circuit uses a specialist gate driver IC with a pair of Schmidt buffers to deliver the initial surge required for a fast-turn-on time. Wdwd (CC BY 3.0).

The high input impedance has another effect less coupled to small signal work. Where a bipolar transistor requires significant base current to turn itself on, the corresponding FET requires almost none. Thus almost all complex integrated circuit logic devices are FET-based rather than bipolar because of the huge power saving that can be made by not needing to supply the base current demands of many thousands of bipolar transistors.

The same effect influences the choice of FETs for power switching, while a bipolar transistor’s base current is proportional to its collector current and thus it will need a significant driver, by contrast a power MOSFET requires virtually no standing gate current after an initial surge. A MOSFET power switch can thus be built requiring much less in the way of drive electronics and much more efficiently than a corresponding bipolar switch, and makes possible some of the tiny driver boards you might be used to for driving motors in your 3D printer, or your multirotor.

Through the course of this series you should have acquired a solid grounding in basic bipolar transistor principles, and now you should be able to add FETs to that knowledge base. We suggested you buy a bag of 2N3904s to experiment with in one of the previous articles, can we now suggest you do the same with a bag of 2N3819s?

Minimum Viable 1-D PONG

What makes a game a game? Like, how do we know that we’re looking at a variation of PONG when confronted with one? And how do we know how to play it? [Bertho] sought to answer this question as he designed what is probably the smallest-ever 1-D PONG game. His answer involves charlieplexing LEDs, using a voltage divider to save I/O pins, and a couple of AAAs that should last for a long, long time.

[Bertho]’s Minimum 1-D PONG, or m1dp for short, puts an ATTiny85 through its paces as gameplay quickly progresses from ‘I got this’ to ‘no one could possibly keep this up’. This state machine sleeps until one of the two buttons is pressed, at which time a wait animation starts. The action begins with the next button press.

Game play across only five LEDs makes for some pretty intense action, too. Fortunately, the buzzer is a big part of the experience. It sounds one tone for each LED when the ball is in play, and a different tone to confirm button presses. [Bertho] saved so many I/O pins with charlieplexing that he added a green LED that lights up when it’s OK to return the ball. If we were playing, we’d keep our eye on this LED instead of trying to watch the ball. We’re serving the demo after the break point, so don’t let it get past you.

For a study in minimalism, there sure is a lot going on here with all the different tones and animations. If you’d prefer maximalist 1-D PONG, there’s always LED strips. If dungeon crawlers with satisfying hardware are more your thing, you really need to check out Twang.

Continue reading “Minimum Viable 1-D PONG”

VCF East 2018: SDR On The Altair 8800

You’d be forgiven if you thought software defined radio (SDR) was a relatively recent discovery. After all, few outside of the hardcore amateur radio circles were even familiar with the concept until it was discovered that cheap USB TV tuners could be used as fairly decent receivers from a few hundred MHz all the way up into the GHz range. The advent of the RTL-SDR project in 2012 brought the cost of entry level SDR hardware from hundreds of dollars to tens of dollars effectively overnight. Today there’s more hackers cruising the airwaves via software trickery than there’s ever been before.

Continue reading “VCF East 2018: SDR On The Altair 8800”

Who Said Thermal Cameras Weren’t Accessible To The Masses?

Thermal cameras hold an enduring fascination as well as being a useful tool for the engineer. After all, who wouldn’t want to point one at random things around the bench, laughing with glee at finding things warmer or colder than expected? But they’ve always been so expensive, and a lot of the efforts that have sought to provide one for little outlay have been rather disappointing.

This has not deterred [Offer] though, who has made an extremely professional-looking thermal camera using an M5Stack ESP32-based computer module and an AMG8833 thermal sensor array module in a 3D-printed case that copies those you’d find on a commercial unit. The modular approach makes it a simple prospect for the constructor, the software can be found on GitHub, and the case files are hosted on Thingiverse. You’ll be finding warm and cold things on your bench in no time, as the video below shows.

Most of the thermal cameras we’ve seen have centred upon the FLIR Lepton module, but that’s a component that remains expensive. This project shows us that thermal cameras are a technology that is slowly becoming affordable, and that greater things are to come.

Continue reading “Who Said Thermal Cameras Weren’t Accessible To The Masses?”

The random logic section implmented using I2L

Space Invaders Sound Chip Went Old School With I2L

It must be everyone’s birthday today because [Ken Shirriff] has come out with a gift for us. He’s done another pass at reverse engineering the 76477 Space Invaders sound chip from the 1970s and found it’s full of integrated injection logic (I2L), making it a double treat: we get to explore the more of this chip which made sounds for so many of our favorite games, and we explore a type of logic which was to be the successor to TTL until CMOS came along.

I<sup>2</sup>L gate
I2L gate

This article has a similar shape to his last one, first introducing I2L, followed by showing us what it looks like on the die, and then covering the different functional elements which make heavy use of it. The first of these is the noise generator made up of a section of shift registers and a ring oscillator. That’s followed by a noise filter which doesn’t use I2L but does use current mirrors. And lastly, he talks about the mixer which mixes output from the noise generator and elements covered in his previous article, the voltage-controlled oscillator, and the super-low frequency oscillator. Oddly enough, and as he points out, it isn’t an analog mixer. Instead, it just ANDs together the various inputs.

[Ken’s] no stranger to putting dies under the microscope. Check out our coverage of his talk at the 2016 Hackaday SuperConference where he shows us the guts of such favorites as the Z80 and the 555 timer IC.

Ambient Lighting For Baby With The ESP8266

There are plenty of great reasons to have a child. Perhaps you find the idea of being harshly criticized by a tiny person very appealing, or maybe you enjoy somebody screaming nonsense at you while you’re trying to work on something. But for us, we think the best reason for procreation is getting another excuse to build stuff. It’ll be what, at least two years before a baby can solder or program a microcontroller? Somebody’s going to have to do it for them until then.

To try to help his baby daughter get on a better sleep schedule, [Amir Avni] decided to outfit her room with some “smart” lighting to establish when it’s time for her to wake up. Not only can he and his wife control the time the lights come on to “day” mode, but they can also change the colors. For example, they can switch over to a red glow at night. Despite some learning experience setbacks, the both the parents and the baby are very happy with the final product.

An ESP8266 controls a WS2812 LED strip to provide the adjustable lighting, and a DHT22 sensor was added to the mix to detect the temperature and humidity in the baby’s room. [Amir] used Blynk to quickly throw together a slick mobile application that allows for complete control of the brightness and color of light in the room, as well as provides a readout of the environmental data pulled from the DHT22.

But not everything went according to plan. [Amir] thought he could power the LED strip from the ESP8266 development board by soldering to the 5 V side of its AMS1117 voltage regulator. Which worked fine, until he turned on too many LEDs. Then it pulled too much current through a resistor connected to the regulator, and let all the magic smoke out. An important reminder of what can happen when we ask more of a circuit than what it was designed for.

We’ve covered many awesome projects that were born of a parental need, from feature packed baby monitors to devices seemingly designed to program nostalgia in the little one’s subconscious.