Make With Ada 2021 Promo 60624591727f1

Make with Ada 2021

April 2, 2021
Check out the results from the latest Make with Ada competition that pitted Ada and SPARK applications from multiple contenders.

What you’ll learn

  • Who took top honors in this competition?
  • Why Ada and SPARK should be important to embedded developers.

The Make with Ada 2021 competition has some winners. I was one of the judges for this competition and if you’ve ever been a judge you know that the job isn’t easy. I also run the Mercer Science and Engineering Fair with a host of club members with even more entries and a lot more judges. Logistics is a challenge, but in the end the results are what count.

This year, the 1st place prize of $2,000 went to Tharindu Suraj Liyanage, Founder and CEO of UAV-based startup SRQ Robotics. His project, “Autonomous Crazyflie with ToF Sensors” (Fig. 1), builds on an earlier project that moved the C-based flight-management software from C/C++ to Ada/SPARK.

Tharindu’s project added the Z-ranger deck with a laser sensor to the Crazyflie. This addition of code and hardware allowed the drone to do altitude holding. The Z-ranger deck uses a laser-based time-of-flight (ToF) sensor to accurately track height up to 2 m. The hackster.io platform hosts this Crazyflie project along with the rest of the projects in the contents.

“I have been implementing custom firmware for drones for the past five years,” said Mr. Liyanage. “After finding out about the existence of Ada firmware for the Crazyflie 2.0 nanodrone, I started testing it and was able to understand the core functionalities within a couple of weeks. The simplicity of the Ada firmware allowed me to implement my own functions, and the available Ada libraries enabled me to integrate different types of sensors within the drone. I plan to continue my drone firmware implementations with Ada and make them open source for everyone who has the passion.”

I won’t go through all the winners since the contest site does that, but it’s worth mentioning the top student award. This went to Ahmed Hamdy, an MSc. Computer & Systems Engineering student at Universiti Teknologi Malaysia in Kuala Lumpur, Malaysia. A number of the projects came from students there who were learning Ada and SPARK as they went along. I covered what a prior Make with Ada winner learned about Ada and SPARK in an earlier article.

The “Ada Accelerometer Driver + Stable Nerve Game” project used the popular BBC micro:bit v1.5 that has a built-in LSM303AGR accelerometer (Fig. 2). It also contains an array of LEDs that can be utilized for user feedback. These were used to replicate the moving table of physical games, where you try to move a tiny ball around. In this case, though, the game is to keep the table level. The AdaCore compiler and runtime already handle the micro:bit, but adding support for the driver and doing the game was part of the project.

Many of the projects had Ada code that dealt directly with I/O ports, but just as often they had to interface with C-based runtimes that were provided with the platform they were working on. I think all of the platforms used in this iteration of the competition were Arm-based due to the wide range of low-power microcontroller development kits available. AdaCore’s open-source compiler does support platforms like x86 and RISC-V.

What I did not see this time around were projects that employed SPARK and contracts. It’s not too surprising given that contracts and provable software is a bit more advanced, which can be overwhelming while trying to learn and use the basics within a language. On the other hand, Ada can save development costs even when more advanced training is added to the mix.

There’s a new “SPARK Ada for the MISRA C Developer” document and interactive training on the learn.adacore.com site that would be more applicable to advanced C/C++ programmers. Its extensive but a good read nonetheless.

About the Author

William G. Wong | Senior Content Director - Electronic Design and Microwaves & RF

I am Editor of Electronic Design focusing on embedded, software, and systems. As Senior Content Director, I also manage Microwaves & RF and I work with a great team of editors to provide engineers, programmers, developers and technical managers with interesting and useful articles and videos on a regular basis. Check out our free newsletters to see the latest content.

You can send press releases for new products for possible coverage on the website. I am also interested in receiving contributed articles for publishing on our website. Use our template and send to me along with a signed release form. 

Check out my blog, AltEmbedded on Electronic Design, as well as his latest articles on this site that are listed below. 

You can visit my social media via these links:

I earned a Bachelor of Electrical Engineering at the Georgia Institute of Technology and a Masters in Computer Science from Rutgers University. I still do a bit of programming using everything from C and C++ to Rust and Ada/SPARK. I do a bit of PHP programming for Drupal websites. I have posted a few Drupal modules.  

I still get a hand on software and electronic hardware. Some of this can be found on our Kit Close-Up video series. You can also see me on many of our TechXchange Talk videos. I am interested in a range of projects from robotics to artificial intelligence. 

Sponsored Recommendations

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!