Competition Entries

31

Ada Based IoT Framework

The project integrates several new features to the AdaCore Drivers library to provide an IoT Framework based on existing LwIp implementation ported for the embedded STM32 Ethernet family of devices, by means of adapting and integrating existing network protocol Ada libraries adapted for the new LwIp port now it's possible to have HTTP server and MQTT client, a basic and classic hello world example code is provided for them as a starting point for complex and reliable embedded IoT and Ethernet Gateway solutions based on 100% Ada.

Project Lead Manuel Iglesias Abbatemarco     Location Quito, Ecuador

30

Solar System Planets 3D

This is an application for high performance graphics that used opengl with ADA language. All the Application Logic is programmed in Ada Logic, Runs on macOS and Windows, also portable to iOS and Android

Project Lead Bilal Ahsan     Location Rawalpindi, Pakistan

29

Ada-Controlled Geologic Inspection Rover

It is proposed to develop a remote-controlled Geologic Inspection Rover with an optional semi-autonomous operating mode. The Rover will utilize as its primary controller a STM32F4 Discovery Kit for proof of concept. The Discovery board will be programmed with Ada 2012-compliant code and using the GNAT Programming Studio as made available at http://libre.adacore.com/. Ada control software and firmware will be developed to drive and control brushed DC motors (skid-steering system), various sensors, wireless camera, and other items required to use the Rover for inspection purposes within pipes and culverts.

Project Lead George Sutton     Location Morristown, USA

28

Ada Embedded Linux Framework

This Make With Ada 2017 project is a framework for developing Ada Internet of Things/Physical Computing applications that can run on low cost Linux single board microcomputers such as the Beagle Bone Black and the Raspberry Pi 2 or 3, using the GNAT GPL 2016 toolchain for the Raspberry Pi 2.

Project Lead Philip Munts     Location Vellinge, Sweden

27

3D Music Player with ADA

We plan to utilize ADA's compatibility with electronic components to make a music player that visualizes sound levels on a 3D platform. It will include compatibility with Spotify and iTunes. We hope to be able to make this device work with mobile devices.

Project Lead Edison Shi     Additional Team Angela Chan, Nihar Gudiseva, Peter Luo,     Location Fresh Meadows, United States

26

Self Balancing Tri-pod Robot

Self Balancing Robot having a model similar as Half Life 2: Hunter

Project Lead Neville Ekka     Additional Team Kenneth Ekka, Kulwant Singh,     Location Mississauga, Canada

25

Brushless DC Motor Controller

This project involves the design of a software platform that provides a good basis when developing motor controllers for brushless DC motors (BLDC/PMSM). It consist of a basic but clean and readable implementation of a sensored field oriented control algorithm. Included is a logging feature that will simplify development and allows users to visualize what is happening. The project shows that Ada successfully can be used for a bare-metal project that requires fast execution.

Project Lead Jonas Attertun     Location Göteborg, Sweden

24

Portable Function Generator

System using STM32f429 to generate different electrical waveform such as square wave, sine wave and triangle wave. It comes with the GUI for selecting frequencies.

Project Lead Damodharan Chandrasekaran     Location Dallas, USA

23

A Ravenscar SFP Port for the STMicroelectronics Nucleo-F030R8 Board

The aim of the project is to port the Ravenscar SFP Runtime to the STM Nucleo-F030R8 board. Ultimately this is an effort toward a standardized way to program with Ada on the STM32F0 series MCUs, and in the future, STM32L0.

Project Lead Biser Milanov     Location Sofia, Bulgaria

22

Swithching Mode Power Supply

The objective will be to design a controllable step down DC power supply that will be able to output a constant voltage from input voltages within a given range. For this, a simple gate driving algorithm will be implemented using the Ada language. As for the hardware, passive components such as resistors, capacitors, inductors as well as active components such as a MOSFET and a microcontroller will be used.

Project Lead Deksios Mulat     Additional Team Yared Yeshitla,     Location Addis Ababa, Ethiopia

21

