DIY Stripboard/Veroboard Enclosure for Raspberry Pi (Part 2)


Following up my previous post entitled “DIY Modular Stripboard / Perfboard Casing for Raspberry Pi (Part 1)” where I explained how I created an modular enclosure made of perfboard, or the overall concept, I’ve now designed two “smart” sides for the enclosure: a 16-LED stripboard side, and a 5V relay stripboard side. Today, I’ll detail how I’ve done this, with details about electronics, soldering, assembly, the Linux distribution (built with Yocto), as well C programs, HTML page, and (CGI) shell scripts used to light up the 16 LEDs, and control a standard 220V lamp with a relay via my phone’s web browser. 16-LED Stripboard Top Schematics, Soldering, and Testing I had decided to design the top board of the enclosure with several LEDs, 3 LEDs on both side, and a Raspberry fruit (6 red LED) and 2 leaves (4 green LED) in the middle. Before getting started, I did some […]

12MB Minimal Image for Raspberry Pi using the Yocto Project

Last year, I wrote instructions and provided a download link about a minimal image for Raspberry Pi based on Raspbian. The compressed image is 84MB, and the good thing about it is that you can just use apt-get to install packages. The problem is that it’s not actually that small as once it is uncompressed the rootfs is still a massive 414 MB. So today, I’ll explain how to create a smaller (and custom) image using the Yocto Project, a platform that let you build an embedded Linux distribution matching exactly your project’s requirements. Other advantages are that the build is configurable with config files, so it’s easily reproducible with a few command lines, and it might turn out to be useful to learn more about the Yocto Project as many boards and SoC are now making use of the framework, including Freescale i.MX6 (Wandboard, Olinuxino-imx233, Sabrelite, etc…), the Beagleboard, […]

Monkey, an Open Source High Performance Embedded Web Server

Some time ago, I mentioned 5 web servers (mathopd, thttpd, busybox httpd, boa and lighttpd) suitable for embedded systems (including those featuring no MMU processors) and low end machines. I’ve recently come across Monkey web server, a lightweight open source Web Server for Linux (2.6.29 or greater), which has been designed with focus in embedded devices. Monkey is currently supported on ARM, x86 and x64, although a quick analysis of the source code shows it forks, so it won’t be supported on processors that do not feature a memory management unit (MMU) without modifications. Monkey supports the following features: HTTP/1.1 compliant Virtual Hosts Asynchronous networking model (event-driven) Indented configuration Plugins Support C API Interface Other features through base plugins: SSL Security Log writter Directory Listing Shell: Command line The developers have benchmarked Monkey against busybox httpd and nginx on a now well-know ARMv6 platform: the Raspberry Pi. They used Siege […]

Locux: 15 USD Freescale i.MX233 System On Module

These days, low cost boards seem to pop-up a bit everywhere…  Featuring the same processor as Olimex OLinuXino, the Locux board will be powered by a Freescale i.MX233 with 64 MB and boot from a microSD card (no NAND on the board). This project is quite different from other low cost board projects, since it is a system on module (SoM) and will require a carrier board to access peripherals such as Ethernet, USB Host and video output, although  the developers managed to boot it with a simple breadboard. The developers also explain that this board stands apart as it does not feature any BGA parts and can be hand soldered, which could be an advantage when sourcing the boards and some hobbyist may also like to do the soldering themselves. The Raspberry Pi is still hard to get and the some other low cost boards such as the Beaglebone […]

Android Variants, Hacks, Tricks and Resources – AnDevCon II

The second Android developer Conference (AnDevCon II) took place about 10 days ago. Karim Yaghmour of OperSys published the presentation slides he used during his two Android presentations. The first presentation was Embedded Android Workshop, the same presentation he did at Android Open 2011. The second presentation “Android Variants, Hacks, Tricks and Resources” slides can be found below. Those 48 slides cover the following: AOSP’s limitations: Rigid, closed development model, excludes many things… Tearing AOSP apart Forks: Cyanogenmod: After-market handset firmware with custom launcher and lots of tweaks and mods… Replicant: 100% open souce with FDroid marketplace. MIUI: Closed source with UI enhancements. Ports: RIM Playbook:  OMAP4 Tablet based on AOSP. Bluestacks: Android on Windows 7. Alien Dalvik: Android SDK + Meego SDK integration. Mods: XDA Developers. Melding with “Classic” Linux Stack: Rationale: Lots of available stacks in Linux, Android does not provide everything. Road blocks: File system, Bionic C […]

Tuning Linux For Embedded Systems – ELCE 2011

Darren Hart, Intel’s Open Source Technology Center, gives a 5 step method to optimize Linux (image size, memory footprint and boot time) for embedded systems at Embedded Linux Conference Europe 2011. Abstract: Although embedded systems are less and less resource constrained, there is still a lot of demand for minimizing the image size, runtime memory usage, and boot time. The firmware, kernel configuration, hardware initialization, boot-time arguments, start-up scripts, and library sizes are all examples of things with a direct impact on your image size and/or boot time. There are several core processes involved with minimizing the size of an image, which has a direct impact on runtime memory usage and boot time. The focus is on configuration techniques that get you most of the way there and follow-up with source-level customizations that get you the rest of the way. You can also download the presentation slides. Jean-Luc Aufranc (CNXSoft)Jean-Luc […]

Web Servers for Embedded Systems

Many network-enabled embedded devices do not have displays and configuration must be done via a webpage. This is the case for modems and routers and possibly for  IP cameras,  networked printers… With a web server, there is no need to develop specific drivers and/or applications for computers connected to the device. You just need to write HTML/Javascript pages and possibly CGI scripts. I’ve already posted a blog post about mathopd for ARM no-mmu targets as this HTTP server is ideal for uCLinux since it does not fork. Today, I’ll list some other HTTP servers that may also be used with embedded processors. Tiny/Turbo/Throttling HTTP server thttpd is a lightweight HTTP server implementing the HTTP/1.1 (minimum) and simple to configure and run. Its executable size is 88K. The description says it does not fork, but fork is called in the source code, so I do not know what that means… It’s […]

List the dynamic libraries used by a program

In order to know which dynamic libraries a particular binary is using, just type ldd. For example with busybox: sh-3.00# ldd /bin/busybox /bin/busybox: is setuid => /lib/ (0x2aaed000) => /lib/ (0x2ab41000) => /lib/ (0x2ab9c000) => /lib/ (0x2abeb000) => /lib/ (0x2aaa8000) Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.

EDATEC Raspbnerry Pi Industrial Computers