The days of the 8 bit Arduino may be quickly coming to a close. Sure, there will always be a place for AVRs in blinking LEDs and turning on relays, but for doing anything cool – playing MP3s, driving LCD displays, or running a CNC machine – you need the power of a 32 bit chip. [Brian Carrigan] put up a great tutorial on getting started with these bigger, more powerful micros and moving beyond what is possible with an 8 bit PIC or AVR.
These new 32 bit chips are much more powerful, but aren’t exactly hobbyist friendly. Most of the ARM chips we’ve found are stuffed into very fine pitch QFN or QFP packages that require a reflow oven to solder to a board. In fact, we can only find one through-hole Cortex M0 chip that is suited for breadboard development. This doesn’t make it easy to whip up a circuit in a few hours, so builders needing a very powerful microcontroller will be more dependent on dev boards.
Already there are a good number of ARM-based 32 bit dev boards available including the offerings from Leaf Labs, the extremely inexpensive STM Discovery board, Kinetis KL25Z Freedom Board, the outrageously powerful BeagleBone, and the perpetually delayed Arduino (over) Due.
None of these boards are particularly new developments; they’ve all been around the block once or twice. However, there are many more options for 32 bit development than the current 8 bit PIC and AVR holy war. We’re going to turn the comments over to Hackaday readers with the following questions: what supersized dev board are you rolling with? What’s good for a beginner, and what should they watch out for?
This portable sample player packs quite a punch. [Lee] wanted a nice portable way to take his samples with him, but refused to water-down the features just because it is portable. He set of goal of playing between 3-8 simultaneous notes from a large assortment of stored samples.
Sample space was the first design consideration, and it’s hard to beat the price per megabyte of an SD card. After some calculations he concluded that it is possible to pull these samples off the card quickly enough to achieve his simultaneous note goal at CD quality frequencies, but only if there is little or no latency when reading from the card. This means [Lee] needed a fast processor so he chose the LPC1769 which is an ARM Cortex-M3 processor which can run at 120 MHz.
The project box includes room for a volume knob to control the output from the in-build headphone amplifier. There’s also a rotary encoder for selecting sample sets. But we’re a bit confused on this part as the device is MIDI controlled. [Lee] is the creator of the electronic Moolodeon, which itself has MIDI out and will be used as a controller for this project.
Looks like the Lightweight USB Framework for AVRs (LUFA) has just been ported for ARM microcontrollers. NXP recently released a package for their LPC Cortex M3 family of ARM controllers. You won’t find a reference to LUFA on their nxpUSBlib description page (which we think is kind of sad), but if you grab a copy of the beta code the Version.h header file shows that it is indeed a port of the project. This is further backed up by the LUFA creator, [Dean Camera], who consulted with the NXP team doing the work.
The package provides an open-source USB stack that you can use in your projects as a USB host or USB device. We’re advocates of open source packages like this one as it makes it much easier for hobbyists to get help using the tools, and it allows the community to give back through bug fixes and feature additions.
We’ve highlighted a few LUFA projects, like this keyboard remapper and this AVR programmer. We’re looking to seeing the first set of NXP LUFA projects roll through!
Some hard work has gone into making it possible to develop for the STM32 Discovery board using a Linux system. The board boasts an ARM Cortex-M3 processor, which can be programmed via the mini-USB port on the side. But the company only supports development through their IDE’s which don’t run natively on Linux. The stlink project aims to solve this, providing a toolchain, and making it possible to flash the microcontroller via the USB connection.
The github project linked above also includes a tutorial to get you started (pdf). In addition to a walk through on compiling the software packages, it includes a simple blink program that you can use to test out your hardware. GDB, the familiar open-source debugger, is used to flash the chip. This is a bare-bones tutorial so if you end up posting about your experiences using this toolchain with the Discovery boards we’d love to hear about it.
The team at Leaf Labs just released a new library to demonstrate the VGA capabilities of their Maple dev board. Although it’s only a 16 by 18 pixel image, it shows a lot of development over past video implementations on the Maple.
The Maple is a great little Ardunio-compatible board with a strangely familiar IDE. We’ve covered the Maple before. Instead of the somewhat limited AVR, the Maple uses an ARM running at 72MHz, making applications requiring some horsepower or strict timing a lot easier.
We’ve seen a few projects use the increased power, like a guitar effects shield. It’s possible the Maple could be made into a game console that would blow the Uzebox out of the water, but we’re wondering what hackaday readers would use this dev board for.
Watch the video after the jump to see how far the Maple’s VGA capability has come after only a few months, or check out Leaf Lab’s Maple libraries.
Continue reading “VGA out on a Maple board”
As a project for an embedded systems class, [Alan] recently built himself a sunrise-simulating alarm clock. You are probably familiar with these sorts of timepieces – they gradually light up the room to awaken the sleeping individual rather than jarring them awake with a buzzer or the radio. Since many commercial units with this feature are sold for $70 and up, his goal was to replicate the functionality at a fraction of the cost, using only open source components.
An Arm Cortex M3 processor runs the show, displaying the time via a pair of 8×8 LED matrix panels on the front of the device. The clock is programmed to gently wake up its user by simulating a sunrise over a period of 5, 15, 30, 45, or 60 minutes. If the user has not woken up before the sunrise simulation is complete, the clock resorts to a traditional piezo alarm to rouse the heavy sleeper.
The project is nicely done, and after looking at his bill of materials it seems to be far cheaper than many sunrise alarm clocks you will find in stores.
Quadrocopters are all the rage lately, and while we have seen our fair share of large devices, [Arnaud Taffanel, Tobias Antonsson, and Marcus Eliasson] have been dutifully working to buck that trend. Their CrazyFlie is a miniature quadrocopter that uses its PCB as the main structure of the device.
Since the goal was to use a PCB as its frame, the copter’s footprint from the edge of one motor to the other is a modest 8cm, and it weighs in at a measly 20 grams! The entire platform runs on a Cortex-M3 CPU that takes input from an accelerometer and pair of gyroscopes to help keep its balance. Wireless communications are handled via a 2.4Ghz radio transmitter, and the quadrocopter’s power is supplied by a tiny 110 mAh LIPO battery pack scavenged from an R/C plane.
All of the control and telemetry is handled by a PC, which relays control messages it receives from the pilot’s game pad to the CrazyFlie. We’d love to see if they could retain this small footprint if everything was handled by the quadrocopter itself. Either way, this thing rocks – we most definitely want one!
Stick around to see a quick video of their mini quadrocopter in action, and be sure to check out our coverage of U. Penn’s quadrocopter creations if you are interested in seeing more.
Continue reading “Mini quadrocopter is Crazy awesome”