Simple, Cheap, Quick DIY Lapdesk From (Scrap) Laminate Floor Boards

Until now I have been using my laptop without an external mouse. I now needed to use an external mouse for my work because the touch-pad and the buttons on the touch-pad slowed me down.

A while ago, I had purchased an off-the-shelf cheap lap-desk for my laptop which did not have space to put external mouse and mouse pad. This still cost me £10. So I did not want to spend more money to buy another one. Also, lap-desks with space for an external mouse were quite expensive and not normally easily available.

So that got me thinking, the aim was to figure out a quick, cheap (almost free) way to make a lap-desk with decent space to accommodate a mouse pad and external mouse. You may choose to not have the space for an external mouse. This Instructable shows you step by step how to make such a lap-desk from scrap laminate flooring.

The picture on this page is of the finished lap-desk.

Materials and Tools

The aim is to make it almost free or extremely cheap. When I say cheap, definitely cheaper than the off-the-shelf one which had cost me £10.

Materials:

1) Scrap, unused, off-cut, reclaimed laminate floor board. You have freedom to choose whatever color you like. We need two pieces to click into one another so as to allow the width to fit the lap and so that you can rest a decent sized 15 inch laptop on it. You may measure the size (length and breadth) of your lap that you want to cover and the size of the laptop. One piece requires to be slightly longer than the other to allow the space for an external mouse. You may choose not to have space for an external mouse, in that case you should have both the cuts of the laminate of same size. Images show the cuts that I used.

2) Some form of wood/construction glue.

3) A chair cushion. The size would be to cover the lap area.

Tools:

1) Jig saw or hand saw or some saw to cut the laminate as necessary.

Joining the Two Offcuts of Laminate Flooring Boards

 

1) First of all, I cut and rounded the corners of the laminate boards as they can be quiet annoying when you use the lap-desk.

2) You may choose to trim the unused tongues on the side but I did not bother. As the idea was to save time and make it quick. Also time is money :).

3) Apply the wood/construction glue into the tongue of the laminate board and then click the second piece into the first one as shown in the image.

4) Leave it for the glue to dry out.

5) In case you would like to attach more support for the two boards, as
shown in the image, you can glue a couple of supporting laminate or wood pieces. You can use clamp to hold them until they are properly stuck and the glue has dried. Althought, the boards glued and dried properly should be strong enough to hold without requiring this step.

Attaching Seat Cushion

1) Apply glue on the back side of the composite laminate in order to attach the chair seat cushion.

2) Place the cushion on the glue, press it to make sure the cushion is attached properly.

3) Reverse the assembly and put some weight on top and leave it for the glue to dry out.

The idea behind the cushion is that it provides support and cushioning effect on the lap while resting at least 1 or 1.5 Kilo worth of laptop weight. Most of the off-the-shelf ones do come with some form of cushion. I already had a memory foam chair cushion and that is what I used. However you may choose whatever is available.

There is no step here. Just that after the glue is dried, the lap-desk is ready to be deployed 🙂 as shown in the image.

 

Share Button

Cross Compiling OpenCV for Xilinx Zynq Arm on Ubuntu Linux OS

