Breadboard Friendly ARM Board Based on STM32F4

breadboard-friendly-stm32-dev-board

Umm yeah… this is more like it. The STM32F4Stamp is a project which [Frank Zhao] put together to make his ARM prototyping process more like is was back when everything came in a DIP format. As you can see, it’s just narrow enough to leave one row open on the breadboard for jumper wires.

Don’t get us wrong, we do really like STM’s own Discovery Boards for the hardware they deliver at a very low price. But the dual-row pin headers on the larger versions (all except the F0 variant) make it tricky to connect your peripherals. This is pushed to the point that a large percentage of hacks we’ve seen with the Discovery boards are actually just to make connecting external hardware easier.

You may be thinking that there’s a lot missing from this board, but we disagree. Obviously there’s still a USB port which can be used to power the board via a 3.3V regulator. But since the STM32 chips have a built-in bootloader the USB connection can also be used to flash firmware to the processor. Nice! It’s open hardware if you want roll your own. For your convenience we’ve embedded the schematic after the break, along with [Frank's] demo video.

[Read more...]

Interview with [Damien George], Creator of the Micro Python project

upython

[Damien George] just created Micro Python (Kickstarter alert!), a lean and fast implementation of the Python scripting language that is optimized to run on a microcontroller. It includes a complete parser, compiler, virtual machine, runtime system, garbage collector and was written from scratch. Micro Python currently supports 32-bit ARM processors like the STM32F405 (168MHz Cortex-M4, 1MB flash, 192KB ram) shown in the picture above and will be open source once the already successful campaign finishes. Running your python program is as simple as copying your file to the platform (detected as a mass storage device) and rebooting it. The official micro python board includes a micro SD card slot, 4 LEDs, a switch, a real-time clock, an accelerometer and has plenty of I/O pins to interface many peripherals. A nice video can be found on the campaign page and an interview with the project creator is embedded after the break.

[Read more...]

Windows CE On A Raspberry Pi

WinCE

From all the BSDs and Linuxes to extraordinarily odd operating systems, it seems just about every OS has been ported to the Raspberry Pi. All except Windows, that is, but a few people are working on it.

This build comes to us from [ideeman] who wanted to show off his Raspi running Windows Compact Embedded. It technically works, but there are still a few problems. In his own words:

Unfortunately, as it is now, I can’t really control it through anything else than via the kernel transport layer (through serial, directly to visual studio, and I still get lots of checksum errors, must me from the cheapo USB<==>TTL 3.3V adapter I’m using). The original developer (dboling) is still struggling with native USB drivers, but as you can see, he already got a (unaccelerated) running display driver.

If you’re interested, I can send you the compiled kernel image, but I don’t think you’ll do really much without the serial debugging provided through Visual Studio 2008 (+Platform builder 7.0)… I’m not sure it can be legally released to the public though.

While running Windows Compact Embedded isn’t as cool as running Windows RT on a Raspi, the latter will never happen. Windows RT requires 1 GB of RAM and a 1 GHz ARM v7 processor, neither of which the Pi has. Still, it’s a very impressive hack and with a few more devs on board, [dboling] and [ideeman] might end up with a truly functional system.

Below are pics of [ideeman]‘s Raspi running WinCE. For [ideeman], feel free to link to a torrent in the comments.

[Read more...]

An ARM Powered Business Card, Part Two

Card

While most microcontroller powered business cards opt for something small and cheap, [Brian] is going in an entirely different direction. His business card features an ARM processor, some Flash storage, a USB connection, and enough peripherals to do some really cool stuff.

This is the second iteration of [Brian]‘s business card. We saw the first version, but this new version makes up for a few mistakes in the previous version. The biggest improvement is the replacement of the Molex USB plug with bare traces on the board. [Brian] couldn’t find a board house that could fab a board with the proper thickness for a USB plug, but a few strips of masking tape did enough to beef up the thickness and make his plug nice and snug. Also, the earlier version had a few pins sticking out of the board for programming purposes. This wasn’t an idea solution for a business card where it would be carried around in a pocket, so these pins were replaced with a connectorless programming adapter. Just a few exposed pads gives [Brian] all the programming abilities of the last version, without all those prickly pins to catch on clothing.

With his new business card, [Brian] has an excellent display of his engineering prowess and a very cool toy; he has a project that will turn this card into a keyboard emulator, randomly activating the Caps Lock button for a few seconds every few minutes. A great prank, and a great board to give to future employers.

Making The Worst Linux PC Useful

AVR

After seeing [Dimitry] build the most minimal Linux computer ever, [Kyle] decided he needed one for himself. In true hacker fashion, he decided to take this build for the worst Linux PC one step further: he would add I2C to his version, making it somewhat useful, considering the number of I2C peripherals out there.

This build is based on [Dmitry]‘s ARM Linux computer emulated on an 8-bit AVR. It’s a full-blown Linux computer with 16 MB of RAM courtesy of a 30-pin SIMM, a lot of storage provided by an SD card, all running on an emulated ARM processor inside a lowly ATMega1284p. [Kyle] built this clone over the course of a few months, but from the outset decided he wanted to implement an I2C protocol on this terribly under specced computer.

After booting his computer, [Kyle] eventually got an I2C module loaded by the kernel. With an I2C module and a few spare GPIO pins, he set out to create something to attach to this terribly slow computer – an ancient LED dot matrix display. With a real-time clock, this display became a clock  with the help of a homebrew program written in C. Considering the speed of the emulated processor, the program takes nearly three seconds to read the RTC and display the current time to the display. We’re thinking it was a wise choice to only implement hours and minutes in this clock.

If having a useful computer running at about 10 kilohertz isn’t enough, [Kyle] also compiled the classic text-based adventure Zork. It actually runs, proving you don’t need Megahertz of power to do something useful and fun.

A cortex M4 based platform with ETH, USB, BT and many on-board peripherals

Here is a very time consuming project that I worked on during last summer: an ARM Cortex M4 based platform with plenty of communication interfaces and on-board peripherals. The particular project for which this board has been developed is not really HaD material (one of my father’s funny ideas) so I’ll only describe the platform itself. The microcontroller used in the project is the ATSAM4E16C from Atmel, which has 1Mbyte of flash and 128Kbytes of SRAM. It integrates an Ethernet MAC, a USB 2.0 Full-speed controller, a sophisticated Analog to Digital Converter and a Digital to Analog Converter (among others).

Here is a list of the different components present on the board so you can get a better idea of what the platform can do: a microphone with its amplifier, a capacitive touch sensor, two unipolar stepper motors controllers, two mosfets, a microSD card connector, a Bluetooth to serial bridge, a linear motor controller and finally a battery retainer for backup power. You can have a look at a simple demonstration video I made, embedded after the break. The firmware was made in C and uses the Atmel Software Framework. The project is obviously open hardware (Kicad) and open software.

[Read more...]

The Raspberry Pi Becomes a Form Factor

carrier

Despite the cries for updated hardware, the Raspberry Pi foundation has been playing it cool. They’re committed to getting the most out of their engineering investment, and the current board design for the Raspi doesn’t support more than 512Mb of memory, anyway.

What you see above isn’t a Raspberry Pi, though. It’s the Carrier-one from SolidRun. All loaded out, it has a system-on-module with a quad core ARM Cortex-A9, 2GB of RAM, 1000 Mbps Ethernet, USB host ports, eSATA, and LVDS display connector, a real time clock, and everything else you get with a Raspberry Pi, header pins included. It’s all the awesomesauce of the newer ARM boards that will still work with all your Raspberry Pi hardware.

If you’re thinking this is a product announcement, though, think again. The folks at SolidRun are merely using this Raspberry Pi form factor board as a prototyping and development platform for their CuBox-i device, In its lowest configuration, the CuBox-i1 is still no slouch and would be more than able to keep up with the most demanding Raspberry Pi applications.

Still, though, a hugely powerful board with lots of I/O is something we’d all love, and if SolidRun gets enough complaints praise, it seems like they might be willing to release the Carrier-one as an actual product.