c++ ODrive ROS driver

Create a flexible C++ Odrive node for Robotic Operating System (ROS): https://hackaday.io/project/171453-c-odrive-ros-driver

How to make a monitor from an old LCD display

Do you have an old laptop of tablet that does not work anymore? You may have a practical and useful monitor before putting it in the recycle bin.  We will see how we can extract the LCD panel and transform it to a portable monitor that we can use it as an additional monitor, or entertainment display for the car, or as the front end in the next IoT project.

Panel Disassembly

The first step is to disassembly the  old device and extract the panel. In this step you can visit the youtube for finding the appropriate way to extract the panel in few minutes. After extracting the panel we have to identify the to major connections: the backlight connection and the LVDS connection used for transmitting data to LCD.

Identifying LCD part-number

Old fashioned displays usually using CCFL type lighting source for the back-light. This type includes a cold cathod fluorescent tube that requires a high voltage power supply. Disadvantages of this type are: the limited life of the CCFL tube, the cost – mainly due to expensive part used in the high voltage power supply, the non uniform light and the high power consumption. Most recent displays are using LED light. LEDs are using low voltage, are more efficient and have increased life.

There are many LVDS interface variants, using different connector type or number of LVDS signals. We do not have to worry about the LVDS details. Having the LCD part number we can directly search for a compatible controller.

LVDS Connector

Finding the appropriate controller

Having all the necessary information we may now search to find the required parts in order to build the new monitor. The controller is the part that receives the video signal from the source – ie from our PC – and transforming it to LVDS differential serial interface that the LCD panel needs. The part number of the monitor, the LVDS connector type the pin count, the resolution, the backlight connector and type are the main characteristics that will help us to identify the right controller.

60pin to 80pin flat cable converter

First we have to find a controller supporting the same connector. In example having a flat cable connector – for supporting flat cable monitors – or pin header for supporting cable assemblies.  Then we have to look for the LCD pinout information in the data-sheets. LCD Datasheets provide information about the signals that should be connected in each pin. Signal may be the power supply, the LVDS channels (LVDS channels are depend on the LCD model), the LED background input or any additional control pin.

LTN141W1-L05 LCD pinout

In case of flat cable we should be sure that the signals on the controller are the same wit the signals on the LCD – or otherwise we may have to use the appropriate adapter. In case of pin header connector we should find or build the correct cable for driving all the necessary signals. Usually, we can contact the controller supplier and ask for providing the appropriate adapter or cable harness for our display.

LVDS cable harness

The controller has to be configured in the appropriate resolution that the display is capable to work. Depending the controller there are many different ways to do this step. Some common options are: from the OSD menu, using jumpers on the board (following picture) or even using a special programming port. The most common way to make sure that we will not need any additional equipment and everything would be ok, is to communicate the LCD part number to the controller supplier. Usually suppliers have all the necessary equipment and knowledge and can do the job before shipping the controller.

VFD High voltage connector

In case of LED back-light, most small-medium size displays provide the necessary voltage from the same hardness. If not we my need a small voltage regulator or just a resistor (driven from the DC supply) for supplying the LED. In case of CCFL displays, we will need a high voltage supply. Some controllers have already the high voltage supply embedded – if not we should be sure that the power supply is included – in the controller package – or buy an extra power supply.

Display configuration matrix.

The last and most common part that we will need, is the power supply. We can use a common power pack on the rating controller voltage (usually 5V or 12V) and enough amperage – depending on the display size and the back-light type (usually 2A are enough for most 8″ to 15″ panels).

Testing our new monitor

Now we may have our final test. We need to connect the controller with the panel, the back-light supply, feed the controller with the input signal from our desktop and finally the supply the DC input of the controller.

ThinkPad T-61 15″ Monitor


8″ EJ080NA LCD panel

The above image displays an old tablet 8″ display, connected on a VS-TY2662-V1 (PCB800099) controller. VS-TY2662-V1 is an common, low cost, LCD controller that can be programmed to support most of the mid-size LCD displays. Based on RTD2662 chipset from RealTek, the board can be programmed and configured for our application. The board is supporting HDMI, VGA and Analog Video inputs.

Find the new case

The last step is to find the appropriate case that will accommodate the new monitor. The options are unlimited, we may cut a plastic frame, a wooden frame is also an option or we can use the original holder used in our laptop by extracting the whole monitor frame from the old device.

15″ – ThinkPad T61 Display using LTN141W1-L05 LCD Display

3$ wooden case project

What else?

So, having our next-project monitor ready, we may also add a touch screen. We can have a resistive touch panel for few dollars  – including the USB controller. The only think that we should know is the panel diagonal size and the ratio. USB touch panel controllers are very common and are detected from most operating systems (including Windows and Linux) with out any problem.

8″ touch panel with the USB controller

Good luck and don’t forget to send us photos from your experiments!!!

Enterprise server as a desktop?

We may all have seen used servers sold in the ebay for few hundreds of bucks. Highly equipped with Xeon processors, many GBytes of RAM, professional RAID controllers and ultra fast SAS disks. The question is if such a server can be used as a desktop – home PC for our regular needs.