I am writing this to keep a log for myself and others whenever I want to cross compile OpenCV for Xilinx Zynq – ARM platform for Ubuntu 14.04. I have followed instructions mentioned on Xilinx-Wiki however I had to tweak quite a few instructions for me at a few places in order to successfully compile OpenCV. I have chosen to download and compile OpenCV-2.4.9 in particular. I did this a while ago so the Xilinx Vivado tools are older versions Vivado 2014.4. I have not tried on other versions of Ubuntu and OpenCV but I think it should still work. I have not listed any OS level dependencies that is required before attempting to start cross compiling OpenCV for Xilinx Zynq. The prerequisite is that the Xilinx Vivado tools have been installed correctly in Ubuntu /opt/Xilinx/ directory and can be invoked from Linux shell prompt. The following are my compilation of the instructions:

  1. First install Xilinx Vivado Tools successfully without any problems in /opt/Xilinx/Vivado folder.
  2. Create a text file (env_opencv_xilinx) with the following environment variables to be sourced so that the Vivado tools are available on command line:
  3. export CROSS_COMPILE=arm-xilinx-linux-gnueabi-
    source /opt/Xilinx/Vivado/2014.4/settings64.sh
  4. Source env_opencv_xilinx file
  5. Download OpenCV-2.4.9 from http://opencv.org/downloads.html
  6. Unzip and untar OpenCV and place it in /home/user/opencv-2.4.9 folder
  7. Download ffmpeg-2.8.10 from http://www.ffmpeg.org/download.html#releases
  8. Unzip and untar FFmpeg folder. I chose to move the ffmpeg-2.8.10 folder inside the opencv-2.4.9 folder.
  9. Change directory inside the ffmpeg-2.8.10 folder
  10. Run: ./configure –enable-shared –disable-static –cross-prefix=arm-xilinx-linux-gnueabi- –arch=armv7l –target-os=linux –prefix=/home/user/opencv-2.4.9_arm/ffmpeg-2.8.10/
  11. Add the following paths in the env_opencv_xilinx and source it again:
  12. export LD_LIBRARY_PATH=/home/user/opencv-2.4.9_arm/ffmpeg-2.8.10/lib:${LD_LIBRARY_PATH}
    export C_INCLUDE_PATH=/home/user/opencv-2.4.9_arm/ffmpeg-2.8.10/include:${C_INCLUDE_PATH}
    export CPLUS_INCLUDE_PATH=/home/user/opencv-2.4.9_arm/ffmpeg-2.8.10/include:${CPLUS_INCLUDE_PATH}
    export PKG_CONFIG_PATH=/home/user/opencv-2.4.9_arm/ffmpeg-2.8.10/lib/pkgconfig:${PKG_CONFIG_PATH}
  13. Create a folder called build within the opencv-2.4.9 directory.
  14. Add the following lines in a text file called toolchain.make and place it in the /home/user/opencv-2.4.9/ folder:
  15. set( CMAKE_SYSTEM_NAME Linux )
    set( CMAKE_SYSTEM_PROCESSOR arm )
    set( CMAKE_C_COMPILER arm-xilinx-linux-gnueabi-gcc )
    set( CMAKE_CXX_COMPILER arm-xilinx-linux-gnueabi-g++ )
    set( CMAKE_INSTALL_PREFIX /home/user/opencv-2.4.9_arm/build )
    set( CMAKE_FIND_ROOT_PATH /opt/Xilinx/SDK/2014.4/gnu/arm/lin/arm-xilinx-linux-gnueabi )
  16. Copy all the generated SO library files from ffmpeg-2.8.10/lib/ folder to opencv-2.4.9/build/lib folder otherwise OpenCV build process may not find the FFmpeg libraries automatically.
  17. Change directory into the build folder.
  18. I have chosen to set the BUILD_opencv_nonfree=ON as I would like to explore the algorithms available in the non-free of OpenCV.
  19. Run: cmake -D CMAKE_TOOLCHAIN_FILE=toolchain.make -D BUILD_opencv_nonfree=ON /home/user/opencv-2.4.9_arm/
  20. Check the configuration information of OpenCV to confirm the FFmpeg library is detected.
  21. Customise Build options by running: ccmake .
  22. I have chosen to keep WITH_JPEG and WITH_PNG set to ON so that the applications can read and write JPEG and PNG format image files, however Xilinx recommends the following options to be set to OFF
  23. WITH_1394, WITH_CUDA, WITH_CUFFT, WITH_EIGEN, WITH_GSTREAMER, WITH_GTK, WITH_JASPER, WITH_OPENEXR, WITH_PVAPI, WITH_QT, WITH_TBB, WITH_TIFF, WITH_UNICAP, WITH_V4L, WITH_XINE
  24. First press ‘c’ then ‘g’ to generate new Makefile. Alternatively edit CMakeCache.txt to modify build options. Check that WITH_FFMPEG=ON in CMakeCache.txt to enable FFmpeg support.
  25. Run: make
  26. Copy and Save build/lib/libopencv_core.so.2.4.9 in a different folder than lib.
  27. Run: make install .If all goes well then there will not be any errors however I did get an error here saying libopencv_core.so.2.4.9 not found, flagged by the module/core/cmake_install.cmake script. I checked that this particular SO was generated however during the make install process, due to may be some incorrectly generated command in some script it gets removed. I did not have time to debug this in detail however I fond a work around to complete the installation.
  28. Edit build/modules/core/cmake_install.cmake and remove the following lines, this will not generate the error during “make install” and the installation should now complete:
  29. “FILE(INSTALL DESTINATION “${CMAKE_INSTALL_PREFIX}/lib” TYPE SHARED_LIBRARY FILES
    “/home/jj901099/opencv-2.4.9_arm/build/lib/libopencv_core.so.2.4.9”
    “/home/jj901099/opencv-2.4.9_arm/build/lib/libopencv_core.so.2.4”
    “/home/jj901099/opencv-2.4.9_arm/build/lib/libopencv_core.so”
    )”
  30. Copy the saved libopencv_core.2.4.9 back to the build/lib/ folder. That’s it.