Developing an Autonomous High Altitude Drone

An autonomous glider designed to navigate back to the launch site after being deployed in near space.

Project Lead Kemal Ficici     Location Vienna, United States

20

Bright future education

Reasearch on building on product which will make it easier for kids to learning programming,upgrading kids education in the area of edutech.

Project Lead Sunday Adeyemi     Location Akure, Nigeria

19

PiMapper

Collects information on the device's location over time, then displays informative stats (location heatmaps, current speed, etc) on a display.

Project Lead Dmitry Svoiski     Location Montreal, Canada

18

Mobile life saver

Every year about 17.3 million people dies of cardiac arrest, but majority of these patients could be saved if they have timely access to a deflibrator and a medical professional. Deflibrator is a life saver in hands of trained medical professional but could kill if not operated properly. My project intends to eliminate this problem, it will wirelessly transmit the data collected when pressed on human body to a nearby trauma center and will shock on instructions from them. It will also have a self decision making program inbuilt, just in case it's unable to contact anyone. This could eventually end up saving several million lives every year worldwide.

Project Lead Shubham Gupta     Location Delhi, India

17

Humanitarian Bot

A Bot that can pick up and deliver food from shelters to people in need.

Project Lead Mostafa Okasha     Location Hamilton, Canada

16

Spot

an app which can help you spot where to buy the item you take photo with

Project Lead Zhaoya Sun     Location Houston , The United States

15

A "Swiss Army Knife" Watch

