Skip to main content

Posts

Showing posts with the label raspberry pi

Ecowitt weather station to APRS bridge

Ecowitt2APRS is a new open-source Linux service that I have been working on for the past few weeks. This project is designed to seamlessly integrate weather data from Ecowitt compatible professional weather stations into the global Automatic Packet Reporting System Internet Service (APRS-IS) network, transmitting this information in the standardized format of APRS weather packets. APRS, an amateur radio-based system, facilitates real-time tactical digital communications, covering applications such as GPS position reporting and the dissemination of meteorological data. Ecowitt2APRS addresses a specific need within this ecosystem: providing a lightweight and efficient method for weather stations to contribute to this data stream. Live data view from my Ecowitt weather station on aprs.to. The Ecowitt2APRS service is developed as a minimalist daemon for Linux environments. It ingests live weather data from Ecowitt compatible stations, converts it into the required APRS weather pac...

5.1 channel analog audio processor

In this project, we developed a 5.1-channel analog audio processor using PT2322 IC. PT2322 is an inexpensive analog audio processor introduced by Princeton Technology Corporation . It contains 6-channel individual channel attenuators, a 3-way tone control system for front-end speakers, and a 3D audio simulation system.  Assembled 5.1-channel audio processing board. In this design, we combine PT2322 with Arduino Nano and interface it with PC/embedded computing boards through a USB port. Native GTK UI application provides to control all functions of the PT2322 IC. The Arduino Nano can directly plugin to the PT2322 module. There are three push buttons on the panel itself to control the volume and mute the audio. To reduce the cost and minimize the PCB size, we use both SMD and through-hole-type components in this PCB. The dimension of the PCB is 59mm × 60mm. The PCB of this module can directly order from the PCBWay project page . Using the PCBWay service, you can order high-...

FM Radio add-on for Raspberry Pi

The QN8035 is a stereo FM radio receiver launched by the Quintic Corporation . Compared to other popular digital FM tuners ( RDA5807 , TEA5767 , etc.), this tuner does not seem to be as popular among the DIY community. As we have seen, the biggest problem with this IC is the lack of information. During our initial search, we came across some details about this IC. Much of that information was confined to a product datasheet and a few undocumented GIT repositories. Based on the information we found on the internet, we concluded that Quintic was no longer in business. According to the NXP website , it stated that Quintic Corporation was acquired by NXP in 2015.  Although the Quintic is no longer in business, the QN8035 IC can still be purchase at a low price from online stores. In addition, we found several FM radio kits manufactured using this IC in online stores. Due to the lack of information, I decided to explore this IC to understand its functionality and limitations. In t...

24-bit Stereo Audio DAC for Raspberry Pi

This project is about 24-bit stereo DAC, which we build for Raspberry Pi boards. This R-2R ladder DAC is developing around Intel / Altera EPM240T100C5N CPLD. We developed this module after review the PT8211 DAC, which we tested a few months ago. Compare with PT8211 DAC, this module is capable to provide high-quality audio output with Raspbian OS . A finished prototype of the R-2R DAC. At the testing stages, we drive this DAC with the I 2 S bus of the Raspberry Pi 3 Model B board . The provided device tree overlay is developed and tested on the new Raspbian Buster OS. The audio quality of this DAC is impressive. In most of the circumstances, we test this unit using mpg123 player and got excellent results. The MCP602 opamp of this module is capable to drive a headphone, and for the testing, we use Audio Technica ATH-PRO500MK2BK headphones directly with this module. Also, we pair this module with several AF power amplifiers and obtained superior results. The most n...

Simple I2S stereo decoder with amplifier

In this project, we build a simple I 2 S stereo decoder with an amplifier. To decode I 2 S data we use Princeton Technologies PT8211 16bit DAC. KA2206 audio power amplifier is used as the driver stage of this system. The prototype version of I2S stereo decoder Structure of this I 2 S amplifier is self-explanatory from the schematic. We select PT8211 and KA2206 combination due to lower cost and availability. Unfortunately, PT8211 DIP package is not available in the local market and we use SO package in our prototype. We design PCB for the DIP packages, and therefore we solder PT8211 SO package to PCB using " SO8 to DIP8 " converter. We design this system to work with 9V DC power source but at the prototyping stages, we noticed that it works well with lower DC voltage such as 5V. For the output use any 8Ω or 4Ω (5W or higher rated) full range speaker pair. We test this with 8Ω 8W oval speakers which are commonly found on televisions.

How to resolve Windows 10 IoT core provisioning file flash failure

Recently I checked Windows 10 IoT core on Raspberry Pi 3 B+ board. While flashing this operating system using Windows 10 IoT dashboard I got " Failed to write provisioning file to the microsd card " error. I tried several options in dashboard UI but I got this error continuously. After some google search, I found a forum in Microsoft MSDN saying that this issue happens due to poor or slow speed SD cards. The SD card which I used previously is Kingston 16GB class 4 SDHC memory card . Later by following the site, I flash this image into new class 10 SD cards and SDXC cards but repeatedly I got this same errors. After a couple of hours of digging I fix this issue by following the steps below: Open Windows 10 IoT core dashboard and try to install the OS image.  If you got " Failed to write provisioning file to the microsd card " error, close the Windows 10 IoT core dashboard . Open C:\Users\USER-NAME\AppData\Local\Temp\RPi2\msi\msicontent\Microsoft IoT\FFU\R...

Sensor framework for Data Logging

This is a simple sensor kit to drive 8 active or passive sensors and log its data into a remote Android application. This system also has an option to activate an external device(s) based on the specified threshold of sensor data. This sensor controller is mainly built around the Raspberry Pi Model 3 B+ and PIC16F877A MCU. PIC16F877A MCU is used to interface/select sensors and it's built-in 10bit multi-channel ADC is used to capture the analog signals from sensors. During the prototype stage following sensors are tested with this system: LM35 precision temperature sensor MQ7 Carbon Monoxide gas sensor Electret Microphone NSL-19M51 LDR HC-SR501 PIR sensor A3144 Hall effect sensor Apart from the above list this system can use to drive and capture most of the other analog/digital sensor signals such as current sensors, pressure sensors, chemical sensors, humidity sensors, etc. In this system, Android monitoring application is designed to connect with the sen...

Enable WebRTC on QtWebEngine for Raspberry Pi 3

WebRTC is a web technology to enable peer to peer communication in real-time. It mainly uses to create video conferencing and chat applications using web browsers. In this post, we describe how to enable this technology in QtWebEngine on Raspberry Pi 3 platform. QtWebEngine is an embedded browser component which comes with the Qt framework . This component is based on Google Chromium browser and it supports most of the Chromium features including WebRTC. In PC, WebRTC applications run smoothly on QtWebEngine component. But in Raspberry Pi platform situation is different and none of the WebRTC application is work with the QtWebEngine. The only thing which we can see is a black box in an HTML5 video tag area. At the time of writing this problem exists in Qt version 5.6, 5.7 and 5.8.