FreeRTOS tutorial on STM32

A High-density line of STM32 microcontrollers has quite a bunch of features that can be used in your programs. However, the more features you add to the source, the more complicated the program becomes, and it may become challenging to keep up with all things. Relying on the main loop and interrupts becomes a time-consuming task to manage. If you do not want to struggle while tuning things up manually, you can use one of the best free real-time operating systems (RTOS). It is handy when you need many separate functions to run in parallel without missing a task. RTOS scheduler takes care of giving each task a required period to perform. There are many great RTOS systems around. Many of them are free and open source. Follow the FreeRTOS tutorial to see how easy it is to run complex tasks. I love using FreeRTOS, which has a long successful history and is flexible to fit multiple types of hardware. You can check out my demo FreeRTOS tutorial on Atmega128. I also encourage you to give a try for other RTOS systems like ChibiOS, BeRTOS, and others. FreeRTOS is quite simple and easy to use. It has practically all of…

Continue reading

Building and installing USBASP-USB programmer of AVR microcontrollers

USBASP is well-known USB programmer for Atmel AVR microcontrollers initially supported by  Thomas Fischl. USBasp flash uploader is made of an Atmega8 or Atmega88 and few other components including resistors, capacitors, LEDs, and connectors. The adapter works on a firmware driver, which gives a room for customization, and new chips updates. The USBasp programmer has been so famous for a long time. It has been supported by avrdude – an open source programming software, which runs on multiple platforms like Windows, Linux, or Mac. Since Arduino popularity has skyrocketed, the need for such tools has diminished, and so the support has been stopped. I can assure you, that USBasp still works and there is no problem to run it on Windows 10. USBasp circuit diagram Let us see what is this adapter is made off and how to set it up to run on Windows 10. You can find the original circuit in the author’s site: http://www.fischl.de/usbasp/. There you will also find several third-party PCB examples to choose. The core of USBasp adapter is Atmega8 (or Atmega88) microcontroller clocked with 12MHz crystal. The assembled PCB is ready to be connected via simple USB B type cable (PC side needs A…

Continue reading

SOLAR POWERED UAV FOR LONG ENDURANCE

C-60 SOLAR POWERED AIRCRAFT In this project we are going to show you to power an aircraft from solarcells and have an uninterrupted flight for 50 minutes with the aid of a dc source excluding solar cells. The project is concerned with the uninterrupted flight by using renewable energy i.e. solar cells energy and have a smooth and long flight without fuel to any desired place as long as the sunlight is available, on the dismissal of sunlight the dc battery source will be there to drive the aircraft. This air craft is also capable of one to one communication for such areas where wireless communication is inaccessible. The aircraft is equipped with Xbee-S1module (Communication module) which is communicated to the Xbee in inaccessible wireless areas. The Xbee of inaccessible area fetch the data from the sensor in that area and transfer this data to the Xbee in aircraft, storing in the SD card in aircraft.  After the aircraft flight is ended the SD card data can be fetched via computer and graph of complete analysis of that area in excel sheet.

Continue reading

Echolocation with HC-SR04 ultrasonic distance sensor

Ultrasonic echolocation is common practice in many areas including nature itself. We all know how bats or dolphins navigate – they emit ultrasonic waves and depending on the time delay of reflected echoes, they can determine the distance from obstacles or catch. From an engineering perspective it is relatively easy to measure distances with ultrasound – all you need to know is sound speed in the air and time delay between sent and received pulses. L is the measured distance; CAIR – ultrasound speed; t – the time between transmitted and received pulses. The accuracy of measured distance mainly depends on air temperature. The following formula can calculate sound speed in the air approximately : For instance, at 25ºC the speed of sound in dry air CAIR = 346.13 m/s. If you want greater accuracy, you should also measure temperature to adjust sound speed.

Continue reading

Pressure-less solar collector controller prototype

It’s been over three months since solar collector was installed. I decided to build a controller by myself. And it turned out that it stayed in the prototype stage. So I put it into the enclosure and left it like is. So far it works fine – water is hot every day, so I have nothing more to expect. I did not capture enough pictures of the build, but I think I will share what I have. In the forum thread, you probably saw what type of system I was building. As I mentioned, the solar collector is cheaply made in China and is pressureless. They usually come with a unique controller which takes care of refilling tank, ensuring protection from water freezing and other individual scheduled routines. Pressureless collector usually is first filled with water which heats and then it is used (mixed with cold). Initial test shows that when the collector is in direct sun, it boils what leads to calcification of heater elements. Overall lifetime reduces and so efficiency.

Continue reading

Running LEDs on MSP-EXP430FR5739 FRAM board

In this part, we are going to create a simple project for the MSP-EXP430FR5739 FRAM board. As development tools, we are going to use Code Composer Studio which is free to up to 16KB Flash code size. MSP430FR5739 microcontroller has exactly 16KB of FRAM memory so we can use it all with no hustle. Download Code Compose Studio (CCS) and install it to your PC. Then start the application and go to the workbench. It is Eclipse based IDE so should be no problem if you have used Eclipse before.

Continue reading

Building STK500 AVR ISP programmer with USB

A programmer adapter is one of the first things to get when starting with microcontrollers. Luckily, it is not hard to build a working programmer almost for any microcontroller, as there are tons of open source projects. I decided to make my own an stk500 compatible programmer, which is taken from tuxgraphics.com. I did not look for the same parts as in original schematics but used what is on the desk. As a result, I got a mix of through hole and SMD PCB, which does the job. Short info about STK500 V2 programmer This STK500 V2 adapter is a clone of the original AVR STK500 programmer. It works on all leading platforms including Windows, Linux, BSD, and MacOS X. This is mainly because USB to serial converter  –  FT232RL chip has full driver support. Probably the main reason to build it is that the programmer works in AVRstudio where microcontrollers can be programmed fluently from the same IDE. In addition, it works fine with AVRDude – which would be the primary application for Linux users. This clone gained quite significant popularity so you can find many variations – mostly different PCB versions. Therefore, mine is yet another PCB.

Continue reading