While it might not be quite as revered as its predecessor, the Game Boy Advance is arguably the peak of “classic” handheld gaming, before things got all 3D and dual screen on us. One of its best features is the so-called multiboot mode, which allows the GBA to download a program from its link port. Officially this feature was introduced so you could play multiplayer with your friends even if they didn’t have the game cartridge, but naturally it didn’t take long for hackers to realize you can use it to run arbitrary code on an unmodified system.
[Shyri Villar] has put this capability to excellent use with a plug-in board that allows a stock GBA to be used as a general purpose Bluetooth HID controller. Now you can emulate GBA games on your computer while using the real thing as your input device. Or if that’s a bit too redundant for you, then any 2D game you think could benefit from the classic Game Boy control layout.
An ATmega328P on the board initiates the multiboot sequence when the system powers up, and feeds it the GBA program that’s stored on a W25Q32 chip. Once the code is running on the GBA, it communicates with a common HC-05 Bluetooth module through the same link port. To perform this handoff, [Shyri] uses a HCF4066 switch IC to literally change the pin assignments in the connector from the SPI used to upload the ROM to the UART lines of the Bluetooth module.
With everything powered from the 3.3 V provided by the GBA’s link port, and some software niceties like the ability to store Bluetooth pairing information for subsequent device connections, this is actually a very practical gadget. The fact that you can do this on a completely stock GBA is very compelling, especially considering some of the previous Bluetooth Game Boy modifications we’ve seen. Granted the market might be somewhat limited, but with a custom PCB and a 3D printed enclosure, we could see this potentially being a popular accessory for the classic handheld. It’s not like it can be any more niche than using the GBA as a remote display for your multimeter.
The infrared remote control might not hold the seat of honor in the average home theater setup that it once enjoyed, but it’s not quite out to pasture yet. After all, what are you going to use to stop Netflix once the Chromecast invariably disconnects from your phone? As long as there are devices out there that will respond to commands blasted their way via an IR LED, hackers will be looking to get in on the action.
In an effort to make IR remote hacking just a bit easier, [sjm4306] has submitted his Remoteduino for the 2019 Hackaday Prize. With this handy tool in your arsenal, you can focus on developing the software side of your next IR remote project without worry about the hardware. Just upload your code, and get clicking.
As you might imagine, the design is rather simple. On the front edge of the PCB you’ve got the prerequisite IR LED, and a healthy supply of tactile buttons that your code can use as input. The remote features a fairly standard layout on the top half, complete with silkscreened labels for the common functions, but below that [sjm4306] has packed in six general purpose buttons that can be used for whatever you like.
The Remoteduino is powered by an ATmega328P, and the whole thing runs on a CR2032 cell mounted on the backside. [sjm4306] mentions in his write-up on Hackaday.io that battery life was always a consideration during development of the Remoteduino, so he’s made a few energy-saving considerations. Using the internal 8 MHz oscillator instead of an external crystal shaved a bit off the top, and the aggressive sleep routines got him the rest of the way. In testing, he estimates the battery should last a few years even with daily use.
Continue reading “Simple Arduino Universal Remote Control”
If you want to take a picture of something fast, and we mean really fast, you need to have a suitably rapid flash to illuminate it. A standard camera flash might be good enough to help capture kids running around the back yard at night, but it’s not going to do you much good if you’re trying to get a picture of a bullet shattering a piece of glass. For that you’ll need something that can produce microsecond flashes, allowing you to essentially “freeze” motion.
You can buy a flash that fast, but they aren’t common, and they certainly aren’t cheap. [td0g] thought he could improve on the situation by developing his own microsecond flash, and he was kind enough to not only share it with the world, but create a fantastically detailed write-up that takes us through the entire design and construction process. Even if you aren’t in the market for a hyper-fast flash for your camera, this is a fascinating look at how you can build an extremely specialized piece of gear out of relatively common hardware components.
So what goes into a fast LED flash? Rather unsurprisingly, the build starts with high-quality LEDs. After some research, [td0g] went with an even dozen CREE CXA2530 arrays at just shy of $7 USD each. Not exactly cheap, but luckily the rest of the hardware is pretty garden variety stuff, including a ATMega328P microcontroller, some MOSFETs, and a TC4452 driver. He did pack in some monstrous 400 V 10μf capacitors, but has since realized they were considerably overkill and says he would swap them out if doing it all over again.
To make development easier (and less costly, should anything go wrong), [td0g] designed the flash so that the LEDs are arranged in banks of three which can be easily removed or swapped in the 3D printed case. Each trio of LEDs is in a removable “sled” that also holds the corresponding capacitor and MOSFET. Then it was just a matter of getting the capacitors charged up and safely dumping their energy into the banks of LEDs without frying anything. Simple.
At this point, the astute reader is probably thinking that a high speed flash is worthless without an equally fast way of triggering it. You’d be right, but [td0g] already figured that part. A couple years back we covered his incredible ballistic chronometer which is being used as a sensor to fire off his new flash.
We’ve all got calculators on our phones, in our web browsers, and even in the home “assistant” that’s listening in on your conversations all day on the off chance you blurt out a math question is can solve for you. The most hardcore among us might even still have a real calculator kicking around. So in that light, building your own DIY calculator might not seem too exciting. But we can’t deny this Arduino calculator project by [Danko Bertović] would look good sitting on the bench.
In the video after the break, [Danko] walks us through the creation of the calculator, from placing all the through-hole components to writing the code that pulls it all together. Special attention is given to explaining the wiring, making this is a good project for those just getting started on their digital hacking journey. It also helps that the whole thing is put together on perfboard with jumper wires; no PCB fabrication required for this one.
For the user interface, [Danko] is using an array of 17 tactile switches for the keyboard and a very crisp 128×32 I2C OLED display. Beyond the battery, a crystal, and a handful of passive components, that’s about all the support hardware it takes to put this project together. You don’t even need an enclosure: a second piece of perfboard and some standoffs are used to sandwich the battery and fragile wiring inside.
Of course, the star of the show is the ATmega328P microcontroller, which is mounted in a place of honor right under the OLED screen. The chip gets programmed in an Arduino Uno and then transplanted into the calculator, a neat trick if you don’t have a dedicated programmer handy. Given how cheap Arduino clones can be had online, this is becoming a more common practice.
The construction of this calculator reminds us a bit of the DIY Sinclair scientific calculator we looked at over the summer. But if you want to see the peak of homebrew calculator technology, this Raspberry Pi powered build is tough to beat.
Continue reading “Pocket Sized Arduino Calculator Makes A Great First Project”
There’s a bunch of companies selling wireless Super Nintendo style controllers out there. You can go on Amazon and get any number of modern pads that at least kinda-sorta look like what came with Nintendo’s legendary 1990’s game console. They’ve got all kinds of bells and whistles, Bluetooth, USB-C, analog sticks, etc. But none of them are legitimate SNES controllers, and for some people that’s just not good enough.
[sjm4306] is one of those people. He wanted to add Bluetooth and some other modern niceties to a legitimate first-party SNES controller, so he picked up a broken one off of eBay and got to work grafting in his custom hardware. The final result works with Nintendo’s “Classic Edition” consoles, but the concept could also work with the original consoles as well as the computer if you prefer your classic games emulated.
A custom ATMEGA328P-powered board polls the controller’s SPI serial shift register in much the same way the original SNES would have. It then takes those button states and sends them out over UART with a HC-05 Bluetooth module. The controller is powered by a 330 mAh 3.7V battery, and a charging circuit allows for easily topping the controller off with a standard USB cable.
A particularly nice touch on the controller is the use of custom light pipes for the status LEDs. [sjm4306] made them by taking pieces of transparent PLA 3D printer filament, heating and flattening the end, and then sanding it smooth. This provides a diffusing effect on the light, and we’ve got to say it looks very good. Definitely a tip to file away for the future.
On the receiving side, this project was inspired by a custom NES Classic Edition Advantage controller we featured last year, and borrows the work creator [bbtinkerer] did to get his receiver hardware talking to the Classic console over I2C.
We’ve seen a number of projects which have added wireless functionality to the classic Super Nintendo controller, but most tend to be more invasive than this one. We like the idea of reading the controller’s original hardware rather than completely gutting it.
Continue reading “Adding Bluetooth To Original SNES Controllers”
A few months ago we brought word that [Electronoobs] was working on his own open source alternative to pocket-sized temperature controlled soldering irons like the TS100. Powered by the ATMega328p microcontroller and utilizing a 3D printed enclosure, his version could be built for as little as $15 USD depending on where you sourced your parts from. But by his own admission, the design was held back by the quality of the $5 replacement soldering iron tips he designed it around. As the saying goes, you get what you pay for.
But [Electronoobs] is back with the second version of his DIY portable soldering iron, and this time it’s using the vastly superior HAKKO T12 style tip. As this tip has the thermocouple and heating element in series it involved a fairly extensive redesign of the entire project, but in the end it’s worth it. After all, a soldering iron is really only as good as its tip to begin with.
This version of the iron deletes the MAX6675 used in V1, and replaces it with a LM358 operational amplifier to read the thermocouple in the T12 tip. [Electronoobs] then used an external thermocouple to compare the LM358’s output to the actual temperature at the tip. With this data he created a function which will return tip temperature from the analog voltage.
While the physical and electrical elements of the tip changed substantially, a lot of the design is still the same from the first version. In addition to the ATMega328p microcontroller, version 2.0 of the iron still uses the same 128×32 I2C OLED display, MOSFET, and 5V buck converter from the original iron. That said, [Electronoobs] is already considering a third revision that will make the iron even smaller by replacing the MOSFET and buck converter. It might be best to consider this an intermediate step before the DIY iron takes on its final form, which we’re very interested in seeing.
The first version of the DIY Arduino soldering iron garnered quite a bit of attention, so it seems there’s a decent number of you out there who aren’t content with just plunking down the cash for the TS100.
Continue reading “DIY Arduino Soldering Iron Hits Version 2.0”
When you show up at a party wearing this bare PCB watch, there are effectively two possible reactions you might receive from the other people there. Either they are going to snicker at the nerd who’s wearing a blinking circuit board on their wrist in public, or they are going to marvel at the ridiculously low part count. We’ll give you one guess as to which reaction you’d likely get at any event Hackaday is involved in.
Designed and built by [Electronoobs], this extremely simple watch consists of a ATmega328P microcontroller, a dozen LEDs with their associated 200 Ω resistors, and a battery. There’s also a single push button on the front which is used to not only set the watch, but turn the LEDs on when you want to check the time. Short of dropping down to one LED and blinking out the time, it’s hard to imagine a timepiece with fewer components than this.
You’re probably wondering how [Electronoobs] pulled this off without an external clock source for the ATmega328P chip. The chip actually has an internal 8 MHz oscillator that can be used, but you need to flash the appropriate bootloader to it first. Accordingly, the backside of the PCB has both SPI and a UART solder pads for external bootloader and firmware programming.
As you might expect, there’s a downside to using the internal oscillator: it’s not very good. The ATmega328P spec sheet claims a factory calibrated accuracy of ±10%, and [Electronoobs] has found that equates to a clock drift of around 15 seconds per day. Not exactly great, but considering the battery only lasts for two days anyway, it doesn’t have much of an impact in this case.
Compared to other “analog” LED watches we’ve seen, the simplicity of this build is really quite remarkable. The closest competitor we’ve seen so far is this slick binary watch.
Continue reading “An Arduino Watch Without A Clock”