[Quinn Dunki]’s Veronica, a homebrew computer based on the 6502 CPU, is coming along quite nicely. She’s just finished the input board that gives Veronica inputs for a keyboard and two old Nintendo gamepads. [Quinn] is building this computer all by her lonesome, including etching all the PCBs. She’s gotten very, very good at etching her own boards, but this input board did inspire a few facepalming moments.
In an earlier post, [Quinn] went over her PCB etching capabilities. As demonstrated by the pic above, she’s able to print 16 mil traces with 5 mil separation. This is just about as good as you can get with homebrew PCBs, but it’s not without its problems.
[Quinn] is using a photographic process for her boards where two copies of a mask is printed on an acetate sheet, doubled up, and laid down on a pre-sensitized copper board. The requirement for two layers of toner was found by experience – with only one layer of toner blocking UV light, [Quinn] got some terrible pitting on her traces and ground planes.
Two photographic masks means the masks must be precisely aligned. This example shows what happens when the acetate sheets are ever so slightly misaligned. With a 5 mil gap between traces, [Quinn] needs to align the masks to within ±2.5 mils; difficult to do by eye, and very hard once you factor in flexing and clamping them down to the copper board.
Even when this process goes perfectly, [Quinn] is pushing the limits of a laser printer. When printing at 600 dpi, the pixels of the print are about 1.5 mils. While GIMP, printer drivers, and the printer itself have some fancy software to help with the interpolation, [Quinn] is still seeing ‘bumps’ on the edges of perfectly aligned parts. This is one of those things that really makes you step back and realize how amazing fabbing PCBs at home actually is.
With most of the hardware for Veronica out of the way, it’s just about time for [Quinn] to start programming her baby. We’re not expecting a full-blown operating system and compiler, but those NES gamepads are probably crying out for some use.
Here’s a Fubarino contest entry for all those homebrew computer nuts out there. [Danjovic] modified an NTSC/PAL display adapter to show an ASCII version of the Hackaday logo when his board first boots up.
The build is based on [Daryl Rictor]’s Video Display Adapter intended for use with homebrew computers, microprocessor projects, and any other minimalist digital setup that needs an NTSC or PAL video display. It’s a surprisingly simple circuit, made of a few logic ICs and an ATmega8.
[Danjovic] modified this video display adapter with an easter egg: if one pin on the ATmega8 is shorted when the board is powered on, a neat Hackaday splash screen is displayed for several seconds before falling back to the stock display of a blinking cursor. [Dnajovic] converted the ASCII Hackaday logo with the help of a short Python script and loaded it onto the AVR with a small firmware change.
Video of the boot screen in action below.
This is an entry in the Fubarino Contest for a chance at one of the 20 Fubarino SD boards which Microchip has put up as prizes!
Continue reading “Fubarino Contest: Splash Screen On System Reset”
[the_meatloaf] just put the final touches on his fully automated beer brewing machine using an Arduino.
The project was part of his computer engineering degree, and it took [the_meatloaf] and two mechanical engineer friends a year to design and build the entire system from scratch. An Arduino Mega with a 4-button interface allows you to program, save, load, rename, and run up to 26 different recipes saved to the EEPROM.
An automated system like this removes most of the guesswork from an otherwise complex brewing process. The machine starts by heating the water in the first keg using a 2000W heating element, after which the water transfers into the mash vessel via servo valves, where it’s stirred by a mixing motor. The machine then drains the wort (the resulting liquid after mashing) and sparges (adds more water to the mash tun) the grains as programmed: thanks, [Chris,] for clarification! The wort is brought to a boil for the programmed amount of time, while a servo-controlled “hopper” automatically adds the hops. Finally, a counter-flow heat exchanger rapidly cools the solution to room temperature using ice water, then dispenses the solution for fermentation.
Though [the_meatloaf’s] biggest project to date was quite the accomplishment, he unfortunately won’t get to enjoy it. The sponsors who covered the $1000 budget reclaimed the machine. Drat.
[Quinn Dunki]’s awesome 6502-based computer is coming right along, and she decided it’s time to add one of the most important features found in the 80s microcomputers she’s inspired by – gamepads.
There were two ways of implementing gamepads back in the 80s. The Apple II analog joysticks used a potentiometer for each joystick axis along with a 556 timer chip to convert the resistance of a pot into a digital value. Analog controls are awesome, but a lot of hardware is required. The other option is the Atari/Commodore joystick that uses buttons for each direction. Surprisingly, these joysticks are inordinately expensive on the vintage market but a similar hardware setup – NES gamepads – are common, dirt cheap, and extremely well documented.
[Quinn] wrote a few bits of 6502 assembly to read these Nintendo controllers with Veronica’s 6522 VIA with the help of an ATMega168, and then everything went to crap.
In testing her setup, she found that sometimes the data line from the controller would be out of sync with the clock line. For four months, [Quinn] struggled with this problem and came up with one of two possible problems: either her circuit was bad, or the 6522 chip in Veronica was bad. You can guess which option is correct, but you’ll probably be wrong.
The problem turned out to be the 6522. It turns out this chip has a bug when it’s used with an external clock. In 40 years of production this hasn’t been fixed, but luckily 6502 wizard [Garth Wilson] has a solution for this problem: just add a flip-flop and everything’s kosher. If only this bug were mentioned in the current datasheets…
Now Veronica has two NES controller inputs and the requisite circuitry to make everything work. Video evidence below.
Continue reading “Veronica Gets A Pair Of Gamepads And A Bugged Chip”
[Tim] is a homebrewer. Temperature profiling during the mashing process is apparently even more critical than the temperature curve of a solder reflow oven. His stove just wasn’t giving him the level of control he needed, so [Tim] added a PID temperature controller to his stove. Electric stoves generally use an “infinite switch” to control their burners. Infinite switches are little more than a resistor and a bimetallic strip in a single package. Not very good for accurate temperature control. The tricky part of this hack was to make it reversible and to have little visual impact on the stove. A stove top with wires hanging out would not only be dangerous electrically, it would also create a hazardous situation between [Tim] and his wife.
[Tim’s] brewpot only fit on the stove’s largest burner, so that was the only one that needed PID control. To keep things simple, he kept the commercial PID controller outside the stove’s enclosure. Inside the stove, [Tim] added a solid state relay. The relay is mounted to a metal plate, which screws to the back of the stove. The relay control lines run to an audio jack on the left side of the stove. Everything can be bypassed with a switch hidden on the right side of the stove. In normal operation, the switch is in “bypass” mode, and the stove works as it always has. When mashing time comes along, [Tim] flips the switch and plugs the jack into his PID controller. The temperature sensor goes into the brewpot itself, so no stove modification was needed there.
The end result is a very clean install that both [Tim] and his wife can enjoy. Save a few bottles for us, [Tim]!
Perfection is achieved not when there is nothing more to add, but when there is nothing left to fail. Going by that metric, [Stian]’s three-chip 6502 homebrew computer is the epitome of perfection. It’s a real, working, homebrew retrocomputer using only three chips: a CPU, some RAM, and a microcontroller to bootstrap the computer and provide a video output,
The key to this minimalist build is having the entire boot process controlled by an ATMega16 microcontroller, This interfaces to the 6502 through a dual-port SRAM, a 1 kilobyte Cypress CY7C130. This dual-port RAM allows the CPU and microcontroller to access the same bit of memory, making it easy to bootstrap a computer from a bit of AVR code.
Output is provided with [Stian]’s ATMega video text generator putting a 37×17 characters on any television with an RCA jack. While input isn’t handled yet, [Stian] says it should be possible with his AVR PS/2 keyboard library.
While other 6502 homebrew computers such as [Quinn Dunki] Veronica can reach unparalleled heights of complexity, there is a lot to be said about the minimalism of [Stian]’s three-chip computer. With some clever coding and a modified parts list, it may well be possible to put a retrocomputer in the hands of everyone with a bare minimum of cost and parts.
The Hackaday tips line is always full of the coolest completed projects, but only rarely do we see people reaching out for help on their latest build. We’ll help when we can, but [Tim]’s relay-based CPU has us stumped.
[Tim] already has the design of his relay CPU completed with a 12-bit program counter, sequencer, ALU, and a transistor-based ROM. The problem he’s having deals with the mechanics and layout of his homebuilt CPU. Right now, all the relays (PC pin, we guess) are glued top-down to a piece of cardboard. This allows him to easily solder the wires up and change out the inevitable mistakes. This comes with a drawback, though: he’s dealing with a lot of ‘cable salad’ and it’s not exactly the prettiest project ever.
The ideal solution, [Tim] says, would be a PCB with through-hole plating, but this isn’t easy or cheap for the home fab lab. We’d suggest some sort of wire wrap setup, but proper wire wrap sockets and protoboards are for some reason unreasonably expensive.
If you have an idea on how to do the mechanical layout and connections of a relay-based computer, drop a note in the comments. [Tim] has a very cool project here, and it would be a shame if he were to give up on it due to a lack of tools.
Video below, and if you’re having a problem with a project, feel free to send it in.
Continue reading “How Do You Build a Relay CPU?”