Showing posts with label Raspberry Pi. Show all posts
Showing posts with label Raspberry Pi. Show all posts

Saturday, January 24, 2026

Custom Linux Image Build Using Yocto on WSL

When your Single Board Computer (SBC) is connected to specialized hardware, building an optimized Linux image with Yocto can be advantageous, as it produces a highly customized, reproducible, and lightweight system. To save time setting up the environment for building a custom Linux image, you can use a Yocto Docker container in combination with WSL.



Friday, April 1, 2022

PCA9535 GPIO Expander

PCA9535 is a GPIO expander with 16 IO lines which has I2C bus interface. It provides additional IOs for I2C bus master such as SBC or MCU that can be used to read push button or sensor, to control LED, etc. PCA9555 is identical to PCA9535 except the presence of internal pull-up resistor which increases power consumption when the IOs are low. PCA9535C is another variation of PCA9535 with open drain outputs. Its operating supply voltage range is 2.3V to 5.5V. There are 3 hardware pins which allow to use 8 different I2C bus addresses, from 0x20 to 0x27.


Sunday, April 5, 2020

Using Orange Pi

Orange Pi is a cheap alternative to Raspberry. They can be bought at their online store Shenzhen Xunlong at Aliexpress. There are many Orange Pi models. For example, Orange Pi One costs only ~USD 10. Another model called Orange Pi PC Plus even has 8 GB eMMC onboard and costs ~USD 25 only.


Figure. Orange Pi One





Tuesday, March 24, 2020

ADS1115 ADC

ADS1115 is a precision, low power, 16 bit 860 SPS I2C analog to digital converter (ADC). It has internal reference, oscillator, and programmable comparator. ADS1115 modules are readily available at online markets like AliExpress and Adafruit



Wednesday, January 29, 2020

Linux Device Driver on Raspberry Pi

In this article, I would like to discuss developing a IO device driver for Linux. Although, I use a Raspberry Pi as an example, it should work on other Debian based Linux systems too.


Thursday, January 9, 2020

PCF8591 - 8-bit A/D and D/A converter

PCF8591 is an ADC/DAC device with four analog inputs and one analog output. It has an I2C interface with three address pins. The operating supply voltage range is from 2.5 V to 6.0 V. When all three address pins are low, its address is 0x48.


Figure. PCF8591 pins.


Friday, October 5, 2018

Using Microsoft SQL Server from Linux Machines with ODBC & FreeTDS

FreeTDS is a set of libraries for Unix and Linux machines to use Microsoft SQL server and Sybase databases [Fre16]. FreeTDS C libraries are free, opensource, and distributed under GNU LGPL license. In this article, I will discuss about using MS SQL server located on a Windows machine which is installed using mixed mode authentication. The MS SQL server must be configured to allow remote connection with TCP/IP using username and password. That MS SQL server is to be connected and used from a Linux machine using FreeTDS.

MS SQL server is a result of cooperation between Microsoft and Sybase. Therefore, their SQL servers are quite similar and the communication protocols are almost identical. That protocol is called Tabular Data Stream (TDS). The project for open source implementation of TDS is started by Brian Bruns and it is called FreeTDS.

Tuesday, October 2, 2018

Safe and easy DIY Home Energy Monitor Using Current Transformer with Arduino, Raspberry Pi, or Beaglebone Black

To measure and monitor the energy usage of home appliances, let us build a simple and basic energy monitor. Although there are several methods to build energy monitors, I have chosen YHDC Current Transformer SCT-013-000 [YHD18] for it. Because it is non-invasive, safe, and suitable for learning. It is a split-core current transformer so that it can be fastened and used easily without the requirement to touch the high voltage power lines. Note that only one power cable is to be put in the core as shown in Figure 1.


Figure 1. (Left) SCT-013 is split core so that it can be easily clipped on a wire. (Center) If all the wires are put inside the core, input and output currents are cancelled. Therefore the net current will be zero. (Right) It is required to put only one wire in the core.


Friday, March 9, 2018

DIY Smart Surveillance Camera Using Raspberry Pi Camera and C++

Let us make a smart surveillance camera using a Raspberry Pi single board computer. Normally, it records the videos at 5x speed analyzing continuously and producing video files daily or hourly. Once human bodies are detected in the captured images, it will highlight them with green rectangles and change the recording speed to normal. A passive infrared sensor (PIR sensor) is also used to detect human bodies.

The example program discussed here is just to show the feasibility and it can be improved further. A few examples are sending email to your email address if something happened, recognition of faces of family members, recording videos at different speeds depending on time.

Figure. Connecting a PIR sensor.


Wednesday, September 13, 2017

Pixy

Pixy (http://cmucam.org/projects/cmucam5) is a vision system that can be used to add computer vision to your Arduino, Raspberry Pi, or BeagleBone project. Once you have taught it the color to detect, it can send you the position and size of the detected objects.