If I have not missed any step then Opencv-2.4.9 should have now compiled in the opencv-2.4.9/build directory, enjoy image processing.

 

Share Button

Problem with Cross Compiling OpenCV for Xilinx Zynq – ARM with FFmpeg on Ubuntu Linux OS

Problem:

I followed the instructions mentioned by Xilinx at http://www.wiki.xilinx.com/OpenCV+Installation in order to cross compile the OpenCV-2.4.9 with FFmpeg for Xilinx Zynq Platform on Ubuntu 14.04.

While configuring the FFmpeg, it gave me the following warning:

“WARNING: arm-xilinx-linux-gnueabi-pkg-config not found, library detection may fail.”

The FFmpeg did compile ok and generated all the necessary SO files however as a result of the warning when I tried to build the OpenCV-2.4.9, I got errors that libavcodec.so.56, libavformat.so.56 etc FFmpeg libraries are not found.

Following errors while build takes place :

/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/bin/ld: warning: libswresample.so.1, needed by opencv/ffmpeg-2.7.1/lib/libavcodec.so.56, not found (try using -rpath or -rpath-link)
opencv/ffmpeg-2.7.1/lib/libavcodec.so.56: undefined reference to `swr_close@LIBSWRESAMPLE_1′

/opt/Xilinx/SDK/2014.4/gnu/arm/lin/bin/../lib/gcc/arm-xilinx-linux-gnueabi/4.8.3/../../../../arm-xilinx-linux-gnueabi/bin/ld: warning: libswscale.so.3, needed by ../../lib/libopencv_highgui.so.2.4.9, not found (try using -rpath or -rpath-link)
../../lib/libopencv_highgui.so.2.4.9: undefined reference to `avcodec_decode_video2@LIBAVCODEC_56′

Solution:

The way I have manged to resolve this and successfully cross compile OpenCV is by manually copying the SO libs from FFmpeg/lib folder to the OpenCV/build/lib directory and then rerunning the make. After this OpenCV was successfully built.

 

Share Button

My Travel of the World

India

From Gujarat to Shillong, Assam and from Delhi to Kanyakumari.

USA

Niagara falls, New York to Los Angeles, Las Vegas and Grand Canyon

Ireland

Galway to Rosslare, Dublin to Cork, Dingle, Limerick

United Kingdom

Glasgow, Edinburgh, London, Brighton, Bournemouth, Portsmouth, Birmingham, Holyhead, Newcastle upon Tyne

France

Niece, Monaco Monte Carlo, Cannes

Italy

Turin

Greece

Athens, Patras

Czech Republic

Prague, Brno

Germany

Frankfurt, Dusseldorf, Bremen, Cologne-Bonn, Nuremberg

Norway

Oslo

Poland

Wroclaw, Warsaw

Portugal

Lisbon

Austria

Viena, Graz

Slovenia

Ljubljana

Spain

Madrid

Belgium

Brussels, Leuven

The Netherlands

Eindhoven, Rotterdam, Amsterdam

Cyprus

Larnaca, Nicosia

UAE

Abu Dhabi, Dubai

Share Button

Turning Wood on a Lathe For the First Time :)

First time learnt to turn some wood on a wood lathe today at RLAB. Received a lot of help and guidance from my fellow members at RLAB.

And created the following. Helping out somebody by creating missing pieces for their toy rack.

woodpiece-large

Share Button

My Photography

I have personally visited the following places and captured these images in my Canon EOS 300D DSLR and FujiFilm S2980 Bridge Camera :).

niagra

Niagara Falls at Night

lulworthcove-3-large

Lulworth Cove, Dorset, UK

dscf1357-large

The Strip, Las Vegas

