Erasing EEPROMs Isn’t Always As Easy As It Seems

When is 14 volts not actually 14 volts? Given [Anders Nielsen]’s recent struggles with erasing an old-school EEPROM, it’s when you really need it that things tend to go pear-shaped.

A little background is perhaps in order. [Anders] is working on a scratch-built programmer for ROMs to complement his 65uino project, which puts a complete 6502 computer into the footprint of an Arduino Uno. He wisely started the ROM programmer project at the beginning, which was to generate the correct voltages for programming. This turned out to be not as easy as you might think thanks to the solderless breadboard’s parasitic effects on the MIC2288 switching boost regulator he chose.

The video below is a continuation of the programmer build, which ends up being just as fraught as the first part. Being able to generate the programming voltages is one thing; getting them onto the right pins at the right time using nothing but the 5-volt GPIOs on a microcontroller is another. In true retro fashion, [Anders] tackled that problem with a pair of small-signal transistors, which seemed to work once the resistor values were sorted, at least when applying a 12-volt signal intended to show the ROM’s hard-coded manufacturer ID on the data bus.

But erasing the ROM, which requires 14 volts while the chip enable line is held high for 100 ms, proved a little trickier. Despite multiple tries, the ROM wouldn’t erase thanks to the 14-volt rail being dragged down to around 9 volts. [Anders] fixed that with a new base resistor on the driver, to increase the current and keep the voltage up where it needs to be. Just goes to show you that the data sheets don’t always tell the whole story.

We’ve been enjoying the unfolding story of this programmer, and we’re looking forward to the next installment.

Continue reading “Erasing EEPROMs Isn’t Always As Easy As It Seems”

An exploded view render of a red 3D printed case with a green PCB is inside with visible USB-A connectors with a mouse and keyboard graphic above each and "A" and "B" labels above USB-C connectors on the other side.

Building A Better Keyboard And Mouse Switch

Switching inputs between desktops seems like something that should be simple but can prove to be a pain in reality. [Hrvoje Cavrak] decided to take matters into his own hands and build a better keyboard and mouse switch.

DeskHop is built from two Raspberry Pi Pico boards connected via UART and separated by an Analog Devices ADuM1201 dual-channel digital isolator. Through the magic of Pico-PIO-USB these RP2040s can be both host and device. To keep things simple, the PCB is single-sided, and the BOM only has five distinct components.

Once hooked up to your Windows, Mac, or Linux device, your mouse pointer “magically” goes from one screen to the other when dragged across the screen edge. Keyboard LEDs can be reprogrammed to indicate which device is active, and the real beauty of the device is that since it’s a hardware solution, you don’t have to install any software on a computer you might not have admin access to.

If you want to see some more ideas for keyboard and mouse switching, check out this Pi KVM with ATX signaling, this USB triplexer, or this Pi KVM on a PCIe card.

Switching Converter For EEPROM Programmer Taxes Solderless Breadboard

We all know that solderless breadboards have their limitations. All that stray capacitance can play hell with circuits, especially high-speed stuff, but they’re so darn useful that avoiding them in favor of some other prototyping method can be really hard. So we often just forge ahead, plugging in our parts and hoping for the best

A recent veteran of the breadboard battle is [Anders Nielsen], who kicked off a new project by prototyping this high-voltage boost converter on a breadboard, with mixed results. The project is a scratch-built programmer for old-school ROM chips, a task normally farmed out to a dedicated programmer, but where’s the sport in that? Besides, this is the future, and generating the 12 to 14 volts needed should be a snap. And it would be, except for the fact that his chosen chip, a MIC2288 switching boost regulator, is only available in an SMD package. Getting the chip and a few other SMD support components onto breadboard-compatible breakouts proved to be challenging, and getting it working once it was there was even more work.

A lot of the trouble was down to simple breadboarding errors, but the big problem was the input capacitance, which [Anders] had to fiddle with quite a bit to get the converter to 14 volts. The current maxes out at about 25 mA before the voltage starts dropping, which just might be enough to burn those old chips, so we’ll call this a provisional win and see what happens when he builds the rest of the programmer.

[Anders]’ experience here raises a good question: what’s the best way to prototype using fussy SMD components? PCBs are cheap enough that it’s tempting to go straight to one, but swapping parts in and out like he had to do here to get everything just right would be much harder that way. We’re not sure we know the answer, but we’re pretty sure we’ll hear your thoughts on that in the comments section.

Continue reading “Switching Converter For EEPROM Programmer Taxes Solderless Breadboard”

RF Remote Made Easy

