Archive for the ‘ARM’ Category

Raspberry Pi playing ZomBuster

August 23rd, 2016 No comments

Some time ago I had a course dealing with image analysis i.e. image segmentation, moments, colour detection, object recognition etc. As part of the course everyone had to make a project that showcased the theory we had been learning throughout the course. We were allowed to use OpenCV as the backbone for accessing the camera etc, but not allowed to use any of the built-in filters. Instead the goal was to implement the different algorithms ourself.

One day one of my friends was playing the Smartphone game ZomBuster. A screenshot of the gameplay can be seen below:

ZomBuster gameplay

ZomBuster gameplay

The goal of the game is to tap the lane with the zombie in it, in order to kill it. As the zombies are green and humans are blue I thought it would be a fun challenge to build a robot that could play the game autonomously for the course.

This also allowed me to use the 3D printer I had just bought at the time. For that reason I created a 3D model with all the needed components:

3D model

3D model

Read more…

Categories: ARM, Embedded Linux, OpenCV, Raspberry Pi Tags:

Bachelor's Thesis: LaunchPad Flight Controller

August 24th, 2015 4 comments

I recently got my bachelor’s degree in electrical engineering. As I wrote in an earlier blog post I decided to implement a custom flight controller on a Tiva C Series TM4C123G LaunchPad for my project.

Currently it supports several different modes including acro/rate mode, self level mode, heading hold and altitude hold. Below is a series of videos demonstrating the different modes:

The source is available on Github: as usual including the report I wrote.

I would really recommend anyone that is interested in this sort of thing to read through it for a deeper understanding on the fundamental theory and how it is implemented on a flight controller in practice.

It consists of three parts. The first part presents a theoretical model and the equations used to estimate the attitude and altitude of the quadcopter. The second part describes how the system is implemented on the microcontroller and lists the hardware used for the project.

The final part measures the performance of the flight controller by logging the data in real time. This data is then compared to the simulated results based on a theoretical model simulated using Simulink.

Flight modes

In total there are four different flight modes supported by the flight controller. The first one is acro/rate mode, which only uses the gyroscope to stabilise the quadcopter. This mode is mainly used for advanced pilots and acrobatic manoeuvres. In this mode the aileron and elevator stick inputs indicate the desired rotation rate of the quadcopter. Thus, if the user wants the quadcopter to rotate fast clockwise along its roll axis the aileron input can be put all the way to the right.

Read more…

LaunchPad Flight Controller

January 23rd, 2015 8 comments

As some of you might know I have been studying in San Francisco the last semester at San Francisco State University. For that reason I have not done as much as development as I usually do, due to all my equipment being back in Denmark and also because I prioritised being social and not just sit behind my desk coding all night 😉

Anyway I did not fully stop working. I actually started working on my own flight controller written from scratch in one of by courses. Below is the result so far:

Read more…

Handheld XV-11 LIDAR with STM32F429 and MATLAB

August 26th, 2014 17 comments

The XV-11 LIDAR unit

The XV-11 LIDAR unit

To make our robots even more autonomous we would like to investigate the world of Laser range finding using LIDAR technology. Unfortunately for the users who want to try out LIDAR it’s a very expensive technology to get your hands on.

Throughout the years though Vacuum Clearner robots have evolved a lot, both in the algorithms gettings better but also in the use of more advanced sensors. Lately the Neato XV-11 All Floor Robotic Vacuum System included a small range (0.2m to 6m) LIDAR with 1 degree precision and a resolution of a couple of centimeters. As this vacuum cleaner only costs around $400 makes it a bargain to get hold of a LIDAR if just you could disassemble the robot and use just the LIDAR.

Luckily for us there was put up a bounty for people “hacking” the XV-11 LIDAR and a new hacking community had begun:
Read more…

Categories: ARM, STM32 Tags:

IoT featured soccer table

August 24th, 2014 1 comment

IoT table from top

IoT table from top

Internet of Things (IoT) is one of the big electronics subjects throughout the world this year.

