Old Mini and Mainframe computers often had huge banks of diagnostic lights to indicate the status of address, data and control buses or other functions. When the lights blinked, the computer was busy at work. When they stopped in a particular pattern, engineers could try and figure out what went wrong by decoding the status of the lights.
[Folkert van Heusden] has an old MSX-based Philips VG-8020 computer and decided to add his own set of BlinkenLights to his system. The VG-8020 was a first generation MSX released in 1983 and featured a Zilog Z80A microprocessor clocked at 3.56 MHz, 64KB of RAM, 16KB of VRAM, and two cartridge slots.
The cartridge slots of the MSX are connected to the address and data buses in addition to many of the control signals, so it seemed logical to tap in to those signals. Not wanting to play around with a whole bunch of transistors, he opted to use an Arduino Nano to connect to his computer and drive the LEDs. In hindsight, this seemed like a wise decision as it allowed him to do some processing on the incoming data before driving the LEDs.
Instead of creating a new PCB, he cut open one of his beloved game cartridges. A switch was added to the slot select control pin (SLTSL) and eight wires soldered directly to the data bus. These were hooked up as inputs to the Arduino. A bank of eight LEDs with limiting resistors were connected to outputs on the Arduino. A quick test confirmed it all worked, including the switch to enable / disable the cartridge. He had to experiment with the code a bit as the LEDs were initially blinking too fast.
A couple of months later, he upgraded his BlinkenLight display to include the 16 bit address, 8 bit data and 8 lines for control signals. To do this, he used two MCP23017 – I2C 16 input/output port expander chips. For the LEDs, he installed a bank of four NeoPixel LED bars. A Pro-Mini takes care of the processing, and a custom PCB in the cartridge format houses all of it neatly. Check out the two videos below showing the BlinkenLights in action.
And if these BlinkenLights got you interested, take a look at this awesome Z80 Computer With Switches And Blinkenlights that has a hand operated crank to advance clock cycles.
Continue reading “MSX With BlinkenLights”
If you ever find yourself swapping between a mix of audio inputs and outputs and get tired of plugging cables all the time, check out [winslomb]’s audio multiplexer with integrated amplifier. The device can take any one of four audio inputs, pass the signal through an amplifier, and send it to any one of four outputs.
The audio amplifier has a volume control, and the inputs and outputs can be selected via button presses. An Arduino Pro Mini takes care of switching the relays based on the button presses. On the input side, you can plug in devices like a phone, TV, digital audio player or a computer. The output can be fed to speakers, headsets or earphones.
At the center of the build lies a TI TPA152 75-mW stereo audio power amplifier. This audio op-amp is designed to drive 32 ohm loads, so performance might suffer when connecting it to lower impedance devices, but it seems to work fine for headphones and small computer speakers. The dual-gang potentiometer controls the volume, and the chip has a useful de-pop feature. The circuit is pretty much a copy of the reference shown in the data sheet. Switching between inputs or outputs is handled by a bank of TLP172A solid state relays with MOSFET outputs, and it’s all tied together with a micro-controller, allowing for WiFi or BLE functionality to be added on later.
[winslomb] laid out the design using Eagle and he made a couple of footprint mistakes for the large capacitors and the opto-relays. (As he says, always double-check part footprints!) In the end, he solder-bridged them on to the board, but they should probably be fixed for the next revision.
[winslomb] built the switch as his capstone project while on his way to getting a Masters in EE, and although the device did function as required, there is still room for improvement. The GitHub repository contains all the hardware and software sources. Check out the video below where he walks through a demo of the device in action. If you are looking for something simpler, here is a two input – one output audio switcher with USB control and on the other end of the spectrum, here’s an audio switch that connects to the Internet.
Continue reading “Escape Cable Hell With An Audio I/O Multiplexer”
[Rohit Gupta] is back with a plotter made from scrap CD drives and an old RC servo. [Rohit] is working on hacks to create CNC machines and sharing his activities with the world. His CNC design calls for salvaged stepper motors so he first built a device for testing them. You’ve got to admire his use of the language. He named his plotter project ‘Sketchy’ and his motor tester is called ‘Easy Peasy’.
After finding some CD drives at the scrap pile he tore them down to test with Easy Peasy. The raw materials for the frame came from a wooden crate for an AC unit but he didn’t just start cutting it up. Nope, first he created plans with CAD; now that’s a hack you have to admire.
With the steppers tested working, and the base build under way he moved onto the control system. Originally the hardware was demonstrated using an MSP430. This worked, but a flaw in the hardware design was found. With the pen attached directly to the servo horn, it would draw a long line when being rotated away from the drawing position.
The fix is a replacement servo setup which lifts the pen up instead of rotating it. But that showed that the drawing surface wasn’t smooth. The pen kept missing places or getting caught and destroyed. The use of a spring loaded pen solved this issue. Success!
One further change migrated away from the MSP430 in favor of an Arduino Pro Mini in order to use a GRBL library instead of the g-code generator which was performing questionably. Since he likes Hackaday so much one of his first attempts with the final version of Sketchy was our logo, shown in the video after the break.
When we last saw [Rohit] he had created a fancy PCB ruler to measure components.
Continue reading “A Wooden Based, CD Stepper Scribbler”
A couple of years ago, [philo mech] came across [David Ratliff]’s NeoPixel compass project. Ever since then, he’s wanted to make his own. To his delight, [philo mech] was able to find time to do just that.
An Arduino Pro Mini drives an LSM303DLHC compass/accelerometer breakout board and a 12-LED NeoPixel ring. The heading is indicated with a red ‘Pixel between two yellow ones. In the video after the break, [philo mech] gives several demonstrations of the ring’s red indicator in relation to a standard compass arrow.
This colorful compass currently boasts two very useful modes: one to track the whereabouts of North, and the other for determining the user’s current heading. Mk. II will compensate for tilt and will employ a 16-Pixel ring to display finer degrees of directional change. Want to make your own? The code is pasted in the video’s comments.
Continue reading “Neopixel Ring Compass Takes Things In A New Direction”
Typing comfortably on a Smart Phone is best done using an external keyboard, especially if you spend a lot of time on IRC or use other chat apps. Obviously, the keyboard needs to be portable too. [cy384] felt the current crop of portable keyboards left a lot to be desired in terms of build quality and feel. That’s when the Palm Portable Keyboard (PPK) caught his eye. It’s small enough to fold up and fit in a pocket, yet unfolds to a size big enough to feel comfortable while typing. Unfortunately, the version he preferred to use did not have either a Bluetooth or a USB interface, so he built up this Palm keyboard adapter.
The portable keyboards have a serial interface and custom connectors depending on the Palm model they were designed to connect to. [cy384]’s goal was to adapt the PPK as a generic USB HID keyboard using an Arduino Pro Mini clone, with a 3D printed adapter for both of the keyboard types that he had. The keyboards use inverted TTL logic at 9600 baud with no parity and one stop bit. Some handshaking needs to be taken care of and there’s a low power mode that needs to be managed via the Arduino code. He was lucky to get his hands on a reference document that provided the hardware and software details to help him crack all of this. His Github repository has the code and 3D printable files for the adapters.
When choosing weapons to defend yourself in the next zombie apocalypse, dart jamming whilst firing your Nerf Gun can be a deal-breaker. This clogging is an issue with many “semi-automatic” Nerf Guns. When our trigger-happy fingertips attempt to shoot a dart that hasn’t finished loading into the firing chamber, the halfway-loaded dart folds onto itself and jams the chamber from firing any more darts. The solution, as intended by Nerf, would be to open the chamber lid and manually clear the pathway. The solution, according to [Technician Gimmick], however, is active sensing, and the resulting “smart” dart gun is the TR-27 GRYPHON.
To prevent jamming from occurring altogether, [Technician Gimmick] added a trigger-disable until the dart has fully loaded into the firing chamber. An IR LED, harvested from a mouse scroll wheel, returns an analog value to the microcontroller’s analog-to-digital converter, allowing it to determine whether or not a dart is ready for firing. The implementation is simple, but the results are fantastic. No longer will any gun fire a dart until it has completely entered the chamber.
The TR-27 GRYPHON isn’t just a Nerf Gun that enables “smart” dart sensing. [Technician Gimmick] folded a number of other features into the Nerf Gun that makes it a charmer on the shelf. First, a hall-sensor array identifies the current cartridge loaded into the Nerf Gun and it’s carrying capacity. To display this value and decrement appropriately, [Technician Gimmick] added a dual-seven segment display, a trick we’ve seen before. Finally, a whopping 3S LiPo battery replaces the original alkaline batteries, and the voltage-reducing diodes have been cropped, enabling a full 12.6 Volt delivery to the motors at full charge.
We’re glad to see such a simple trick go such a long way as to almost entirely eliminate Nerf dart jams. For all those braving the Humans-Versus-Zombies frontier this season, may this clever trick keep you alive for just a bit longer.
Continue reading “Active “Dart-Sensing” Makes Your Nerf Gun Smarter”
[Sigurd] manage to obtain an old vending machine from his dorm. The only problem was that the micocontroller on the main board was broken. He and his friend decided they could most likely get the machine back into working order, but they also knew they could probably give it a few upgrades.
This system uses two Arduino Pro Minis and an Electric Imp to cram in all of the new features. One Arduino is connected to the machine’s original main board. The Arduino interfaces with some of the shift registers, relays, and voltage regulators. This microcontroller also lights up the buttons on the machine as long as that particular beverage is not empty. It controls the seven segment LED display, as well as reading the coin validator.
The team had to reverse engineer the original coin validator in order to figure out how the machine detected and counted the coins. Once they figured out how to read the state of the coins, they also built a custom driver board to drive the solenoids.
A second Arduino is used to read NFC and RFID cards using a Mifare RC522 reader. The system uses its own credit system, so a user can be issued a card with a certain amount of pre-paid credit. It will then deduct credit appropriately once a beverage is vended. The two Arduinos communicate via Serial.
The team also wanted this machine to have the ability to communicate with the outside world. In this case, that meant sending cheeky tweets. They originally used a Raspberry Pi for this, but found that the SD card kept getting corrupted. They eventually switched to an Electric Imp, which worked well. The Arduino sends a status update to the Imp every minute. If the status changes, for example if a beverage was dispensed, then the Imp will send a tweet to let the world know. It will also send a tweet to the maintenance person if there is a jam or if a particular slot becomes empty. Continue reading “A Tweeting Vending Machine”