Some of the factors that we should examine before deciding on with hardware we should invest are the followings:

  • Noise, acoustic noise may be the most critical part in selecting the appropriate mode. Servers have designed to work under controlled environments without humans nearby. In addition, low profile cases, in order to provide the required air flow, usually use fans running in extremely high RPMs and creating loud noise. You probably do not want to work close to box generating more than 32 to 35dbA. So, examining the specification of the server is essential. Alternative, special boxes can be used, equipped with noise absorbing materials, but always considering providing enough air flow.
  • Power consumption, the rule is “the newer, the best”. Every new CPU core that is released has better power consumption characteristics and more sophisticated power management features. Ie an old HP Proliant DL380 G5 consuming ~250Watts in idle for the 2 quad cores Intel X5450 CPU while a newer HP Proliant DL360 G7 (~6 years old) consumes ~90Watts for the 2 hexacore L5640 CPUs. A good estimation can be obtained by the CPU specifications concerning the TPD or by the spreadsheets provided by the server vendor – providing a detailed power and thermal profiling.
  • CPU performance, that’s what’s all about. Enterprise servers are equipped with multiple Xeon processors having huge L3 cache memories, multiple cores – usually four or six cores per CPU and in some cases more than 20 (!) – and hundreds on GBytes RAM memory to support the tens of cores. For sure, used server – sold for few hundreds bucks – are not equipped  with the latest – state of the art – CPUs, but let’s compare a 5-year old enterprise CPU with a high performance latest desktop CPU. Intel X5650 CPU is commonly used in enterprise servers and you can have in a reasonable price – with some servers sold as low as 300 to 400 $. In this price range we may have a new i7-6700 CPU:
CPU Dual X5650 I7-6700
Frequency 2.66/3.06GHz 3.4/4.0GHz
Cores (Phy/Vir) 2 * 6/12 4/8
L3 Cache 2 * 12MB 8MB
TDP 95W 65W
PassMark Score 11708 10024
Price Obsolete ~400$
  • Size, the dimensions of a rackmount server is not always what we have used in desktop PC. We should make sure than the size needed on our desk is available for our new monster. An alternative way is to drill the desk and mount the server vertically, as you can see in the following photo, it this way the noise will be moreover reduced, the server will not be visible, no extra space required and no extra cost required:
  • GPU, although the servers are already equipped with a VGA output, this can only be used for maintenance purposes and definitely not for running a desktop environment that we are going to work with. Luckily, various PCIx slots are available, so you can plug your GPU card and be able, not only to work, but also to run your favorite games. At this point, we should consider the available space for the PCI card inside the server, most 1U size server accepting only low profile PCI cards, the needs for external power, not all servers providing additional 12V power outlet to feed the GPU, and finally the ventilation of the card. A good choice may be the GT 730 nVidia card, that I also used in my system. A low profile card, with a good overall performance and without external power feeding needs. Additionally, you can choose a fan-less version, or you can make your own version as it shown in the following image:

GT 730 mounted on the PCI riser

  • Disks, many of the available servers are already equipped with used Serial Attached SCSI (SAS) disks. SAS disks are usually faster than the SATA – desktop disk – and more reliable. The high spinning RPM but also the high data transfer rate even for SAS-2 disk, making SAS disk an excellent option from performance perspective. In addition taking advantage of RAID technologies such as RAID 5 or RAID 6 that are already available on almost all the enterprise servers, we can further improve the performance – having better performance even from a single SSD disk (which may cost more than whole server). Also, this we reduce the risk for data loss due to disk failures (since disks are already used and maybe are already close to MTBF). Please note that in case that we are planning to use advanced RAID configurations, ie RAID 5 or RAID 6, we should check that the server is equipped with all the necessary modules. In some cases, additional cache and battery modules are required for configuring disk stripping or an extra license it might be required for enabling some options.

In conclusion, selecting the right option we may have a  complete high performance used system in the price of a latest new processor (similar to performance CPU). In any case, we have to carefully consider the particularities of an enterprise server, be prepared for bidding the right item and get ready for launch!

2017: the Big Data Year?

It is the first time that the storage space is almost unlimited. It is not only possible to have petabytes or even zettabytes of cloud storage, but also we can have it, in an affordable price. Cloud storage providers – such as Amazon – have reserved fleets of trucks, each one transferring hundreds of petabytes, or even better “tonnes” of data, every day to the cloud storage. Different kinds of information are stored and are accessible anytime from anywhere. IoT sensors information is transferred in real time from all over the world, business transactions are stored and are available for years, mobile devices are constantly uploading data of any kind that we can imagine: sensor data, images, videos, positioning information. Health devices are providing information from monitoring devices (ie pulse rate, BPM, SpO), information about the medication progress or symptoms of the patient but also information about the patients’ habits (ie daily steps or sleep quality). This information can be securely stored and provide a valuable tool for the researchers.

In addition, processing power cost has been dramatically reduced. Clusters with hundreds of CPU can be bought for few thousands of euros in ebay. Moreover, the processing power is located in the same place where the data is: in the cloud. Virtual environments, dockers, containers are available to accommodate any platform that is needed for serving our needs, optimising the data usage. Elastic allocation can provide us the resources needed the time needed. All the above are tied together in user-friendly platforms such as Apache Hadoop making possible to deploy and provision a new cloud platform only in few hours.  

What we can expect from the big data for the new year?

“Big data” was rapidly grown the last few years and we are now in place to form the brain of the new internet era. Software development is transformed to software science. We do not care about the data as data, but instead, we now searching for the actual information included in the abundance of data, depending on our task. Advanced signal processing algorithms are used to extract information based on the requirement, correlate different types of information and furthermore being able to make decisions. Machine learning, neural networks or deep learning, as it used to be called in “big data”, making the software scientists the most highly paid professionals, constructing the internet brain. People living in big cities are already familiar with applications, like the traffic information provided by google maps. This is an excellent example of Big Data. We do not care about who when and why is moving, we just want to know the status of the traffic in a specific place. Information is available – from the thousands of devices moving in this area – and big data are responsible for processing the information giving us the status of the traffic in real-time. Moreover, we may predict the traffic for a specific time based on the historical data of similar days, period or even weather conditions. We may see internet taking part actively in criminal prevention, identifying risks and managing portfolios without any human interactions. Big data will become a part of our daily life as the 21st century Pythia.