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.

Building a Ball-Balancing Robot

robotBallBalance

If you want a different kind of feedback systems challenge, ditch the Segway-style robots and build one that can balance on a ball. UFactory is a startup in Shenzhen, and this impressive little guy is a way of showing their skills applied to the classic inverted pendulum. At nearly 18 inches tall and weighing just over six pounds, the robot boasts a number of features beyond an accelerometer and gyroscope: it has both a WiFi module and a camera, and can be controlled via a homemade remote control or a Kinect.

The build uses plastic omni-directional wheels attached to 3 brushed dc motors, which attach to the base of the robot with custom-made aluminum brackets. The UFactory gang constructed the robot’s body out of three acrylic discs, which hold the electronics directly above the wheels. The brain seems to be an STM32 microcontroller that connects up to the motors and to the sensors.

You won’t find the code on their Instructable yet, but according to the comments they have plans to make the entire project open source. If you’re desperate for more details, the UFactory team seems willing to provide source code and other information via email. Make sure you see the video after the break, particularly the end where they demonstrate interference and carrying loads. This isn’t the first ball pendulum we’ve seen; take a trip down memory lane with the BallP ball balancing robot from 2010.

[Read more...]

Easy-phi: an Open Source Platform for Experimenters

As a few of Hackaday readers may already know, my day job involves working with high speed electronics. For the last few months, my team at [Université de Genève] in Switzerland has been working on an open source platform (mostly) targeted for experimenters: the easy-phi project. The main idea is to build a simple, cheap but intelligent open hardware/software platform consisting of a 19″ frame (or smaller), which can house a big variety of electronic modules. Hobbyist would therefore only make/buy the modules that would suit their needs and control them through a web page / standalone application / Labview module.

I detailed in more depth on my website the technical aspects of the project. To give you a quick and simple overview, the rack is essentially a USB hub that connects all the modules to a Cubieboard. It also integrates a few synchronization signals, a clock and a monitoring system for voltages, temperatures, power consumption. The modules are made of template + module specific electronics. The template electronics are part of the ‘easy-phi standard’, they consist of the Arduino compatible SAM3X8E microcontroller and of a few other power related components. This ensures electrical and firmware compatibility between the rack and modules that you guys may develop. It is important to note that the modules are enumerated on the USB bus as composite CDC (communication device) and MSC (mass storage). The CDC is used to configure the module while the MSC allows you to grab its documentation, resources, and standalone application in case you use the module without the rack.

The chosen schematics / layout software is Kicad, and all current files can be found on our github. Others will be uploaded once we have tested the other modules currently in the pipe. As the ones we’re developing are physics oriented, we hope that enthusiasts will bring easy-phi to other domains. Don’t hesitate to contact us if you have any question or if you’d like to contribute.