The purpose of this project is to develop the embedded software of a "Swiss Army Knife" watch in Ada 2012 on the Hexiwear wearable device (http://www.hexiwear.com).

The Hexiwear is an IoT wearable development board that has two NXP Kinetis microcontrollers. One is a K64F (Cortex-M4 core) for running the main embedded application software. The other one is a KW40 (Cortex M0+ core) for running a wireless connectivity stack (e.g., Bluetooth BLE or Thread). The Hexiwear board also has a rich set of peripherals, including OLED display, accelerometer, magnetometer, gryroscope, pressure sensor, temperature sensor and heart-rate sensor.

The motivation of this project is two-fold. First, to demonstrate that the whole bare-metal embedded software of this kind of IoT wearable device can be developed 100% in Ada, from the lowest level device drivers all the way up to the application-specific code. Second, software development for this project will produce a series of reusable modules that can be used in the future as a basis for creating "labs" for teaching an Ada 2012 embedded software development class using the Hexiwear platform. Given the fact that the Hexiwear platform is a very attractive platform for embedded software development, its appeal can be used to attract more embedded developers to learn Ada.

The scope of the project will be to develop only the firmware that runs on the application microcontroller (K64F). Ada drivers for Hexiwear-specific peripherals need to be developed from scratch, as they are not supported by AdaCore's Ada drivers library. Also, since I will be using the GNAT GPL 2017 Ada compiler and the GNAT GPL distribution does not include a port of the Ada Runtime for the Hexiwear board, the GNAT GPL 2017 Ada runtime needs to be ported to the Hexiwear board.

Project Lead German Rivera     Location Sunnyvale, USA

14

DAB+ Radio Player

Digital radio player using a Software Defined Radio (SDR) running on a Raspberry Pi 2. Utilises a RTL2832U dongle for recording of the raw signal.

Project Lead Jordan Yates     Location Munich, Germany

13

Annika Fuchs

Based on the idea of the water glass app, "On tour with a water glass" supports the car driver to reduce the fuel consumption. A virtual water glass is put into the car with the embedded controller and water will slop around during the drive. The fuel consumption is low with a soft style of driving, therefore only a small among of water is slopped out of the class. This application should tempt the driver to reduce the fuel consumption as most as possible.

Project Lead Annika Fuchs     Location Wemding, Deutschland

12

Planets Tour 3D

An Ada based project with 3D Graphics View Planets of Our Solar System in a high resolution 3D environment.

Project Lead Bilal Ahsan     Location Lahore, Pakistan

11

Colour Detection with Neural Networks

Is it possible to teach an Arduino to recognise colour? In this project we examine the use of neural networks for classification activities.

Project Lead Stuart Cording     Location München, Germany

10

Ada on an STM32L4 controlling I2C and a motor

A port of AdaDriversLibrary to the low power series STM32L4 (this is new work btw as the lib is STM32F4 and STM32F7 only curr). This is a minimal target, 32pins 256k flash and 64k data. The idea is to show a generic driver for the VL6180X range sensor and control of a stepper motor to achieve control of a seesaw with a ball that will travel ~8in from stop to stop. The ToF sensor will be plumbed into logic that will vary the seesaw angle.Some stretch goals of the demonstration could include using the low power modes of the L4.

Project Lead Hedley Rainnie     Location cupertino, United States

9

Security Camera

Development of a security camera using STM32F407VG and associated camera and wifi-modules. This project description will be updated with further details as the project progresses.

Project Lead Joakim Dahlgren Strandberg     Additional Team Daniel Edmark,     Location Stockholm, Sweden

8

Smart Hub for Connected Devices

A central hub to control and monitor a collection of connected devices.

Project Lead James Hall     Additional Team John Tkach, Casey Santilli,     Location Deep River, United States of America

7

B Driver

B Driver, or be driver, is a system to be a benignant driver. Have you ever overtaken a truck which had a flat tire and you couldn't warn the driver? Or have you being followed by a car which had high-beam headlights and incommoded you? B Driver is a way to warn the driver of the following vehicle.

Project Lead Sébastien Bardot     Location Tours, France

6

Diagnostic & Security & Alarm module

The project will produce a module that will use the on-board audio input and accelerometer of the stm32F7 to record the operating characteristics of whatever device it is mounted in. It will use the display, audio output, and/or remote communication, to send alarms and status updates.

The normal use-case will be the manufacturer of a device, say, a washing machine, will put the module in 'learn' mode, whilst running the device through its test-bed. The data thus gathered will be the benchmark against which future performance will be measured. If the machine starts to behave outside these operating parameters, it will send an alarm. This will allow preventative maintenance to take place before catastrophic failure.

The API will be designed to allow input from other sources (such as GPIO), where smoke alarms, air-quality sensors or similar can be integrated with the other signals to determine alarms.

The manufacturer will be able to define specific alarms - such as a request for service after 6 months or 1000 cycles - or to allow the algorithm to determine appropriate alarms, or both.

Project Lead Peter Brooks     Location Cape Town, South Africa

5

AntiBrakeSystem

A mobile robot system that can prevent collision. There may be some sensors such as IMU, solar and cameras! I want to auto generate codes from simulink models after verify those models!

Project Lead wenlong xie     Location Shenzhen, China

4

MIDI Synthesizer

MIDI Synthesizer is a polyphonic software synthesizer. It runs on an STM32F4 Discovery board and provides a MIDI-in port (standard 3 pin DIN connector) to connect a MIDI piano. The on-board I2S DAC of the Discovery board is used to generate stereo sound. There are rotary encoders, knobs, LEDs and an OLED display to control and visualize the synthesizer parameters. The synthesizer can also be controlled over USB-MIDI, for example to use it as an output device from a sequencer on a PC, and all parameters can be controlled with CC commands as well.

Project Lead Frank Buss     Location Cologne, Germany

3

Embedded Bootloader

Safe and secure bootloader frame for Bare Board ARM Cortex which allows upgraded in-field firmware. The hardware platform is STM32F4 Discovery with CAN bus interface to communicate with host application on PC.

Project Lead Tomasz Osypiński     Location Warsaw, Poland

2

Embedded Instrumentation Data Storage Node

A Borg Data Node (popular culture reference [for fun], see StarTrek::Borg).

Project Lead Adam Jensen     Location Johnson City, USA

1

Obstacle detection using IR

Hand held obstacle detection using IR and actuation for visually impaired.

Project Lead om sai ayyappa reddivari     Location bangalore, India