DIy Arduino FM radio enclosure with the lid off, showing the electronics inside

DIY Arduino Due TEA5767 FM Radio

Older hackers will remember that a crystal set radio receiver was often one of the first projects attempted.  Times have changed, but there’s still something magical about gathering invisible signals from the air and listening to the radio on a homemade receiver. [mircemk] has brought the idea right up to date by building an FM radio with an OLED display, controlled with a rotary encoder.

The design is fairly straightforward, based as it is on another project that [mircemk] found on another site, but the build looks very slick and would take pride of place on any hacker’s workbench. An Arduino Due forms the heart of the project, controlling a TEA5767 module, an SH1106 128×64 pixel OLED display and a rotary encoder. The sound signal is passed through an LM4811 headphone amplifier for private listening, and a PAM8403 Class D audio amplifier for the built-in loudspeaker. The enclosure is made from PVC panels, and accented with colored adhesive tape for style.

It’s easier than ever before to quickly put together projects like this by connecting pre-built modules and downloading code from the Internet, but that doesn’t mean it’s not a worthwhile way to improve your skills and make some useful devices like this one. There are so many resources available to us these days and standing on the shoulders of giants has always been a great way to see farther.

We’ve shown some other radio projects using Arduinos and the TEA5767 IC in the past, such as this one on a tidy custom PCB, and this one built into an old radio case.

Continue reading “DIY Arduino Due TEA5767 FM Radio”

close-up image of a philodendron houseplant with electrodes attached, connected to a robot arm holding a machete

(Mostly) Harmless Houseplant Wields Machete

In a straight fight between a houseplant and a human, you might expect the plant to be at a significant disadvantage. So [David Bowen] has decided to even the odds a little by arming this philodendron with a robot arm and a machete.

The build is a little short on details but, from the video, it appears that adhesive electrodes have been attached to the leaves of the recently-empowered plant and connected directly to analog inputs of an Arduino Uno.  From there, the text tells us that the signals are mapped to movements of the industrial robot arm that holds the blade.

It’s not clear if the choice of plant is significant, but an unarmed philodendron appears to be otherwise largely innocuous, unless you happen to be a hungry rodent. We hope that there is also a means of disconnecting the power remotely, else this art installation could defend itself indefinitely! (or until it gets thirsty, at least.) We at Hackaday welcome our new leafy overlords.

We have covered the capabilities of plants before, and they can represent a rich seam of research for the home hacker.  They can tell you when they’re thirsty, but can they bend light to their will?  We even held a Plant Communication Hack Chat in 2021.

Continue reading “(Mostly) Harmless Houseplant Wields Machete”

Arduino IDE v2.0 screen with callout tags to identify features

Arduino IDE 2.0 Is Here

Arduino have released the latest version of their Integrated Development Environment (IDE), Version 2.0 and it is a big step up from the previous release, boasting plenty of new features to help you to develop your code more easily.

As the de-facto way for beginners to get into programming hardware, more experienced users have sometimes complained about what they see as the over-simplistic IDE — even lacking relatively basic features such as autocomplete. The new version provides this, and much more besides. Continue reading “Arduino IDE 2.0 Is Here”

Adding A Third Wheel (And Speed Boost) To An Electric Scooter

The story of how [Tony]’s three-wheeled electric scooter came to be has a beginning that may sound familiar. One day, he was browsing overseas resellers and came across a new part, followed immediately by a visit from the Good Ideas Fairy. That’s what led him to upgrade his DIY electric scooter to three wheels last year, giving it a nice speed boost in the process!

The part [Tony] ran across was a dual brushless drive unit for motorizing a mountain board. Mountain boards are a type of off-road skateboard, and this unit provided two powered wheels in a single handy package. [Tony] ended up removing the rear wheel from his electric scooter and replacing it with the powered mountain board assembly.

He also made his own Arduino-based interface to the controller that provides separate throttle and braking inputs, because the traditional twist-throttle of a scooter wasn’t really keeping up with what the new (and more powerful) scooter could do. After wiring everything up with a battery, the three-wheeled electric scooter was born. It’s even got headlights!

[Tony]’s no stranger to making his own electric scooters, and the fact that parts are easily available puts this kind of vehicular experimentation into nearly anybody’s hands. So if you’re finding yourself inspired, why not order some stuff, bolt that stuff together, and go for a ride where the only limitation is personal courage?

Minimal Tic Tac Toe Business Card

