New Part Day: ATMegas With Programmable Logic

Since Microchip acquired Atmel, the fields of battle have fallen silent. The Crusaders have returned home, or have been driven into the sea. The great microcontroller holy war is over.

As with any acquisition, there is bound to be some crossover between two product lines. Both Atmel’s AVR platform and Microchip’s PICs have their adherents, and now we’re beginning to see some crossover in the weird and wonderful circuitry and design that goes into your favorite microcontroller, whatever that might be. The newest part from Microchip is an ATMega with a feature usually found in PICs. This is a Core Independent Peripheral. What is it? Well, it’s kinda like a CPLD stuck in a chip, and it’s going to be in the new Arduino board.

The ATMega4809 is the latest in a long line of ATMegas, and has the features you would usually expect as the latest 8-bit AVR. It runs at 20MHz, has 48 K of Flash, 6 K of SRAM, and comes in a 48-pin QFN and TQFP packages. So far, everything is what you would expect. What’s the new hotness? It’s a Core Independent Peripheral in the form of Configurable Custom Logic (CCL) that offloads simple tasks to hardware instead of mucking around in software.

So, what can you do with Configurable Custom Logic? There’s an application note for that. The CCL is effectively a look-up table with three inputs. These inputs can be connected to I/O pins, driven from the analog comparator, timer, UART, SPI bus, or driven from internal events. The look-up table can be configured as a three-input logic gate, and the output of the gate heads out to the rest of the microcontroller die. Basically, it’s a tiny bit of programmable glue logic. In the application note, Microchip provided an example of debouncing a switch using the CCL. It’s a simple enough example, and it’ll work, but there are a whole host of opportunities and possibilities here.

Additionally, the ATMega4809, “has been selected to be the on-board microcontroller of a next-generation Arduino board” according to the press release I received. We’re looking forward to that new hardware, and of course a few libraries that make use of this tiny bit of custom programmable logic.

Interfacing with a Digital Speedometer

After swapping the engine out in his scooter, [James Stanley] made an unfortunate discovery. The speedometer was digitally controlled, and while the original engine had a sensor which would generate pulses for it to interpret, his new engine didn’t. Learning that the original sensor would pull the signal wire to ground each time it detected a tooth of one of the spinning gears, [James] reasoned he needed to find a way to detect the scooter’s speed and create these pulses manually.

To find the scooter’s speed, he installed a magnet on the front wheel and a hall effect sensor on the fork to detect each time it passed by. Since the wheel is of a known circumference, timing the pulses from the sensor allows calculation of the current speed. A GPS receiver could be used if you wanted fewer wires, but the hall effect sensor on the wheel is simple and reliable. With the speed of the scooter now known, he needed to turn that into a signal the speedometer understands.

Speedometer controller potted with resin.

[James] wrote a program for an ATmega that would take the input from the wheel sensor and use it to create a PWM signal. This PWM signal drives a transistor, which alternates the speedometer sensor wire between low and floating. With a bit of experimentation, he was able to come up with an algorithm which equated wheel speed to the gearbox speed the speedometer wanted with accuracy close enough for his purposes.

While the software side of this project is interesting in its own right, the hardware is an excellent case study in producing robust electronic devices suitable for use on vehicles. [James] 3D printed a shallow case for the circuit board, and potted the entire device with black polyurethane resin. He even had the forethought to make sure he had a debugging LED and programming connector before he encapsulated everything (which ended up saving the project).

While the specific scenario encountered by [James] is unlikely to befall others, his project is an excellent example of not only interfacing with exiting electronics but producing rugged and professional looking hardware without breaking the bank. Even if scooters aren’t your thing, there are lessons to be learned from this write-up.

For all you two wheeled hackers out there, we’ve covered similar projects designed for bicycles, as well as some very slick digital speedometer mods for motorcycles.

Micro-ATX Arduino is the Ultimate Breakout Board

If you’ve been hanging around microcontrollers and electronics for a while, you’re surely familiar with the concept of the breakout board. Instead of straining to connect wires and components to ever-shrinking ICs and MCUs, a breakout board makes it easier to interface with the device by essentially making it bigger. The Arduino itself, arguably, is a breakout board of sorts. It takes the ATmega chip, adds the hardware necessary to get it talking to a computer over USB, and brings all the GPIO pins out with easy to manage header pins.

But what if you wanted an even bigger breakout board for the ATmega? Something that really had some leg room. Well, say no more, as [Nick Poole] has you covered with his insane RedBoard Pro Micro-ATX. Combining an ATmega32u4 microcontroller with standard desktop PC hardware is just as ridiculous as you’d hope, but surprisingly does offer a couple tangible benefits.