img_9125-large

Patras, Greece

readinguni2-large

Winter Snow, Reading, UK

img_9230-large

Patras, Greece

img_8875-large

dsc01084-large

Powerscourt Water Falls,  Ireland

dscf1361-large

Las Vegas Strip Casinos From the Top of the Hotel Stratosphere (108 Floors)

dscf13802

Sky Beam from Luxor Casino seen from the top of the hotel Stratosphere

img_9154-large

img_9078-large

Dew drop on a blade of grass

img_9074-large

Tiny flower

dscf1222-large

Grand Canyon – Panorama

dscf1247-large

Hoover Dam – Panorama

img_9150-large

 img_9019-large

dscf1399

Hotel Stratosphere in Las Vegas

dscf1396-large

img_8826-large-2

lulworthcove-2-large

 Lulworth Cove, Dorset, UK

img_9234-large

Bridge painted by the Sun in Patras, Greece

img_9104-large

Same Bridge, Day Time, Patras, Greece

img_9152-large

 Dried Rose

img_8842-large

Garden Spider

img_8816-large

img_8814-large

img_2919-large

Neighborhood in Snowy Night, Lit by Street Lights

dscf1205-large

Grand Canyon

dscf1131-large

Grand Canyon from the Colorado river

dscf1084-large

Grand Canyon from the Colorado river

dscf0809-large

Rockefeller Center, New York, USA

dscf0381-large

 Canada from the other side of Niagara Falls

dsc00992-large

Waves, Bournemouth Beech, UK

Copyright © 2017 Rajkumar Raval, All Rights Reserved

Share Button

10m Air Pistol – Olympic Discipline

Competed and won various national level, county level and league target shooting competitions in Ireland, the Netherlands and the United Kingdom.

raj_pistorl2-large

Have been affiliated with the following:

  1. Ireland: http://www.ucd.ie/rifle/
  2. Ireland: http://www.targetshooting.ie/
  3. Ireland: http://www.issf.ie/
  4. The Netherlands: http://www.svwoensel77.nl/
  5. The UK: http://www.britishpistolclub.org/
  6. The UK: http://www.nsra.co.uk/
  7. The UK: http://www.oxonra.org/
  8. The UK: http://www.mtsc.club/
  9. The UK: http://www.pinewoodpistolclub.co.uk/

University College Dublin honoured me with the Sports Achievement Award for my efforts in target shooting in the year 2007.

dsc00026-large

 

dsc00132-largeimg_0481-large

dsc00051-2-large

dsc00052-large

dsc02564-1-large

raj_pistol-large

Share Button

10m Air Rifle – Olympic Discipline

Competed and won various national level, county level and league target shooting competitions in Ireland, the Netherlands and the United Kingdom.

28022007001

Have been affiliated with the following:

  1. Ireland: http://www.ucd.ie/rifle/
  2. Ireland: http://www.targetshooting.ie/
  3. Ireland: http://www.issf.ie/
  4. The Netherlands: http://www.svwoensel77.nl/
  5. The UK: http://www.britishpistolclub.org/
  6. The UK: http://www.nsra.co.uk/
  7. The UK: http://www.oxonra.org/
  8. The UK: http://www.mtsc.club/
  9. The UK: http://www.pinewoodpistolclub.co.uk/

University College Dublin honoured me with the Sports Achievement Award for my efforts in target shooting in the year 2007.

dsc00026-large

 

dsc02552-1-large

 

OLYMPUS DIGITAL CAMERA

 

OLYMPUS DIGITAL CAMERA

 

OLYMPUS DIGITAL CAMERA

 

OLYMPUS DIGITAL CAMERA

 

OLYMPUS DIGITAL CAMERA

 

OLYMPUS DIGITAL CAMERA

 

dsc00129-large

 

dsc00133-large

 

dsc00137-large

Share Button

NunChucks Bruce Lee Style ;)

Share Button

My First, Hand Soldered SMD PCB with FPGA – Papilio Duo

This is my first experience with hand soldering SMD components. Assembled the Paplio Duo board by completely hand soldering and it works! I could not have done it without the help and guidance of my fellow members at RLAB. So proud to be able to successfully solder the Xilinx Spartan 6 FPGA on this board :).

Website for this Open Source board is at Gadget Factory .

rajpapilio1

Share Button