The Most Minimal Homebrew Computer

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.

Couch To 5K With 1K To Spare

In a market full of Fitbits, Misfits, and Fuelbands, it’s easy to get carried away with sophisticated personal fitness tracking technology.  That’s why [André] took a totally different approach with his super simple run tracking device, the C25K machine.

C25K stands for “Couch to 5k” which is a slimmed down exercise schedule designed to gradually bring people who have otherwise no exercise routine up to a level of fitness where they can run a 5k in just 9 weeks.  To keep participants from wearing themselves out too early, the routine specifies a sequence of running and walking periods to be completed in series on specific days.  Though simpler than most fitness plans, it’s still a lot to keep track of especially when you’re sweating so hard you can barely see your stopwatch.

André found a solution using a bare-bones circuit based on the ATTiny2313.  After loading the C25k calendar into its firmware (which takes up less than half of its 2K of flash), he needs only to toggle the dipswitch to select the appropriate day of the program, and the little device (scarcely larger than a key fob) will beep to let him know to switch from running to walking or back again.

Definitely a great project for any hobbyist looking for a geeky way to get in shape.

The Straddler Makes AVR Breadboarding Truly Plug And Play

the_straddler_avr_programmer

It’s not that breadboarding AVR circuits is difficult. But you have to admit that it takes some time to set everything up. We don’t label the top of our DIP chips so that you know what each pin does just by looking. Which means that wiring up the programmer involves pulling out the datasheet. [Vinnie] found the solution to this problem which is to make one of these interface PCBs for each AVR chip family. The long pins make it easy to drop over the top of your microcontroller, which is where the name comes from.

His first stab at the idea was just a hunk of home etched PCB which broke out the programming pins into the 6-pin ICSP standard. This second rendition uses the 10-pin standard and adds a few extras into the mix. He included decoupling capacitors which need to be used in every circuit anyway. There’s a crystal along with its load capacitors. This clock source is a snap to enable by burning some fuses. If you choose to use the internal oscillator instead this hardware won’t interfere. The LED is used to get you up and running with blinky firmware as quickly as possible. He plans to add jumper in the next revision which can disconnect this components from the I/O pin. Now you just need to add a 10-pin header to that USB keyboard AVR programmer and you’re in business.

WS2811 Can Be Addressed At 800kHz Using A 8MHz Clock

ws2811-running-at-8mhz

Timing is everything and that’s why most communication protocols require a very accurate clock source. The WS2811 LED strip controllers are no different. But [Danny] figured out a way to drive them reliably with an 8MHz clock source.

The WS2811 has become one of the most popular controllers for RGB pixels and strips alike. We’ve seen several hacks used to address them, including the 16MHz AVR technique that inspired [Danny] to take on this project. He planned to use that library but the 25-day shipping time for a 16MHz crystal drove home to invent a way to use the internal oscillator instead.

The gist of the hack is that he wrote assembly code to handle pairs of binary bit values. With a code block for each of the four possible combinations in hand he had to find a way to craft the conditional jumps to preserve accurate timing. After hitting the wall trying to solve this puzzle by hand he wrote a C++ program to solve it for home. The proof is in this video which shows one chip driving multiple Larson scanners on a single strip.

Continue reading “WS2811 Can Be Addressed At 800kHz Using A 8MHz Clock”

Auto Dimmer Hacked Into Keyboard Backlight

keyboard-backlight-auto-adjustment

As the title says, [José Faria] added the ability to adjust his keyboard backlight based on ambient light levels. But that’s just one of the things he did during his hacking extravaganza with this Razer BlackWidow Ultimate.

When he first received the peripheral he didn’t like the blue LEDs used as backlights. So he removed all of them and put in white ones. He doesn’t talk too much about that but we’d image it was a ton of work. The new color was pleasing, but then the ability to adjust their brightness started to irritate him. There are four predefined levels and that’s all you get. Even the GUI which has a slider for adjustment couldn’t go outside of those levels.

His solution was to augment the controller with his own. He patched in an AVR chip to the transistor which controls the low side of the LED circuits. While at it he also noticed that the keyboard case was actually translucent. This let him hide a photosensor inside which automatically adjusts the light levels. But he did it in a way that still allows him to use the original functionality with the flip of a switch. See for yourself after the break.

Continue reading “Auto Dimmer Hacked Into Keyboard Backlight”

Building A Replacement For A Broken Dehumidifier Controller

dehumidifier-replacement-controller

We’ve thought of doing a project like this ourselves as the dehumidifier we ordered online runs the fan 24/7 no matter what the humidity conditions. But it wasn’t that [Davide Gironi] was unhappy with the features on his unit. It’s that the dehumidifier controller stopped working so he replaced it with one of his own design. The original humidity sensor was mechanical and simply broke. He used an AVR along with a humidity and frost sensor to get the appliance up and running again.

A DHT22 humidity sensor is polled by the ATmega8 chip and compared to the user-adjustable trimpot value. If it is above that threshold the unit is switched on using one of the relays seen in the image above. The one problem you have to watch out for when using compressor cooled appliances is ice accumulation on the radiator. [Davide] uses a thermistor for temperature feedback, switching the compressor off when it gets below 7C and turning it back on again when it is above 12C.

The replacement still uses the reservoir sensor and indicator LEDs. We, however, would recommend using the watchdog timer on the chip to ensure that it is reset if something goes wrong in the code.

Embedded Web Server Is All About Clever Formatting

embedded-web-server

Take a look around here and you’ll find all kinds of embedded web servers. This one doesn’t look all that interesting, especially because it’s just a NIC plugged into a development board. But for us the interesting part is in how [Andrew Rossignol] chose to format the webpage assets to best utilize the under-powered server.

The project was spawned as part of a class in Internet Embedded Systems which [Andrew] is taking. The board has an ATmega16 microcontroller and he’s using the ever popular ENC28J60 on that Ethernet adapter board. The TuxGraphics TCP/IP Stack takes care of communications with the network.

One constraint which [Andrew] imposed upon himself was to use just a single response which the available RAM limits to about  700 bytes. Any decent webpage needs to have at least some graphics but that’s tough with the size limit. He managed to display an AVR logo by optimizing an SVG in Inkscape then stripped the rest of the cruft using VIM (explained in the demo after the break). With that piece of Linux-fu in his pocket he set to work streamlining the CSS file. The webpage isn’t just static either. He displays the server up-time and even allows the relays and LEDs on the Olimex board to be controlled.

Despite the limitations of the ATmega family they still seem to do some amazing Internet-connected stuff. Here’s one used as a Minecraft server.

Continue reading “Embedded Web Server Is All About Clever Formatting”