A weblog focused on interesting circuits, ideas, schematics and other information about microelectronics and microcontrollers.
E-books
Disclaimer
Because I have not tested all electronic circuits mentioned on this pages, I cannot attest to their accuracy; therefore, I do not provide a warranty of any kind and cannot be held responsible in any manner.
2010 Link Flush
Many links flushed at once, or "what I forgot in 2010"...
The goal of this final project was to create a programmable graphics processing unit with as many aspect as possible to be coded in hardware, even with object and edge generation. The main feature of the organization of this graphics unit is to be able to represent transformation operations parametrically, creating a graphics co-processor capable of rendering procedural motion. The graphics unit takes operations in a very-long instruction word format that has a one-to-one representation to a high-level scripting language, which provides a mean to moving objects and features in a scene to dynamically during run-time.
Programmable Discrete Graphic Hardware
An implementation of the Vector Graphic, Inc. Computer System of the early 1980’s on a Xilinx Spartan 3E Starter Kit. The Vector ZCB and FlashWriter II video card are implemented. The system also includes a memory management unit, serial ports, and keyboard interface.
Vector Graphic Single-Board Computer in Xilinx FPGA, dtto at OpenCores
The WhereAVR is a small, lightweight, low-power, and low-cost APRS tracker with a full compliment of analog and digital I/O, as well as the ability to decode ax.25 packets. This allows for the reception of remote commands without the need for a "real" TNC. It is designed to hook directly to the speaker and microphone jacks of a handheld radio.
WhereAVR
I'm one who often has the radio playing when I'm working on a project or unwinding at the end of the day. And while there are a few good radio stations still around, there are times I'd like to listen to a genre that a local station just doesn't cover. Ever since stations started simulcasting on the internet, I've been a big fan. You name it, and someone probably has a station dedicated to it. This page outlines my project to home-brew a dedicated box for 'tuning in' these online stations. Sure, I could have bought one for $100 or just used my computer (which I've often done, and still do), but I wanted to make something to match the other stereo hardware I have. I also like that I can personalize every aspect of the design, and put to use some of the hardware I've collected over the years.
Wifi radio
XXTEA crypto algorithm which fits into tiny uCs
For vintage lovers: Z80 CP/M source codes
The µVGA-II(SGC) module is a compact and cost effective Serial-to-VGA graphics engine powered by the PICASO-SGC graphics controller. It can provide QVGA/VGA/WVGA graphics solution to any embedded project with its powerful graphics, text, image, animation and countless more features built inside the module. It offers a simple yet effective serial interface to any host micro-controller that can communicate via a serial port. All the serial commands are sent using a simple protocol via the serial interface.
uVGA-II
It took some time to learn how the five signals used on an analog VGA connection made an image appear on the screen, but the end results were much better than anticipated, providing a crisp 256 by 240 image on the monitor in 256 colors. Although it does take some intensive cycle accurate assembly programming, the basic coding is not very difficult to understand once you have learned what the monitor expects. In fact, making a microcontroller drive a VGA monitor is much easier than creating a video signal for a television because the VGA monitor does all of the difficult color coding for you as long as you send the video signals and sync pulses at precisely the right time. "Precisely" is the key! This project is more like a tutorial, and is far from being perfect. The idea is to show how any microcontroller can be made to create a rock solid VGA image once timing parameters have been calculated properly. I am using an Atmel ATMega644 for this project because it has a large program memory to allow the storing of image data, but just about any microcontroller will work, once you understand the basics and decide on what type of image you want to display. This project will start off with a very minimal display system running from a single microcontroller and will progress up to a fully double buffered system that will display flicker free animations with a resolution of 256 by 240 and with 256 colors. Any VGA monitor with a 15 pin analog connector will work, but the old-school glass CRT monitors will probably display the "nicest" image due to having round pixels and a truly analog horizontal line. Newer LCD monitors will work just fine, but there may be a slight "banding" effect on horizontal lines if you cannot adjust a setting called "pixel" clock. Nonetheless, the image will be very clean, crisp, and colorful on any VGA monitor.
Pro-VGA video generator