Skip to main content

Posts

Showing posts with the label gcc

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...

Building an experimental monolithic kernel

In this blog post, we will walk you through the process of developing a monolithic kernel call tinyOS from scratch by following tutorials from JamesM's and Bran's Kernel Development guides. This includes setting up a cross-compilation toolchain, writing assembly and C code for the kernel, creating an ISO image with GRUB , and testing it in a virtual machine (VM) using VirtualBox . Since some resources are no longer available, we will also provide alternative solutions and details on the entire process. There are several kernel development tutorials available on the internet, but JamesM's tutorial stands out as more organized and comprehensive, covering a broad range of features. I followed this tutorial a few years ago, but unfortunately, the original site is no longer accessible. Thankful to archive.org, the content is still available , and the full source code can also be downloaded from the site . tinyOS in GRUB menu. Before diving into the kernel development, we need...

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-...

Virtual electronic finderscope for the Stellarium

StarPointer is a virtual electronic finderscope for astronomical telescopes. This device works with Stellarium and helps the observer identify objects in the sky.  Prototype version of the StarPointer sensor kit. This unit can be attached to the telescope without modifications and connects with the computer through the USB port. The StarPointer uses a few onboard sensors to determine its angle and position. After obtaining that information, the unit calculates the RA (right ascension ) and DEC (declination) coordinates of the telescope and transfers those details to the Stellarium. The StarPointer builds around the STM32F103C8 microcontroller, ADXL345 3-axis accelerometer , and HMC5883L 3-axis magnetometer . This unit communicates with the PC using the inbuilt USB peripheral of the STM32F103C8 microcontroller. The firmware of the StarPointer is developed using the LibOpenCM3 library and built using GNU ARM Embedded Toolchain . This unit can attach to any astronomical telescope o...