RedBoard PCB layout

The RedBoard is a fully compliant micro-ATX board, and will fit in pretty much any PC case you may have laying around in the junk pile. Everything from the stand-off placement to the alignment of the expansion card slots have been designed so it can drop right into the case of your choice.

That’s right, expansion slots. It’s not using PCI, but it does have a variation of the standard Arduino “shield” concept using 28 pin edge connectors. There’s a rear I/O panel with a USB port and ISP header, and you can even add water cooling if you really want (the board supports standard LGA 1151 socket cooling accessories).

While blowing an Arduino up to ATX size isn’t exactly practical, the RedBoard is not without legitimate advantages. Specifically, the vast amount of free space on the PCB allowed [Nick] to add 2Mbits of storage. There was even some consideration to making removable banks of “RAM” with EEPROM chips, but you’ve got to draw the line somewhere. The RedBoard also supports standard ATX power supplies, which will give you plenty of juice for add-on hardware that may be populating the expansion slots.

With as cheap and plentiful as the miniITX and microATX cases are, it’s no surprise people seem intent on cramming hardware into them. We’ve covered a number of attempts to drag other pieces of hardware kicking and screaming into that ubiquitous beige-box form factor.

FrankenKorg: The Modern Remote Keyboard

On a dreary night in November, [Smecher] collected the instruments of electronic life around him to infuse a musical spark into FrankenKorg — a resurrected keytar.

This hack is a “re-braining” of a RK-100 Korg Keytar, replacing the original circuits with an ATMega32 — the original functionality and appearance are preserved allowing any restored version of the original boards to be seamlessly re-integrated. In light of that, the original boards were ditched after a brief investigation, and a haphazard building process on a protoboard began. Three LS138 3-8 demuxers that accompany the ATMega handle scanning the keys since there weren’t enough pins on the ATMega alone for all the Korg’s features. Check out [Smecher]’s breakdown of his process in the video after the break!

Continue reading “FrankenKorg: The Modern Remote Keyboard”

Push Buttons, Create Music With A MIDI Fighter

Musicians have an array of electronic tools at their disposal to help make music these days. Some of these are instruments in and of themselves, and [Wai Lun] — inspired by the likes of Choke and Shawn Wasabi — built himself a midi fighter

Midi fighters are programmable instruments where each button can be either a note, sound byte, effect, or anything else which can be triggered by a button. [Lun]’s is controlled by an ATmega32u4 running Arduino libraries — flashed to be recognized as a Leonardo — and is compatible with a number of music production programs. He opted for anodized aluminum PCBs to eliminate flex when plugging away and give the device a more refined look. Check it out in action after the break!

Continue reading “Push Buttons, Create Music With A MIDI Fighter”

Word Clock Five Minutes At A Time

As this clock’s creator admits, it took far more than five minutes to put together, but it does display the time in five minute increments.

After acquiring five 4-character, 16 segment display modules that were too good to pass up, they were promptly deposited in the parts pile until [JF] was cajoled into building something by a friend. Given that each display’s pins were in parallel, there was a lot of soldering to connect these displays to the clock’s ATMega328P brain. On the back of the clock’s perfboard skeleton, a DS1307 real-time clock and coin cell keep things ticking along smoothly. The case is laser cut out of acrylic with an added red filter to up the contrast of the display, presenting a crisp, crimson glow.

Troubleshooting — as well as procrastination — proved to be the major stumbling block here. Each of the displays required extensive troubleshooting because — like Christmas lights of yore — one bad connection would cause all the other displays to fail. Furthermore, there isn’t any easy way to change the time, so the clock needs to be reprogrammed once in a while

We love word clocks because there are so many ways to configure them and for the oddities. That isn’t to say radial clocks are any less creative.

Continue reading “Word Clock Five Minutes At A Time”

Spoiler Alert! Repairing A Race Car Can Get Complicated, Fast.

[Big Fish Motorsports] has a vehicle with an adjustable rear spoiler system that broke in the lead up to a big race. The original builder had since gone AWOL so the considerable talents of [Quinn Dunki] were brought to bear in getting it working again.

Cracking open the black control box of mystery revealed an Arduino, a ProtoShield and the first major road block: the Arduino remained stubbornly incommunicado despite several different methods of trying to read the source code. Turns out the Arduino’s ATMega324 was configured to be unreadable or simply fried, but an ATMega128 [Quinn] had proved to be a capable replacement. However, without knowing how the ten relays for this spoiler system were configured — and the race day deadline looming ever larger — [Quinn] opted to scrap the original and hack together something of her own design with what she had on hand.

Continue reading “Spoiler Alert! Repairing A Race Car Can Get Complicated, Fast.”