A Full-Stack Web Browser

Interviewing to be a full-stack engineer is hard. It’s a lot harder than applying for a junior dev job where you’re asked to traverse a red-black tree on a whiteboard. For the full-stack job, they just give you a pile of 2N2222 transistors. (The first company wasn’t a great fit, and I eventually found a place that gave me some 2N2907s for the interview.) That said, there’s a certain challenge in seeing how far you can push some doped silicon. Case in point, [Alastair Hewitt]. He’s building a computer to browse the world wide web from the gate level up.

The goal of this project is to browse the web using only TTL logic. This presents problems that aren’t readily apparent at first glance. First up is being able to display text on a screen. The easiest way to do this now is to get a whole bunch of modern memories that are astonishingly fast for a 1970s vintage computer. This allows for VGA output, and yes, we’ve seen plenty of builds that output VGA using some big honkin’ memories. It turns out these RAM and ROM chips are a little better than the specs say they are, and this computer is overclocked from the very beginning.

A bigger problem is how to interface with a network. This is a problem for very old computers, but PPP still exists and if you have the software stack you can read something from a server over a serial connection. [Alistar] actually found the UART frequency was more important than the dot clock frequency of VGA, and the system clock must therefore be built around the serial port, not the display interface. This means the text mode interface is actually 96 columns instead of the usual 80 columns.

It’s very easy to say that you’re building a computer on a bread board. It’s another thing entirely to actually do it. This is actually a surprisingly well-though out sketch of a computer system that will, theoretically, be able to connect to the Internet. Of course, the reality of the situation is that this computer will be connecting over serial to a computer that’s connected to the Internet, but there’s no shame in that. You can check out the progress on the GitHub for this project.

Analog Failures On RF Product Cause Production Surprise

A factory is a machine. It takes a fixed set of inputs – circuit boards, plastic enclosures, optimism – and produces a fixed set of outputs in the form of assembled products. Sometimes it is comprised of real machines (see any recent video of a Tesla assembly line) but more often it’s a mixture of mechanical machines and meaty humans working together. Regardless of the exact balance the factory machine is conceived of by a production engineer and goes through the same design, iteration, polish cycle that the rest of the product does (in this sense product development is somewhat fractal). Last year [Michael Ossmann] had a surprise production problem which is both a chilling tale of a nasty hardware bug and a great reminder of how fragile manufacturing can be. It’s a natural fit for this year’s theme of going to production.

Surprise VCC glitching causing CPU reset

The saga begins with [Michael] receiving an urgent message from the factory that an existing product which had been in production for years was failing at such a high rate that they had stopped the production line. There are few worse notes to get from a factory! The issue was apparently “failure to program” and Great Scott Gadgets immediately requested samples from their manufacturer to debug. What follows is a carefully described and very educational debug session from hell, involving reverse engineering ROMs, probing errant voltage rails, and large sample sizes. [Michael] doesn’t give us a sense for how long it took to isolate but given how minute the root cause was we’d bet that it was a long, long time.

The post stands alone as an exemplar for debugging nasty hardware glitches, but we’d like to call attention to the second root cause buried near the end of the post. What stopped the manufacturer wasn’t the hardware problem so much as a process issue which had been exposed. It turned out the bug had always been reproducible in about 3% of units but the factory had never mentioned it. Why? We’d suspect that [Michael]’s guess is correct. The operators who happened to perform the failing step had discovered a workaround years ago and transparently smoothed the failure over. Then there was a staff change and the new operator started flagging the failure instead of fixing it. Arguably this is what should have been happening the entire time, but in this one tiny corner of the process the manufacturing process had been slightly deviated from. For a little more color check out episode #440.2 of the Amp Hour to hear [Chris Gammell] talk about it with [Michael]. It’s a good reminder that a product is only as reliable as the process that builds it, and that process isn’t always as reliable as it seems.

Open Hardware E-Ink Display Just Needs An Idea

Its taken awhile, but thanks to devices like the Amazon Kindle, the cost of e-ink displays are finally at the point where mere mortals such as us can actually start using them in our projects. Now we’ve just got to figure out how to utilize them properly. Sure you can just hook up an e-ink display to a Raspberry Pi to get started, but to truly realize the potential of the technology, you need hardware designed with it in mind.

To that end, [Mahesh Venkitachalam] has created Papyr, an open hardware wireless display built with the energy efficiency of e-ink in mind. This means not only offering support for low-energy communication protocols like BLE and Zigbee, but keeping the firmware as concise as possible. According to the documentation, the end result is that Papyr only draws 22 uA in its idle state.

So what do you do with this energy-sipping Bluetooth e-ink gadget? Well, that part is up to you. The obvious application is signage, but unless you’re operating a particularly well organized hackerspace, you probably don’t need wireless dynamic labels on your part bins (though please let us know if you actually do). More likely, you’d use Papyr as a general purpose display, showing sensor data or the status of your 3D printer.

The 1.54 inch 200×200 resolution e-ink panel is capable of showing red in addition to the standard grayscale, and the whole thing is powered by a Nordic nRF52840 SoC. Everything’s provided for you to build your own, but if you’d rather jump right in and get experimenting, you can buy the assembled version for $39 USD on Tindie.

Battle Tested Current Limiter For Cheap DC Motor Controllers

Running a brushed motor in muddy or dusty environments takes a toll on controllers, with both heavy back EMF and high stall currents. This explains one of the challenge in Europe’s Hacky Racer series, which is decidedly more off-road than America’s Power Racing Series.

