Behold this ATtiny85 based EEPROM programmer. It seems like a roundabout way of doing things, but [Quinn Dunki] wanted to build to her specifications using tools she had on hand. What she came up with is an ATtinyISP USB programmer, pushing data to an ATtiny85, which then programs an EEPROM chip with said data.
The hardware is the next module for her Veronica 6502 computer build. When we last saw that project [Quinn] was planning to add persistent storage for the operating firmware. This will be in the form of an EEPROM programmed with this device. Using ISP and an ATtiny as a go-between means that she should have no problems reflashing the OS without removing the chip. But it all depends on how she designs the interface.
For example, she blew a whole bunch of time troubleshooting the device because garbage data was being written to the chip. In the end, having her manual bus programmer hooked up during the flashing operation was the culprit. Lesson learned, it’s onward and upward with the build.
We’ve been featuring [Quinn’s] projects a lot lately. That’s in part because they’re really interesting, but also because she does such a great job of documenting her experience.
[Owen] has a fairly big project in the works, where he’ll need to use infrared light to send data wirelessly between two nodes. The only problem with his grand plan is that he has never built anything of the sort. As a learning exercise, he decided to try his hand at building a wireless control interface for his laptop, which he uses to play music while doing homework.
His laptop usually sits across the room from [Owen], where it is connected to a speaker and amplifier. He hates getting up repeatedly to change songs, so he figured he might as well build an IR receiver to control Winamp that responds to commands from his TV’s remote control. Using his Open Bench logic sniffer and an IR receiver from an old VCR, he deciphered his remote’s encoding system. He then programmed an ATtiny13 to decode messages received by the IR sensor, sending them to his laptop via USB.
He packaged things inside a tiny mint tin, which he hangs from a desk lamp while in use. Now he can easily perform just about any action in Winamp with a few button presses on his remote. [Owen] says that he’s incredibly happy with the results, and now that he has a firm grasp of IR signaling concepts, we can’t wait to see what he builds next.
It seems that [pppd] is always rushing out of his apartment to catch the bus, and he finds himself frequently questioning whether or not he remembered to lock the door. He often doubles back to check, and while he has never actually forgotten to lock the door, he would rather not deal with the worry.
Since he finally had some free time on his hands, he decided to put together a simple device that would help end his worry once and for all. Using an ATtiny13, [pppd] designed a circuit that would detect when his door has been unlocked and opened, beeping every few seconds until the lock is reengaged. The circuit relies on a reed switch installed inside the door frame, which is tripped by the magnet he glued to his door’s deadbolt.
He says that the system works well so far, though he does have a few improvements in mind already.
[Mike Shegedin] makes full use of an 8-pin microcontroller with this ATtiny13-based dice project. With a maximum of six I/O pins (that includes using the reset pin as I/O) he needed a couple of tricks in order to drive 14 LEDs and use a momentary push button for user input. We’re certainly familiar with the concepts here, but it still took quite a while to figure out what is going on with the schematic that [Mike] posted.
You’ve probably already guessed that he’s using Charlieplexing to drive more LEDs than he has pins. But when we started looking at the layout we thought he had drawn the schematic wrong, because there are six pairs of LEDs where the two diodes in each pair a not reverse biased, but hooked up in parallel. That, plus the fact that his battery is hooked up backwards. After several minutes of study the light bulb finally clicked on. Dice add pips (the dots on each side of a die) in pairs with the exception of the center pip. That means that you only need to control four total lines for each die (three pairs plus the center pip). There’s two ways to handle this, you could use four rows and two columns with traditional multiplexing, or you can reverse bias the two sets of LEDs for each die and use Charlieplexing. The former is a bit easier to program, the latter saves you one I/O pin and meant that [Mike] didn’t need to use the reset pin as I/O.
This is a clever addition to the collection of dice projects we’ve seen like the battery-less die, and the ATtiny2313 powered dice.
[Gadre] built his own ATtiny project without using any batteries. It’s an electronic Dice (or die if you’re being critical) which uses induction to charge a storage capacitor to act as the power source. The voltage generator is made from a tube of Perspex which houses a set of rare-earth magnets. At the enter of the tube [Gadre] machined a channel wich accepts about 1500 windings of 30 AWG magnet wire. When someone shakes the tube back and forth the magnet passes the wire, inducing a current. The product is stored in a 4700 uF capacitor, which feeds a boost converter to power the rest of the circuit.
The ATtiny13V that controls the circuit is running its internal RC oscillator at 128 kHz, the lowest setting possible in order to minimize power consumption. After a good shake the user can press a button to roll the die, which is then displayed for several seconds on a group of seven LEDs. See for yourself in the video after the break.
Continue reading “ATtiny Hacks: Look Ma, no batteries!”
Did you know that most AVR chips have a type of hardware exclusive OR (XOR) option when it comes to the logic levels of the output pins? If you look in the datasheet (the image above is a screenshot from an ATtiny13 datasheet) you’ll find a section on Toggling the Pin. It turns out that if you set a PORT as an output, writing logic one to the corresponding PIN register will toggle the logic levels of that out. This is really easy to overlook if you’re writing in C, but I’ve been working on learning a bit of assembler language and found this to be very useful. Keep reading after the break and I’ll tell you how I happened upon this info and what it’s good for.
Continue reading “Hardware XOR for output pins on AVR microcontrollers”
[Owen] just finished putting together a portable helicopter game. It’s pretty impressive, especially since he used an ATtiny13 microcontroller. That chip uses an 8-pin dip package, offering only five I/O pins (six if you use the reset pin) and 1k of programming space.
The game runs on a small cellphone-type LCD screen. The helicopter remains somewhere in the center column of the screen as the maze that makes up the game board approaches one step at a time. The single button that controls the helicopter will raise it with each step of the maze when held down, or allow it to fall when released. The player’s progress is shown as a hex value in the upper left corner of the screen. When you hit a wall, your score will be shown next to the high score for the game and will be saved in EEPROM if it’s a new record. As the game progresses, the maze gets harder based on the score. Check it out in a video clip after the break.
Continue reading “ATtiny13 powered handheld helicopter game”