ARMing a Breadboard — Everyone Should Program an ARM

I’m always a little surprised that we don’t see more ARM-based projects. Of course, we do see some, but the volume isn’t what I’d expect given that low-level ARM chips are cheap, capable, low power, and readily available. Having a 32-bit processor with lots of memory running at 40 or 50 MIPS is a game changer compared to, say, a traditional Arduino (and, yes, the Arduino Due and Zero are ARM-based, so you can still stay with Arduino, if that’s what you want).

A few things might inhibit an Arduino, AVR, or PIC user from making the leap. For one thing, most ARM chips use 3.3V I/O instead of the traditional 5V levels (there are exceptions, like the Kinetis E). There was a time when the toolchain was difficult to set up, although this is largely not a problem anymore. But perhaps the largest hurdle is that most of the chips are surface mount devices.

Of course, builders today are getting pretty used to surface mount devices and you can also get evaluation boards pretty cheaply, too. But in some situations–for example, in classrooms–it is very attractive to have a chip that is directly mountable on a common breadboard. Even if you don’t mind using a development board, you may want to use the IC directly in a final version of a project and some people still prefer working with through hole components.

The 28 Pin Solution

One solution that addresses most, if not all, of these concerns is the LPC1114FN28 processor. Unlike most other ARM processors, this one comes in a 28 pin DIP package and works great on a breadboard. It does require 3.3V, but it is 5V tolerant on digital inputs (and, of course, a 3.3V output is usually fine for driving a 5V input). The chip will work with mbed or other ARM tools and after prototyping, you can always move to a surface mount device for production, if you like. Even if you are buying just one, you should be able to find the device for under $6.

Continue reading “ARMing a Breadboard — Everyone Should Program an ARM”

How To Build a Pocket-Sized mBed Signal Generator

Last month, I talked about how to get started with mBed and ARM processors using a very inexpensive development board. I wanted to revisit mBed, though, and show something with a little more substance. In particular, I often have a need for a simple and portable waveform generator. It doesn’t have to be too fancy or meet the same specs as some of the lab gear I have, but it should be easy to carry, power off USB, and work by itself when required.

My requirements mean I needed a slightly more capable board. In particular, I picked up a K64F board. This is very similar to the KL25Z board but has a bit more of everything–speed, memory, etc. What I really wanted, though, was the SD card slot. I did, however, do my early testing on a KL25Z, so if you have one, you can still work through the code, although standalone operation won’t be possible. The price jumps from $13 to $35, but you get a lot more capability for the price.

Continue reading “How To Build a Pocket-Sized mBed Signal Generator”

ZX81 Emulated on an mbed

This is a wonderful example of the phenomenon of “feature creep”. [Gert] was working on getting a VGA output running on an mbed platform without using (hardly) any discrete components. Using only a few resistors, the mbed was connected to a VGA display running at 640×480. But what could he do with something with VGA out? He decided to emulate an entire Sinclair ZX81 computer, of course.

With more than 1.5 million units sold, the Sinclair ZX81 was a fairly popular computer in the early ’80s. It was [Gert]’s first computer, so it was a natural choice for him to try to emulate. Another reason for the choice was that his mbed-VGA device could only output monochrome color, which was another characteristic of the ZX81.

[Gert] started by modifying a very lean Z80 emulator to make the compiled code run as efficiently as possible on the mbed. Then he went about getting a picture to display on the screen, then he interfaced an SD card and a keyboard to his new machine. To be true to the original, he built everything into an original ZX81 case.

This isn’t the first time we’ve seen a ZX81, but it is one of the better implementations of an emulated version of this system we’ve seen.

Thanks to [Jeroen] for the tip!

Controlling a railroad with an mbed


The word hacking got its start with model railway clubs, and the state of the art belies the current advancements in computer control and very, very small microcontrollers. [Jim] put together a great tutorial for driving model locomotives with a microcontroller, in this case an ARM-powered mbed.

Low-end model locomotives are controlled with DC, so an H-bridge and a PWM out on the mbed makes sense to drive these trains. [Jim] wired up a Pololu H-bridge driver, connected it to his mbed, and everything ran great.

Rail switches are another matter entirely. These allow trains to move from one track to another, but having them go to the left or right requires powering a fairly high current solenoid with 15 to 24 volts. For this, [Jim] used a MOSFET power control board to switch the rails and came up with a pretty neat demo that shows a small locomotive going back and forth over a single rail switch.

There is another class of model locomotive – ones with Digital Command Control. This setup is just a small decoder chip that fits inside an engine and tells the locomotive to turn on a lamp or run a motor digitally, allowing the conductor to control multiple trains on the same track.

[Jim] goes through the basics of DCC using the mbed, allowing two trains to switch positions in a rail yard using computer control. It’s really cool stuff that leaves us wanting a little more room in the basement to start building a huge computer controlled model railway.

Continue reading “Controlling a railroad with an mbed”

Hardware store goods and an mbed combine help solar panels track the sun


If you have the space, and can build a tracking rig cheaply you’ll be able to get a lot more out of your solar panels. That’s because they work best when the sun’s rays are hitting them perpendicular to the surface and not at an angle. [Michael Davis] hit both of those stipulations with this mbed powered solar tracker.

At a garage sale he picked up an antenna motor for just $15. The thing was very old, but still wrapped in the original plastic. It’s beefy enough to move his panels, but he first needed a way to mount everything. After checking his angles he built a base out of wood and used galvanized water pipe as an axle. Cable clamps mate his aluminum angle bracket frame to the pipe. This frame holds the panels securely.

To track the sun he used two smaller cells which aren’t easy to pick out in this image. They are monitored by the mbed microcontroller which measures their output in order to point the assembly in the direction which has the most intense light. A couple of limit switches are included to stop the assembly when it reaches either side.

This technique of using small solar cells as the tracking sensors seems to work well. Here’s another project that took that approach.

Continue reading “Hardware store goods and an mbed combine help solar panels track the sun”

Gas, Water, and Electricity monitoring


From the look of this you can tell that [Jasper Sikken] has some pretty interesting stuff going on to monitor the utilities in his home. But it’s important to note that this is a rental home. So adding sensors to the gas, water, and electric meters had to be done without making any type of permanent changes.

The module above is his own base PCB which accepts an mbed board to harvest and report on usage. His electric meter has an LED that will flash for every Watt hour that is used. He monitors that with a light dependent resistor, crafting a clever way to fasten it to the meter using four magnets. The water meter has a disc that makes one revolution for each liter of water that passes through it. Half of the disc is reflective so he uses a photoreflective sensor to keep track of that. And finally the gas meter has a reflective digit on one of the wheels. The sensor tracks each time this digit passes by, signifying 10 liters of gas used. He also monitors temperature which we’re sure comes in handy when trying to make sense of the data.

[Thanks Stephen]


Text editor running on your ARM project


Tired of flashing your embedded project over and over just to tweak a few values? So was [Karl], so he wrote a text editor that runs on his ARM dev board.

Having trouble wrapping your mind around the need for this kind of thing? He’s actually playing around with eLua, the embedded version of the Lua programming language. In this case the program files are being stored on an SD card. But still, moving that back and forth between computer and embedded project gets old quickly. So he invested the time to write a rudimentary text editor that he interfaces through this terminal window. Above you can see the help screen which lays out all of the applications features. Right now it sounds like the only gotcha for this is the amount of RAM it needs to run. As it stands, the editor will now work an mbed board, but it works just fine on an STM Discovery.