In pushing these little electric vehicles to the limits, many builders use brushless Chinese scooter motors since they’re both available and inexpensive. Others take the brushed DC route if they’re lucky enough to score a motor — and then the challenge becomes getting the most performance without burning up your controller. To fix this, [MechanicalCat] has come up with a current limiter for cheap DC motor controllers.

Circuit protection added to motor controller

The full write-up is in the included PDF file, and describes the set-up of an Arduino Nano sitting between throttle and controller, and taking feedback from a current sensor. The controller in question is a 4QD Porter 10 so an extra component is a DC-to-DC converter to provide a floating ground for the Arduino. However, there is also the intriguing possibility of the same set-up being used with absurdly cheap Chinese motor controllers. There is also advice on fitting flyback diodes, something which might have saved one controller in the Hackaday pits last year.

It’s yet to be seen what effect this will have on Hacky Racer competitiveness, however its applications go far beyond that field into anywhere a reliable small DC motor drive on the cheap is required. Meanwhile, if you’re unsure where this Hacky Racer stuff came from, you could start here.

Help Solve The Single-Transistor Latch Mystery

If you’ve spent any time on hackaday.io, you may have noticed that more than a few denizens of the site are fans of “alternative” electronic logic. Aiming to create digital circuits from such things as relays, vacuum tubes, discrete transistors, and occasionally diodes, they come up with designs that use these components in either antiquated or occasionally new and unexpected ways. This is exactly what [Mark Sherman] has done with his latest project, a single-transistor latch.

If you think every design has to compete with cutting-edge integrated circuits, or even must have an immediate practical application, you might as well stop reading now — and to play on the famous Louis Armstrong quip about jazz, if you have to ask why someone would do such a thing, you’ll never know.

Given that you’ve come this far, you’ll appreciate what [Mark] has come up with. It’s semi-well-known that the collector-emitter junction of a bipolar junction transistor (BJT) can exhibit a negative resistance characteristic when reverse-biased into avalanche breakdown. It’s this principle that allows a single BJT to be used as an ultra-simple LED flasher. [Mark] took this concept and ran with it, creating a single-transistor latch that can store one bit of information. As a bonus — or is it a requirement? — the transistor also drives an LED, so that you can visualize the state. We’ve seen a one-transistor flip-flop before, but that one also required diodes and an AC bias supply. In this new device, none of this is necessary, so it’s a step up according to the unwritten, unspoken, and generally agreed upon rules of the game.

In true hacker fashion, [Mark] came up with a working device without fully understanding exactly how it works.  We, too, are a little mystified at first glance. So, [Mark] is asking for your help in replicating and/or analyzing the circuit. He explains what he has found so far in the video after the break, but the main questions seem to revolve around why the base resistor is required, and why it works with 2N4401s but not 2N2222s.

So, Hackaday, what’s going on here? Sound off in the comments below.

Continue reading “Help Solve The Single-Transistor Latch Mystery”

Fun With Negative Resistance: Jellybean Transistors

The concept of negative resistance has always fascinated me. Of course, a true negative resistance is not possible, and what is meant is a negative differential resistance (NDR). But of course knowing the correct term doesn’t do anything to demystify the topic. Negative resistance sounds like an unusual effect, but it turns out to be relatively common, showing up in places like neon lamps and a number of semiconductor structures. Now’s as good a time as any to dig in and learn more about this common principle.

NDR means a portion of a device’s I/V curve where the current falls with increasing applied voltage. The best-known semiconductor device exhibiting negative resistance is the tunnel diode, also known as the Esaki diode after one of the Nobel-Prize-winning discoverers of the quantum tunneling effect responsible for its operation. These diodes can perform at tremendous speeds; the fastest oscilloscope designs relied on them for many years. As the transistor and other technologies improved, however, these diodes were sidelined for many applications, and new-production models aren’t widely available — a sad state for would-be NDR hackers. But, all hope is not lost.

Rummaging through some old notebooks, I rediscovered an NDR design I came up with in 2002 using two common NPN transistors and a handful of resistors; many readers will already have the components necessary to experiment with similar circuits. In this article, we’ll have a look at what you can do with junkbox-class parts, and in a future article we’ll explore the topic with some real tunnel diodes.

So, let’s see what you can do with a couple of jellybean transistors!

Continue reading “Fun With Negative Resistance: Jellybean Transistors”

A Function Generator In Its Purest Form

If you have a modern function generator on your bench it is quite likely to contain a direct-digital synthesis circuit that creates arbitrary waveforms using a microprocessor controlled DAC. If you have a cheap function generator it’s likely to contain a one-chip solution that generates approximations to sine and triangle waveforms through modifying a square wave with a set of filters.

These methods both produce adequate waveforms for most of your function generator needs, but they are both far from perfect for the purist. Both methods introduce some distortion, and to address this [michal777] has produced a generator that takes the process back to basics with all stages implemented using building block ICs and transistors. The circuit follows the same square-wave-modifying path as the cheaper integrated devices, but with significant attention paid to the design to ensure that it does as good a job as possible. It also makes for a fascinating dive into function generator design.

The generator hardware has been neatly fitted onto a PCB with a riser for a set of front panel controls. He shares a few pictures of previous designs. We particularly like one that appears to have been fitted into a redundant cooking pot.

We’ve brought you a few function generators over the years. If you’ve got one of the cheaper examples, we’ve even covered how you might improve it a little.