New AVR Simulator For Linux

simavr is a software simulator for the AVR line of microcontrollers. You might be asking why anyone would write this sort of thing considering the simulator provided with AVR Studio is a wonderful tool? Well, a lot of folks don’t run Windows and don’t wish to use that development environment even if Wine or Virtualbox could make it happen.

We haven’t tried it out ourselves yet. There is a discussion thread going that reports some positive results of using simavr with GDB and AVR Eclipse. It’s a new package, but so far it seems to have put its best foot forward. Currently there is support for ATtiny25/45/85, ATtiny13, ATmega48/88/168, andATmega164/324/644 chips. Several of the common on-chip peripherals are already supported with the others on the way.

Have you tried it out? Let us know what you think in the comments.

[IC Photo]

Automotive Current Monitor

If you’ve ever had a car with an electrical system problem you know how hard it can be to pin-point the source of your woes. Here’s a hackery solution that uses a diy PCB to monitor the current being drawn off of the alternator.The sensing is provided by an Allegro ACS758 integrated circuit. This chip measures current up to 150A and outputs an analog signal that can be measured by a microcontroller. In this case an AVR ATmega8 measures the signal and spits the info back to a PC via the serial port. This data can be graphed to help locate when too much current is being drawn for the battery to remain charged.

Check out that CNC milled PCB, what a beauty!

[Thanks Joshua via Elektronika]

IPv6 To 1-wire Protocol Translator

[Fli] assembled an AVR based system that can assign IPv6 addresses to 1-wire components. An AVR ATmega644 microcontroller is used in conjunction with an ENC28J60 ethernet controller chip. To get up and running with IPv6 on this meek hardware [Fli] ported the uIPv6 stack from the contiki project over to the AVR framework. Although he encountered some hardware snafus along the way, in the end he managed to get five sensors connected to the device, each with their own IP assigned using the stack’s alias capability.

This is great if you’re looking for a low-cost IPv6 solution. We’re not sure if there’s much demand for that, but it’s useful for that 1-wire home automation setup you’re considering.

Building Capacitive Sensitive Floor Tiles

That title’s a mouthful but you’re already familiar with the technology and application of foot pads as sensors in games like Dance Dance Revolution. The usbddr project sought to make a USB connected DDR controller from scratch. The microcontroller used is an Atmel ATmega8 running the V-USB firmware for connectivity and uses the analog to digital converts to read in data from the capacitive sensors.

The physical implementation is cleaver. The base plate has a capacitor plate attached to the top of it and the tile has the other capacitor plate attached to the bottom of it. The two are separated by some weather-stripping which is spongy enough to allow compression, bringing the two capacitor plates together.

We’re not convinced of the long-term durability of the system. We certainly don’t think it will hold up to very much hard-core DDR playing. But we would love to see a Super Mario RPG style puzzle to unlock the door to the ‘castle’ at a child’s birthday party.

[Thanks Hans]

AVR8 Virtual Processor On FPGA

[Jack] wrote in to let us know about a project that creates a virtual microprocessor core based on the ATmega103 by using a Field-Programmable Gate Array. Great, we thought. Here’s another rather esoteric project like the NES on a FPGA, but what’s the motivation behind it? We asked [Jack] and he provided several scenarios where this is quite useful.

Implementing the AVR core allows code already written for the chips to be easily ported to an FPGA without a code rewrite. This way, if your needs outpaced the capabilities of the microcontroller long after the project has started, you can keep the code and move forward from that point with the added capabilities of the gate array. Having the core already implemented, you then only need to work with HDL for the parts of the project the AVR was unable to handle. He also makes the point that having an open source AVR core implementation provides a great tool for people already familiar with AVR to study when learning VHDL.

With products like the Butterfly that this project is based around, or the Maple we’ve seen in the past, programmable logic for the recreational hacker is starting to get a little easier.

PIC Powered AVR Programmer

[Texane] wrote in to let us know he has implemented AVR ISP programming using a PIC microcontroller. He wrote some code for an 18F4550 that uses the STK500 standard for In System Programming. This means that his hardware is compatible with AVRdude, the open source AVR programming software. There has long been an argument over the virtues of PIC versus AVR but we say why not both? If you have already honed your programming chops with PIC, you can build your own programmer and give the Atmel family a try.

The current implementation uses a serial port to connect the programmer to a computer. Keep your eye on this one as [texane] plans to add USB connectivity and has told us he will post schematics for the device as soon as that is complete.

RFID Door Lock – The Right Way

[youtube=http://www.youtube.com/watch?v=XT7E_GEIPVg]

[Pcmofo] has shared a well-built, well-explained example of how to implement an RFID key system for a door. We call this the right way because it is well thought out and functional. In the past we’ve seen doors that unlock via a secret knock, keypads, and RFID, but they are all non-permanent solutions capable being transplanted from one door to another. Rather than building a mechanism to turn the door handle, this implementation uses an electric strike mounted in the framing of the door to allow access. These are used for security doors in buildings and are built to keep your door secure.

The hack in this case is the electronics. Using an AVR ATmega168 running the Arduino boot-loader, [pcmofo] has prototyped a two-part design. An RFID reader is mounted outside the door with data wires running to the inside where the microcontroller resides. A hard-coded RFID card is used as a “master” to train any number of tags for entry. The master puts the device in training mode and the next tag to be read is added to the list of tags authorized to open the door.

We like messy wires and quickly thrown together devices but this is built to last and will look great once mounted in an appropriate enclosure.