Ground proximity detection

Hi. I bought a Sparkfun A111 radar and was hoping to use it with an Arduino but have now realised it is not going to work - or at least there are not any Arduino libraries.

My aim is to make a ground proximity detector for a light aircraft. I am only looking for at least 2m measure distance. Since it has to measure the distance to the ground at about 100kph over variable (grass, bitumen, dirt) surfaces in daylight I suspect Lidar may not be reliable.

(And don’t worry - this is not a critical flight control or life dependent function … just a non-critical guide to landing height.)

It looks like your SEN0306 - 24GHz Microwave Radar Sensor - might do the job, but it is getting expensive (on top of the A111 board I can’t use …)

So can you please advise - as far as possible and to your best guess:

  1. Confirm there are no Arduino libraries for the A111?
  2. Do you think Lidar like SEN-15179 - the TFmini plus would reliably detect the ground as i need. (1-2 meters, 100kph, daylight, variable surface)
  3. Do you think the SEN0306 would work well for me?

Thanks in advance.

Barry

2 Likes

Hey Barry,

I just took a quick look at the Sparkfun’s getting started guide and this quote sticks out:

To use the A111 you’ll need either an ARMv7 or an ARM Cortex-M4 – the closed-source SDK currently only supports these architectures. This tutorial will explain how to use the radar sensor with a Raspberry Pi – a platform based on an architecture supported by the A111’s SDK.

About the only official Arduino board I can think of off the top of my head with that kind of processing power is the Portenta H7. Else you could use a Teensy - otherwise, a Raspberry Pi will do. But I’m pretty sure you’d have to write the whole thing yourself.

Looks like that SEN0306 is a DFRobot product: mmwave - 24GHz Microwave Radar Distance Sensor (20 Meters) - DFRobot
According to the Wiki 24GHz Microwave Radar Sensor Wiki - DFRobot

It’ll work with an Arduino Uno (or any MCU with a UART interface capable of operating at 57.6 kilobaud).

It’s got an update rate of 10Hz so it should be fast enough. I assume you mean a horizontal speed of 100kph and not a vertical speed - because your aircraft won’t last long doing 100kph straight into the ground.

Just note that its minimum distance is about 50cm - below this you’d need to switch to a different measurement device.

Rough surfaces like grass are inherently difficult to measure. In terms of price to performance ratio the A111 is probably your best option. I couldn’t find an actual specification on the update rate in the datasheet, but it’s very high. Relative accuracy on that thing is in the micrometer range - it’s a pretty amazing piece of gear.

1 Like

Hi. Thanks for the quick reply.

Yes, the A111 has an impressive spec sheet - and it is clearly stated in teh info pages that the software is for a Raspberry Pi - it is certainly my fault for not investigating furhter, but the capability specs had me sold too quickly!!

Do you know - does the " ARMv7 or an ARM Cortex-M4" mean it won’t work with a Pi Zero?? (BCM 2835 SOC ?? ARM 11). Swapping from Arduino to Pi Zero is probably my first option … or ‘upgrading’ to the 24GHz module the other - more expensive, and mounting it at least 500mm off the ground. (yes - it is to go underneath the belly - not on the nose!!)

1 Like

I looked deeper … the other thing that threw me is that it is just a SPI interface … how or why is it so specific and demanding on the host? I expected it to just give results over the SPI and it wouldn’t/couldn’t be that hard to interface … OK if it can’t run fast all the time, but i thought a SPI interface gave you low-performance protection?

Barry

1 Like

The A111 isn’t really a standard piece of ‘maker’ or hobbyist gear. It’s aimed at embedded developers - Sparkfun just whacked it on a PCB, because why not? But implementing it’s definitely not for the faint of heart.

SPI is a pretty common interface for high speed chip to chip communications - and this thing needs high speed to get full performance out of it. UART and I2C aren’t capable of the same throughput.

A Pi Zero’s BCM2835 is an ARM11 chip (which is ARMv6 architecture) so I doubt it’ll be able to run it. If you’re looking at getting another sensor anyway, you may as well just get a 3B+ or a Pi 4 2GB to run the A111. The price for one of these will be much cheaper than the SEN0306 you’re looking at.

Hypothetically you could get it talk to anything that could keep up with it, but the SDK has only been compiled for a specific architecture and it’s closed source - so to get it running on something else, you’d need to work with the developer (or painstakingly reverse engineer it). I’m sure they’d be happy to put it together to run on whatever you wanted if you were planning to buy thousands of these to put into a product, but for a home gamer - you’ve got to be happy with what you can get when it comes to this class of product.

1 Like