DIY Modular Stripboard / Perfboard Casing for Raspberry Pi (Part 1)

I plan to play around with Bluetooth 4.0 LE in Linux using the Raspberry Pi as an hardware platform together with a small LCD display and possibly a relay board. Instead of having boards spread around, I thought it might be a good idea if I could design a case for my setup. I wanted to be able to connect small external boards and things like LEDs, it had to be easily assembled and disassembled, modular so that I could add or remove circuits easily, and about as cheap as existing “dumb” cases. So I though why not use stripboards (perfboards) for that? I searched the web to find out if other people had the same idea, and could only find one other person, but he does not appear to have completed assembly, nor actually used the stripboards to add hardware features. I decided to give it a try anyway, […]

How to Find Configuration Options Quickly in Make Menuconfig

If you’ve ever compiled the Linux kernel, you’ll know make menuconfig is the command line used to unset/set options, disable/enable modules in order to match your hardware and requirements. I used to simply browse in the menu to find the option, and just remember the correct path. Sometimes I just looked at .config to locate the option I needed, and the possible path in make menuconfig. The first time you use a new option it can be time consuming. But I’ve just found there is a better way via Google+. “/” is actually available in make menuconfig, just like it is in vi/vim. If you want to enable NFS server in your kernel, press “/”, and search for NFSD. It will show the list of results with “NFSD” strings. NFS server support is right at the top, and the path is shown to be File Systems->Network File Systems. The neat […]

Debian 7.0 Installer for Hi802 / GK802 mini PCs

We’ve had Ubuntu support on i.MX6 HDMI dongles, specifically HiApad Hi802 and Zealz GK802, for a little while,  but for those who prefer Debian distribution, a Debian installer is now available thanks to Angus Gratton. Bear in mind that 2D/3D GPU acceleration is disabled in order to save 192MB RAM, as this image is mainly destined to server and/or robotic applications. If you need a desktop experience with GPU acceleration, you’d have to use Ubuntu, or you may try enable it in Debian, and see if it works, but this has not been tested. The instructions below are to be used with the internal microSD card, but if you’re ready to hack a bit around, it might be possible to run the installer from an external microSD or USB device thanks to Jasbir’s U-boot multiboot. You’d still need to use an internal microSD, but you’d only have to open the […]

How-to Upgrade Firmware on AllWinner A31 mini PCs

I’ve just received a mini PC powered by AllWinner A31, and I had to (re-)install the firmware, so I’ll explain the steps I followed in this post. The procedure is for CS868 mini PC, but it should be similar for all Android HDMI TV dongles, and media players based on AllWinner A20 or A31.The procedure below only works in Windows, and has been tested in Windows XP. I’ll mention a possible method in Linux at the end of the post. Download the latest CS868 firmware and tools, and extract “cs868 firmware and update tool 20130507.rar” file Download PhoenixUSBPro tool in English, and extract This is optional as the Chinese version is included in rar file above. Double-click on PhoenixUSBPro/PhoenixUSBPro.exe to start the program Click on Update to upgrade the tool to the latest version if need be. Click on Key to to load the key file (AW_LCTOOLS.key), on Image to […]

Installing Android Studio IDE in Ubuntu – Hello World Application

Google I/O started yesterday, and Google released an early access preview version of Android Studio, a new IDE based on IntelliJ IDEA with drag-and-drop GUI layout editor, Gradle-based build system, Lint tools, the ability to preview how apps look on different screen sizes, and more. This may eventually replace the Eclipse + ADT Plugin combination currently used, so I’ve decided to give it a try in Ubuntu 13.04 64-bit, but it’s also available for Windows and Mac OS X. First, head over to Android Studio Installation instructions, and download Android Studio for you operating system via your Browser (You’ll have to accept an EULA), then open a terminal to extract it:

Now let’s start Android Studio:

And I did press enter to continue, but Android Studio complained about JAVA_HOME no being defined. Let’s just install Sun Oracle JAVA JDK since this is the recommended method. I’ve used the  […]

How to Play Games in Android mini PCs / STBs With a PS3 Bluetooth Controller

Android mini PCs ( HDMI TV dongles) are great to make your TV smart, and you may expect to be able to play Android games on your TV easily. The reality is that the keyboard and mouse, or remote controls used with those devices, are not suitable for games, and most games do not play at all. Of course, OUYA and GameStick projects will take care of this, as well as the recently available Project SHIELD ($349) , but if you already have one of those mini PCs, you may not want to spend the money for another device. Luckily there’s a solution, and with some efforts, you can play many games, but not all, with a PS3 Bluetooth controller connected to your Android mini PC or Set-Top Box. I decided to give it a try by buying “GOIGAME Rechargeable Bluetooth Wireless DoubleShock III Controller for PS3” for $16.60, which […]

How to Flash Firmware to Rockchip RK3188 HDMI TV Sticks

Yesterday, I’ve received MK908 mini PC featuring Rockchip RK3188, and a new firmware is available, so before further testing I’ll flash the firmware to the device basically using the instructions from Geekbuying. This method use standard Rockchip tools, so it should work for any RK3188 devices. But first a little rant. Those instructions only work on Windows operating systems, so if you’re using Linux or Mac, you’re out of luck until you find a Windows PC, or launch Windows in a virtual machine. This method should just be used in case the device can’t boot, or you have serious issue with the device firmware, but it is also used for firmware upgrade for Rockchip mini PCs. This is just wrong. Typical users should not be asked to install software and drivers, press the recovery button, just to upgrade their firmware. The best very way would be OTA updates, but maybe this […]

How to Detect if an ARM ELF Binary is Hard-float (ARMHF) or Soft-float (ARMEL)

If some cases you may want to know if a library or binary built for the ARM architecture is using hard-float (armhf) or soft-float (armel). You can analyze ELF binary using readefl utility, so let’s have a try. First let’s install some armel and armhf files on a computer running Ubuntu by install gcc/g++ toolchain for armel and armhf:

We now have armhf and armel libraries installed in /usr/arm-linux-gnueabihf/lib and /usr/arm-linux-gnueabi/lib respectively. Let’s check the output of readelf filtered with “FP” string for libm.so.6 for armel:

and armhf:

Great, so there’s an extra line for armhf (Tag_ABI_VFP_args) that seems to confirm the library is hard-float. With readelf compiled from elftoolchain-0.6.1 (source code), the extra line will be a bit different: “Tag_ABI_VFP_args: AAPCS (VFP variant) AAPCS stands for ARM Architecture Procedure Call Standard. You can read more details on ARM website. There are also two other possible values […]

Exit mobile version
EmbeddedTS embedded systems design