To show the capabilities of custom IoT devices and to help a local LAN-event organisation, TheBlast, we offered the help to create an Internet enabled soccer table.
Thanks to generous donation by Tuborg Fonden we were able to buy a brand new soccer table for us to modify.

We modified the table by adding two touch displays for user interaction, a barcode scanner for user registration. Inside the table we installed two score detection IR sensors and a ball release system, made by using a motor/wheel from an old Roomba robot. Finally we installed 5 meter of RGB LED strip to light up the playfield.

When scores is detected they are immediately registered online, to be displayed on the LAN-event website, where score timetable and all previous matches can be found.
This post will describe the features of the final table and how it was developed.

Read more…

Categories: ARM, STM32 Tags: , , , , , ,

STM32 Nucleo – a new mbed platform

February 17th, 2014 4 comments

A lot of you probably both know the STM32 devices maybe even from our blog as we tend to use it a lot. You probably also know the mbed board that started as an NXP LPC1768 equipped microprocessor development DIP-like module.

Now ST Microelectronics has decided to join the adventure of the mbed world by making their own mbed development board series and adding support for 4 different STM32 devices in the mbed online compiler environment!

STM32 Nucleo

STM32 Nucleo

Read more at here:

Categories: ARM, Development boards, News, STM32 Tags:

New contributor at TKJ Electronics – Diego

January 30th, 2014 4 comments

We are happy to announce a new contributor and hopefully soon consultant at TKJ Electronics, Diego Ayala.
I have been in touch with Diego for quite a while and we have been talking about his experience with the STM32 family and other ARM M0, M1 and M4 cores together with the Keil and CooCox IDE’s. So an experience like his is really usefull for ARM embedded projects.

To display some of his work we decided to go thru one of his recent projects, a color tracking device running on the STM32F103. A project that really displays what the ARM Cortex-M3 device is capable of doing, as long as you optimize well enough.

Read more…

Categories: ARM, TKJ Electronics Tags:

Color object tracking with STM32 + OV7725

January 27th, 2014 10 comments

This project uses STM32F103 microcontroller to track an object, it gets the image from an OV7725 camera + FIFO, it is configured as rgb565 QVGA(320×240).
In the touchscreen the target object can be selected, its color defines the thereshold to binarize an image. After the segmentation is done an algorithm recognizes the contour of the image and its center, once located a PI controller moves 2 servos (pan, tilt) in order to target the objective.
A video of the system doing real-time tracking can be seen in the bottom of the post. The source code and Keil project for the STM32F103VCT device can be downloaded here:

Designing an embedded system in a microprocessor for detection and targeting a colored object, without the need for externally processing system (PC)
Read more…

How to stream video and audio from a Raspberry Pi with no latency

June 4th, 2013 61 comments

I have finally finished my last exams, so now I have more time to focus on some of my own projects. It has been a while since our Kickstarter campaign was successfully funded, but we are still working on making the experience better for the final users.

After the campaign ended we sent out a survey to all our backers with several questions about there address, profession and so on, but we also asked them if they had any suggestions for improvements or extra features they would like to see added to the Balanduino. A lot of people asked if we could enable wireless streaming for it.
I was personally very excited about that since I have been playing with the thought for quite a while, so when the official camera module for the Raspberry Pi became available I bought it straight away.

Raspberry Pi camera module

Read more…

LPC4350 board – which parts would you like to see reviewed

March 3rd, 2013 7 comments

We have just recently bought a one of the latest evaluation kits from Hitex, featuring the new dual-core LPC4350 from NXP – the LPC4350 Evaluation Board.

LPC4350 Getting Started Kit

LPC4350 Getting Started Kit

The processor consists of two cores, an ARM Cortex-M0, as the low-level processor and the high-end ARM Cortex-M4. Even though the two cores are of a different kind and with independently different features, they both run at a frequency of up to a stunning 204MHz.
Read more…

Categories: ARM, Development boards Tags: