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.

An Open Source GPU

FPGA

Unless you’re bit-banging a CRT interface or using a bunch of resistors to connect a VGA monitor to your project, odds are you’re using proprietary hardware as a graphics engine. The GPU on the Raspberry Pi is locked up under an NDA, and the dream of an open source graphics processor has yet to be realized. [Frank Bruno] at Silicon Spectrum thinks he has the solution to that: a completely open source GPU implemented on an FPGA.

Right now, [Frank] has a very lightweight 2D and 3D engine well-suited for everything from servers to embedded devices. If their Kickstarter meets its goal, they’ll release their project to the world, giving every developer and hardware hacker out there a complete, fully functional, open source GPU.

Given the difficulties [Bunnie] had finding a GPU that doesn’t require an NDA to develop for, we’re thinking this is an awesome project that gets away from the closed-source binary blobs found on the Raspberry Pi and other ARM dev boards.

Stewart Platform reinvents the wheel so you don’t have to

StewartPlatform

[Dan Royer] has noticed that most university projects involving a Stewart platform spend more time building a platform than on the project itself. He hopes to build a standard platform universities can use as the basis for other projects.

Stewart platforms are six degree of freedom platforms often seen hefting flight simulators or telescopes. The layout of the actuators allows movements in X,Y,and Z as well as pitch, roll and yaw. While large platforms often use hydraulic systems to accelerate heavy loads quickly. [Dan] is looking at a smaller scale system. His platform is built of laser cut wood and uses six steppers to control motion.

One of the harder parts in designing a platform such as this is creating a mechanical system that is strong, precise, and smooth. With so many linkages, it’s easy to see how binding joints could bring the entire thing to a grinding halt. [Dan] is currently using RC helicopter ball joints, but he’s on the lookout for something even smoother.

[Read more...]

How to use CoIDE with LPCXpresso Board

lpcxpresso-coocox

[James Lynch] picked up an LPCXpresso board because he wanted play around with ARM processors. The board, which is shown on the right, provides everything you need to get started. It even ships with a free IDE. But unfortunately the free version of that Code Red IDE is size limited. If he wanted to remove the restriction he would have to pony up $999 for a licensed version. A company might not think twice about this payment, but in the hobby realm that’s simply out of the question. Instead, [James] figured out how to use the CooCox programmer with the LPCXpresso hardware. To get at his 59-page guide on the process follow that link and hit the “Download Zip” button in the lower right for a copy of the PDF file.

The hack comes in two parts. First you need to alter the LPCXpresso board. There is a center line that separates the dev board form the debugger/programmer. These are connected with solder bridges between rows of a dual pin-header. [James] removed the bridges and added said pin header. This allows him to jumper the connections and use it as normal, or attach it to his CooCox programmer as seen above. The second part of the project walks through the process of getting the free CoIDE (also based on Eclipse) to compile and program code for the LPCXpresso.

We’ve seen this dev board here and there, notably in an oscilloscope build.

Making it Easier to Build Firmware

OSHW Logo

Most microcontroller manufacturers give you some kind of free development toolchain or IDE with their silicon products. Often it’s crippled, closed source, and a large download. This is pretty inconvenient when you want to have firmware that’s easy to build and distribute. I’ve found many of these toolchains to be annoying to use, and requiring closed source software to build open source firmware seems less than desirable.

It’s possible to build code for most microcontrollers using command line tools. You’ll need a compiler, the device manufacturer’s libraries and header files, and some method of flashing the device. A lot of these tools are open source, which lets you have an open source toolchain that builds your project.

Setting up these tools can be a bit tricky, so I’m building a set of templates to make it easier. Each template has instructions on setting up the toolchain, a Makefile to build the firmware, and sample code to get up and running quickly. It’s all public domain, so you can use it for whatever you’d like.

Currently there’s support for AVR, MSP430, Stellaris ARM, and STM32L1. More devices are in the works, and suggestions are welcome. Hopefully this helps people get started building firmware that’s easy to build and distribute with projects.

[Bunnie] builds a laptop for himself, hopefully us

Click to embiggen

 

[Bunnie Huang], creator of the Chumby and artisan of chips and electrons, is building his own completely open source laptop. It’s called the Novena, and is powered by a quad-core ARM CPU, it’s got enough bells and whistles to make any hacker happy including an on-board FPGA, dual Ethernet ports, and enough GPIO pins to do some crazy, crazy stuff.

[Bunnie]‘s laptop is an attempt to create a completely open-source laptop capable of some light code development, and web browsing. Every single chip on [Bunnie]‘s laptop has a datasheet available (without requiring an NDA, unlike the Raspberry Pi), meaning this laptop might be the beginning of a completely open source laptop.

Officially, this laptop is a one-off project made just for [Bunnie]. He’ll be spending the next few months validating all features on the board and making a proper case. [Bunnie] says a few people may be interested in their own Novena (smart one, that guy), so he might consider a Kickstarter campaign in a few months. Don’t expect it to be cheap, but if you’d like to try your hand at making your own, all the files are up on the Novena wiki.

 

ARM powered rack mount USB test equipment

developing-rack-mount-pcb-testing-tools

This is a device which [Limpkin] has been developing at his day job. It’s a high-speed testing interface for use with Physics experiments. We find it interesting because it uses an ARM microcontroller to implement CDC and MSD over USB.

The design is in two parts to make it work in a rack-mount situation. That big white connector allows cards to be swapped out. You can see the board on the right has a USB-A connector. When plugged in this enumerates as a control device (CDC) and a mass storage device (MSD) using fat32 as a file system.

The platform is being developed with open hardware and open source software in mind. If you’re working on a project that uses either of these USB functionalities this makes a swell reference. The ARM Cortex-M3 chip that he’s using is an AT91SAM3U but it should not be too hard to port the code for other similarly-capable ARM processors.