The 433 MHz spectrum is a little bit of an oddball. It’s one of the few areas of the radio spectrum which is nearly universally unlicensed Outside of the US, it’s an open playground for devices that adhere to the power restrictions and other guidelines about best practices. IoT devices operate here, as well as security systems and, of course, remote controls. And, using a few off-the-shelf parts [hesam.moshiri] shows us how to take advantage of this piece of spectrum by designing and building a programmable and versatile 4-channel 433 MHz remote control.

Built around an ATmega8 microcontroller, making it easy to work with Arduino sketches, and with a 2×8 character LCD for ease-of-use when not connected to a computer, the wireless switching device can store up to 80 remote control codes in its EEPROM memory. This was one of the harder parts for [hesam] to sort out, but using structures to store the data for the codes eventually solved the problems. A simple GUI makes using it with whatever remote happens to be on hand fairly straightforward, including the ability to record codes from existing remotes on the fly and also to associate those codes with specific actions.

Schematics and a bill of materials are available on the project’s page, making this fairly accessible to those looking to add some wireless connectivity to a project, home automation system, or IoT device. It’s mainly set up as a switching device, but with some modifications could be put to work doing more complex tasks. The 433 MHz spectrum is an exciting place to be, too, and things like setting up entire security systems using it are not too far removed from a switching device like this.

[Editor’s note: As many mentioned in the comments, 433 MHz is a licensed ham band in the USA (ITU Region 2), so you can’t use it without a license. (Get one, it’s easy.)  In the USA, the equivalent band is at 315 MHz, which is why garage door remotes usually come with a 315/433 choice. Either way, check your local laws before you transmit.]

Continue reading “RF Remote Made Easy”

Tiny Microcontroller Uses Real-Time Operating System

Most of the computers we interact with on a day-to-day basis use an operating system designed for flexibility. While these are great tools for getting work done or scrolling your favorite sites, they have a weakness when it comes to interacting quickly with a real-world environment. For these kinds of low-latency, high-reliability systems you may want to turn to something like freeRTOS which is optimized for this kind of application and which [Parikshit Pagare] has used to build his home automation system.

This build is based around an ESP32 for which freeRTOS, designed specifically for embedded systems, is uniquely suited. There are several channels built in capable of monitoring temperature, functioning as a smoke alarm, and sensing whether someone is at the front door. All of these are reported to a small OLED screen but are also updated on an Android app as well, which happens nearly instantaneously thanks to the real-time operating system. There are a number of user-controllable switches as well that are capable of turning lights or fans on and off.

For a home automation system, it’s one of the most low-cost and fully-featured we’ve seen and if you’re still having trouble coming across a Raspberry Pi as they sort out supply issues, something like this might make an excellent substitute at a fraction of the price. If you’re looking to expand even beyond this build, one of the gold standards for ESP32-based automation design is this build from [Marcus] which not only demonstrates how to build a system like this but goes into great detail on the ESPHome environment.

Continue reading “Tiny Microcontroller Uses Real-Time Operating System”

Pi-Cast Adds ATX Signalling To KVM

A KVM is a great tool for administering a number of different computers without cluttering one’s desk with extra peripherals, or for having to re-connect the keyboard, video, and mouse to each new machine as needed. For local administration this can save a ton of time and headache. For remote administration, though, a virtual KVM is needed, and although these solutions are pricey it’s possible to build one around a Raspberry Pi for a fraction of the cost. This one adds even more functionality by also switching the ATX signals from the motherboard and simplifying cable management to boot. Continue reading “Pi-Cast Adds ATX Signalling To KVM”

The Descendants Of Ancient Computers

Building computers from discrete components is a fairly common hobby project, but it used to be the only way to build a computer until integrated circuits came on the scene. If you’re living in the modern times, however, you can get a computer like this running easily enough, but if you want to dive deep into high performance you’ll need to understand how those components work on a fundamental level.

[Tim] and [Yann] have been working on replicating circuitry found in the CDC6600, the first Cray supercomputer built in the 1960s. Part of what made this computer remarkable was its insane (for the time) clock speed of 10 MHz. This was achieved by using bipolar junction transistors (BJTs) that were capable of switching much more quickly than typical transistors, and by making sure that the support circuitry of resistors and capacitors were tuned to get everything working as efficiently as possible.

The duo found that not only are the BJTs used in the original Cray supercomputer long out of production, but the successors to those transistors are also out of production. Luckily they were able to find one that meets their needs, but it doesn’t seem like there is much demand for a BJT with these characteristics anymore.

[Tim] also posted an interesting discussion about some other methods of speeding up circuitry like this, namely by using reach-through capacitors and Baker clamps. It’s worth a read in its own right, but if you want to see some highlights be sure to check out this 16-bit computer built from individual transistors.