The PCB business card has long been a way for the aspiring electronics engineer to set themself apart from their peers. Handing out a card that is also a two player game is a great way to secure a couple minutes of a recruiter’s time, so [Ryan Chan] designed a business card that, in addition to his contact information, also has a complete Tic-Tac-Toe game built in.

[Ryan] decided that an OLED display was too expensive for something to hand out and an LED matrix too thick, so he decided to keep it simple and use an array of 18 LEDs—9 in each of two colors laid out in a familiar 3×3 grid. An ATmega328p running the Arduino bootloader serves as the brains of the operation. To achieve a truly minimal design [Ryan] uses a single SMD pushbutton for control: a short press moves your selection, a longer press finalizes your move, and a several-second press switches the game to a single-player mode, complete with AI.

If you’d like to design a Tic-Tac-Toe business card for yourself, [Ryan] was kind enough to upload the schematics and code for his card. If you’re still pondering what kind of PCB business card best represents you, it’s worth checking out cards with an updatable ePaper display or a tiny Tetris game.

Continue reading “Minimal Tic Tac Toe Business Card”

Sketch of a Tandy TRS-80 Model 100 with Arduino Mega 2560

TRS-80 Model 100 Gets Arduino Heart Transplant

When [Stephen Cass] found himself with a broken Tandy TRS-80 Model 100 portable computer, the simplest solution was to buy another broken one and make one working computer from two non-working computers. However, this left him with a dilemma — what to do with the (now even more) broken one left over?

LCD layout is unusual by modern standard, but optimized for fast updates

Naturally, he did what a lot of us would do and used modern hardware to interface with the original parts that still work. In this case it meant replacing the motherboard with an Arduino Mega 2560.

Luckily, the Model 100 has a substantial fanbase and there’s a lot of helpful information available online, including the detailed service manual, that helped [Stephen] to understand how to drive the unusual display.  The LCD has a resolution of 240×64 pixels, which are broken down into eight zones of 50×32 pixels, and two zones of 40×42 pixels.  Each zone is then further divided into four banks, eight pixels tall, so that each column of eight pixels corresponds to a single byte.

Every one of the ten zones is controlled by an individual HD44102 driver IC, connected to a 30-bit wide bus for selecting the correct chip, bank and column.

With the Arduino handling the data, the old LCD still needed a -5 V supply for contrast and an RC filter to smooth out the PWM signal [Stephen] is using to adjust the viewing angle.

With the new interface, [Stephen] is able to access all of the pixels on the original display, and to use modern graphics libraries such as displayio. With the display issue solved, he intends to use a separate Teensy 4.1 to connect with the keyboard matrix and provide a VT100 terminal interface.

Schematic of the HD44102 driver circuit

Upcycling old, broken hardware can be a lot of fun and is always educational.  Understanding why certain design decisions were made at a time when the engineering trade-offs were different can lead to insights that are directly relevant to modern designs when resources get tight. In this case, the quirky LCD drivers were a response to making the display of text as efficient as possible, so as not to overburden the processor.

The TRS-80 computers are ripe for hacking, with their “built-for-service” designs, and we’ve featured a few in the past.  Some have replaced the motherboard with something newer, like [Stephen], whereas others have also replaced the display, or connected them to the cellphone network.

Have you found new ways to get old hardware working? Tell us in the comments below or send us a message on the Hackaday tips line.

Thanks to [nb0x0308] for the tip!

Trojans Can Lurk Inside AVR Bootloaders

If there’s one thing we’ve learned over the years, it’s that if it’s got a silicon chip inside, it could be carrying a virus. Research by one group focused on hiding a trojan inside an AVR Arduino bootloader, proving even our little hobbyist microcontrollers aren’t safe.

The specific aim of the research was to hide a trojan inside the bootloader of an AVR chip itself. This would allow the trojan to remain present on something like a 3D printer even if the main firmware itself was reinstalled. The trojan would still be able to have an effect on the printer’s performance from its dastardly hiding place, but would be more difficult to notice and remove.

The target of the work was the ATmega328P, commonly used in 3D printers, in particular those using the Marlin firmware. For the full technical details, you can dive in and read the research paper for yourself. In basic terms, though, the modified bootloader was able to use the chip’s IVSEL register to allow bootloader execution after boot via interrupt. When an interrupt is called, execution passes to the trojan-infected bootloader’s special code, before then returning to the program’s own interrupt to avoid raising suspicion. The trojan can also execute after the program’s interrupt code too, increasing the flexibility of the attack. Continue reading “Trojans Can Lurk Inside AVR Bootloaders”