Model-Based Real-Time Testing of Drone Autopilots

Total Page:16

File Type:pdf, Size:1020Kb

Model-Based Real-Time Testing of Drone Autopilots View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by Archivio istituzionale della ricerca - Politecnico di Milano Model-based Real-time Testing of Drone Autopilots Andrea Patelli∗ and Luca Mottola∗+ ∗Politecnico di Milano (Italy), +SICS Swedish ICT Contact author: [email protected] ABSTRACT erates in a setting where developers struggle to gain run-time Key to the operation of robot drones is the autopilot soft- information useful for verifying the correctness. Besides the ware that realizes the low-level control. The correctness of hurdles at testing autopilots in real executions, resource- autopilot implementations is currently mainly verified based constraints hamper extensive logging and monitoring. on simulations. These may overlook the timing aspects of To complicate matters, many autopilot functionality need control loop executions, which are however fundamental to to execute in real-time, that is, subject to given time con- dependable operation. We report on our experience in ap- straints. A paradigmatic example is that of safety function- plying model-based real-time testing to Ardupilot, a widely ality, which must be operated within strict time bounds to adopted autopilot. We describe our approach at deriving a be effective. Should these bounds be violated, the drone model of Ardupilot's core functionality and at reducing the may harm surrounding people or objects. Testing real-time model to enable practical testing. Our work reveals that software, however, is challenging even in mainstream com- Ardupilot may fail in meeting the time constraints associ- puting, as testified by the bast literature on the subject [12]. ated to critical functionality, such as enabling fail-safe oper- The result of such a state of affairs is that autopilot soft- ation. Through controlled experiments, we demonstrate the ware often undertakes little testing compared to the key real-world occurrence of such erroneous executions. role it plays. Further, most such testing is essentially per- formed in simulations and looks at functional requirements. However, simulations provide little coverage, whereas non- 1. INTRODUCTION functional requirements such as real-time functionality are Aerial vehicles, ground robots, and aquatic rovers enable tackled by over-provisioning the hardware so that the soft- sophisticated applications [5, 16, 24]. Key to their depend- ware runs \fast enough" not to cause problems in everyday able operation is the autopilot software that implements the use. This provides no definitive guarantee on the correct low-level motion control. Autopilots process various sensor functioning of autopilots, which is unacceptable especially inputs, such as accelerations and GPS coordinates, to oper- for safety functionality. ate the electrical motors that set the vehicle's attitude. The Contribution. This paper presents our work and experi- high-level inputs come from a ground-control station (GCS) ence at gaining a deeper insight into the proportions, depth, where mission parameters are configured, or from a human and implications of the issues above. operator who drives the drone using a remote controller. We take Ardupilot [3], a widely employed open-source Problem. The autopilot is responsible for a number of autopilot implementation we describe in Sec.2, and apply safety functionality triggered in response to faults. For ex- state-of-the-art model-based real-time testing techniques for ample, it may force the drone to land should the battery verifying the correctness of crucial safety functionality. As voltage drop below a threshold. Correctly implementing this illustrated in Sec.3, the techniques we adopt are both ex- functionality is fundamental: accidents are often reported haustive, that is, given certain inputs, they can verify if whose causes may be attributed, in a way or the other, to developer-provided correctness properties hold in every pos- malfunctioning autopilots [19]. sible execution, and operate off-line. The latter feature is Implementing autopilot software is, nevertheless, challeng- immensely useful to overcome the aforementioned practical ing. Size, cost, and energy concerns require autopilots to run hurdles in testing autopilots right on the drones. on resource-constrained embedded hardware. This forces de- We build a model of Ardupilot's core functionality in two velopers to employ low-level languages and to aggressively steps. Sec.4 describes how we derive the code's control flow optimize implementations. Moreover, autopilot software op- graph in a fully automated way, which guarantees the model is structurally equivalent to the code. Next, we perform ex- Permission to make digital or hard copies of all or part of this work for personal or tensive measurements of the execution times of Ardupilot's classroom use is granted without fee provided that copies are not made or distributed code over a Pixhawk board in a minimally invasive way, us- for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the ing custom hardware and during actual executions. author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or The model derived this way, however, turns out impracti- republish, to post on servers or to redistribute to lists, requires prior specific permission cal to carry out the actual testing process. As it is common and/or a fee. Request permissions from [email protected]. when applying exhaustive techniques, we stumble upon state DroNet’16, June 26 2016, Singapore, Singapore space explosion problems that hamper the conclusion of the © 2016 Copyright held by the owner/author(s). Publication rights licensed to ACM. ISBN 978-1-4503-4405-0/16/06. $15.00 verification process [13, 25]. To overcome these, Sec.5 il- DOI: http://dx.doi.org/10.1145/2935620.2935630 lustrates model reduction techniques we apply to shave the setup fast loop scheduler is rendered based on a model of flight dynamics embedded within SITL. A GCS can connect to the simulated Ardupilot instead of a real drone, and issue commands to drive way- time point navigation and remotely log the mission execution. Using SITL provides a practical means to quickly test functional properties of Ardupilot, or to check Ardupilot's Figure 1: Ardupilot's control loop. behavior in specific circumstances. Further, tests can be scripted. This allows one to build automatic testing frame- works, for example, to perform regression testing on nightly builds as new features are added. state space, ultimately obtaining a model usable on ordinary personal computers. 2.2 Related Work The outcome of the testing process on the reduced model, In embedded software, the lack of exhaustiveness is widely described in Sec.6, indicates that, for example, specific exe- acknowledged as a drawback of simulation-based testing [8]. cutions are possible where Ardupilot's fail-safe mode might The testing outcome only applies to that specific execution be arbitrarily delayed. This means that, even though a fault with given inputs. Simulations may also fall short in real- happens that requires the fail-safe mode to be enabled, the ism [8], for example, as it is difficult to accurately model latter might not operate immediately. Rather, the drone the execution times of embedded hardware. However, test- continues working (or not working) as in the absence of the ing on top of resource-constrained hardware is likely difficult fault. Through real-world controlled experiments using a without generating \heisenbugs": fictitious software defects custom-built aerial drone, we demonstrate the not-so-rare induced by probing the executions [15]. occurrence of such erroneous executions. Model-based testing complements simulations [11] by op- We conclude the paper by offering in Sec.7 an outlook on erating on an abstract representation of the system, which how the insights we present in this work may represent an allows to test a system without concretely running it. The input to further developments in the field. models are input to a tool together with developer-provided properties, that is, an encoding of what is considered the cor- 2. BACKGROUND rect behavior. The tool returns whether the model satisfies We describe the autopilot we consider and cast our work the properties in every possible execution, and is therefore in the broader context. exhaustive. If a property is violated, a counter-example is produced that shows an execution where a property does 2.1 Ardupilot not hold. Because of these features, model-based testing is Ardupilot is an open-source project [3] at the basis of widely used in safety critical software [8]. many commercial products, including those of 3DRobotics [1] Applying model-based testing to the special case of real- and many others, and boasts a large on-line community. It time software requires dedicated models and tools [12]. For well exemplifies the state of the art in the field of autopi- example, various kinds of timed automata [11, 13] to model lot development, platforms, and testing. Other existing au- the behavior of the system exist. Different model represen- topilots, such as OpenPilot [17] and Cleanflight [10], show tations require different algorithms to check the properties of similar characteristics. interest [13,25]. A vast literature exists on the subject [12], which shows how these techniques can be effectively applied Implementation. Fig.1 shows the execution of Ardupi- to a number of different application domains. lot's control loop. The fast loop only includes critical mo- Among these domains is also the one of avionics [6,21,22]. tion control functionality. The time left from the execu- However, compared to traditional avionic systems, robot tion of fast loop is given to an application-level scheduler drones are peculiar in at least three respects. First, many that distributes it among non-critical tasks, such as log- state-of-the-art systems, including Ardupilot, are the result ging.
Recommended publications
  • Signature Redacted
    Long-range Outdoor Monocular Localization with Active Features for Ship Air Wake Measurement by Brandon J. Draper B.S., Aerospace Engineering, Univ. of Maryland, College Park (2016) Submitted to the Department of Aeronautics and Astronautics in partial fulfillment of the requirements for the degree of M•s-tttr BBJchdM of Science in Aerospace Engineering at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY February 2019 © Massachusetts Institute of Technology 2019. All rights reserved. Author..-Signature redacted . ................ Departme~t of Aeronautics and Astronautics October 1, 2019 Signature redacted Certified by .......... Jonathan P. How R. C. Maclaurin Professor of Aeronautics and Astronautics, MIT Thesis Supervisor --- . / Signature redacted Accepted by .... \..._..,/ Sertac Karaman Associate Professor of Aeronautics and Astronautics, MIT MASSACHUSETTSINSTITUTE Chair, Graduate Program Committee OF TECHNOLOGY MAR 12 2019 LIBRARIES ARCHIVES 2 Long-range Outdoor Monocular Localization with Active Features for Ship Air Wake Measurement by Brandon J. Draper Submitted to the Department of Aeronautics and Astronautics on October 1, 2019, in partial fulfillment of the requirements for the degree of Bachelor of Science in Aerospace Engineering Abstract Monocular pose estimation is a well-studied aspect of computer vision with a wide ar- ray of applications, including camera calibration, autonomous navigation, object pose tracking, augmented reality, and numerous other areas. However, some unexplored areas of camera pose estimation remain academically interesting. This thesis provides a detailed description of the system hardware and software that permits operation in one application area in particular: long-range, precise monocular pose estimation in feature-starved environments. The novel approach to pose extraction uses special hardware, including active LED features and a bandpass-interference optical filter, to significantly simplify the image processing step of the Perspective-n-Point (PnP) problem.
    [Show full text]
  • Team Members: Pooja Bansal (Pbansal2) Suraj Shanbhag (Smshanbh)
    ARDUROVER with BBBmini Project made for ECE 785 Advanced Computer Design Team Members: Pooja Bansal (pbansal2) Suraj Shanbhag (smshanbh) OVERVIEW: The aim of the project was to interface the beaglebone with the APM rover in order to impart autonomy to the vehicle. The idea was to make the beaglebone as the gateway between the remote control and the vehicle and also interface with the sensors and communicate with the Ground Control Station(GCS) to give the commands to the rover. The GCS software is called Mission Planner and it runs on Windows OS. This report contains the details about the hardware and software required and procedure to be followed to build and launch the system. HARDWARE: The basic hardware consists of a rover built to be compatible with the APM arduover software (we used the APM rover provided to us), Beagle Bone Black which forms the heart of the system, the BBB mini which is a cape on the BBB to interface with the other sensors and the Remote Control for providing the motion commands to the rover. The hardware of the BBBMini requires the following sensors: 1. MPU-9250 IMU 2. MS5611 barometer 3. 3Dr GPS 4. Wifi adapter 5. RC remote (Taranis capable of combined PWM output on one pin) When all these components are connected to the beaglebone, an external power supply is required. In this project a battery pack with usb output of 5V and 2A was used. The connections are as shown below. The output to servo and ESC has to be on RC2(servo) and RC4(throttle).
    [Show full text]
  • Dragon Bee University of Central Florida EEL 4915C Senior Design II Spring 2016 Group 34
    Dragon Bee University of Central Florida EEL 4915C Senior Design II Spring 2016 Group 34 Group Members Ayoub Soud(CpE) Younes Enouiti (EE) Akash Patel(CpE) Nishit Dave(EE) Table of Content 1 Executive Summary…………………………………………………………..……1 2 Project Description ………………………………………………………..………2 2.1 Project Motivation……………………………………………….…………2 2.2 Goals and Objectives…………………………………………..………….3 2.3 Specifications………………………………………………………….……4 2.4 Design Constraints and Standards……………….…………………….. 5 2.4.1 Battery/Power Consumption……………………………...…….11 2.4.2 Video Streaming………………………………………………....12 2.4.3 Budget Allocation………………………………..……………….13 3 Research……………………………………………………………………….……..14 3.1 Quad Rotor Frame…………………………………………………………14 3.1.1 Quad Rotor Frame……………………………………………….14 3.1.2 Motors………………………………………………………..……16 3.1.3 Propellers……………………………………………….…….......20 3.1.4 Electric Speed Controllers (ESC)……………………………... 21 3.1.5 Flight Controller/ArduPilot……………………………………….22 3.2 Microcontroller………………………………………………..…………….24 3.2.1 PCB………………………………………………………………..26 3.3 Communication Technologies…………………..……………………….. 28 3.3.1 Wi-Fi Module for MSP430……………………………………….30 3.3.2 Ardupilot/MSP430 Communication………………..……………31 3.4 Position Detection Sensors………………………..………………………35 3.4.1 Ultrasonic Sensors………………………..………………………35 3.5 Wi-Fi Camera………………………………………….……………………..36 3.6 GPS…………………………………………………….……………………. 38 3.7 Power Consumption Management…………………………………………41 3.7.1 Batteries…………………………………………………………….43 3.7.2 Power Module ……………………………..………………………46 3.7.3 Power Distribution Board …………………………….…………..47
    [Show full text]
  • Downloaded Model to the Curved Shape of the IRIS+ Belly
    Abstract This project involves the design of a vision-based navigation and guidance system for a quadrotor unmanned aerial vehicle (UAV), to enable the UAV to follow a planned route specified by navigational markers, such as brightly colored squares, on the ground. A commercially available UAV is modified by attaching a camera and an embedded computer called Raspberry Pi. An image processing algorithm is designed using the open-source software library OpenCV to capture streaming video data from the camera and recognize the navigational markers. A guidance algorithm, also executed by the Raspberry Pi, is designed to command with the UAV autopilot to move from the currently recognized marker to the next marker. Laboratory bench tests and flight tests are performed to validate the designs. Fair Use Disclaimer: This document may contain copyrighted material, such as photographs and diagrams, the use of which may not always have been specifically authorized by the copyright owner. The use of copyrighted material in this document is in accordance with the “fair use doctrine”, as incorporated in Title 17 USC S107 of the United States Copyright Act of 1976. I Acknowledgments We would like to thank the following individuals for their help and support throughout the entirety of this project. Project Advisor: Professor Raghvendra Cowlagi II Table of Authorship Section Author Project Work Background Real World Applications AH N/A Research AH N/A Navigation, Guidance, and Control JB N/A GPS AH N/A Python and OpenCV JB, KB N/A System Design Image Processing
    [Show full text]
  • A Step-By-Step Guidance to Build a Drone from Scratch Using Ardupilot APM Navio2 Flight Controller
    A step-by-step guidance to build a drone from scratch using Ardupilot APM Navio2 Flight controller Prepared by Sim Kai Sheng Yew Chang Chern 1 Table of Contents Full Component List ............................................................................................................................... 1 Navio2 Emlid Flight Controller ................................................................................................ 2 Raspberry Pi3 Model B ............................................................................................................ 2 Airframe .................................................................................................................................. 3 Motors 2216/950KV ................................................................................................................ 4 Electronic Speed Controller (ESC) ........................................................................................... 5 Propellers ................................................................................................................................ 6 GNSS receiver with antenna ................................................................................................... 7 Transmitter ............................................................................................................................. 8 Receiver ................................................................................................................................... 8 MicroSD card ..........................................................................................................................
    [Show full text]
  • Implementation of a Trusted I/O Processor on a Nascent Soc-FPGA Based Flight Controller for Unmanned Aerial Systems
    Implementation of a Trusted I/O Processor on a Nascent SoC-FPGA Based Flight Controller for Unmanned Aerial Systems Akshatha J Kini Thesis submitted to the Faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Master of Science in Computer Engineering Cameron D. Patterson, Chair Paul E. Plassmann Lynn A. Abbott February 21, 2018 Blacksburg, Virginia Keywords: SoC, UAV, FPGA, ZYNQ, MicroBlaze, autopilot, ArduPilot, ArduPlane, GPS, Mission Planner, Sensor, Vulnerabilities, Mailbox Copyright 2018, Akshatha J Kini Implementation of a Trusted I/O Processor on a Nascent SoC-FPGA Based Flight Controller for Unmanned Aerial Systems Akshatha J Kini (ABSTRACT) Unmanned Aerial Systems (UAS) are aircraft without a human pilot on board. They are comprised of a ground-based autonomous or human operated control system, an unmanned aerial vehicle (UAV) and a communication, command and control (C3) link be- tween the two systems. UAS are widely used in military warfare, wildfire mapping, aerial photography, etc primarily to collect and process large amounts of data. While they are highly efficient in data collection and processing, they are susceptible to software espionage and data manipulation. This research aims to provide a novel solution to enhance the secu- rity of the flight controller thereby contributing to a secure and robust UAS. The proposed solution begins by introducing a new technology in the domain of flight controllers and how it can be leveraged to overcome the limitations of current flight controllers. The idea is to decouple the applications running on the flight controller from the task of data validation.
    [Show full text]
  • Conceptual Design Document
    Aerospace Senior Projects ASEN 4018 2017 University of Colorado Department of Aerospace Engineering Sciences Senior Projects – ASEN 4018 SHAMU Search and Help Aquatic Mammals UAS Conceptual Design Document 2 October 2017 1.0 Information Project Customers Jean Koster James Nestor 872 Welsh Ct. Louisville, CO 80027 San Francisco, CA Phone: 303-579-0741 Phone: Email: [email protected] Email: [email protected] Team Members Severyn V. Polakiewicz Samuel N. Kelly [email protected] [email protected] 818-358-5785 678-437-6309 Michael R. Shannon Ian B. Barrett [email protected] [email protected] 720-509-9549 815-815-5439 Jesse R. Holton Grant T. Dunbar [email protected] [email protected] 720-563-9777 720-237-6294 George Duong Brandon Sundahl [email protected] [email protected] 720-385-5828 303-330-8634 Benjamin Mellinkoff Justin Norman [email protected] [email protected] 310-562-3928 303-570-5605 Lauren Mcintire [email protected] 267-664-0889 Conceptual Design Assignment Conceptual Design Document 2017 Aerospace Senior Projects ASEN 4018 1.1 List of Acronyms AP Autopilot API Application Programming Interface ARM Advanced RISC Machine A(M)SL Above (Mean) Sea Level CETI Cetacean Echolocation Translation Initiative CLI Command Line Interface CPU Central Processing Unit CONOPS Concept of Operations COTS Commercial Off The Shelf EPS Expanded Polystyrene FBD Functional Block Diagram GCS Ground Control Station GPS Global Positioning System GPU Graphics Processing
    [Show full text]
  • Reef Rover: a Low-Cost Small Autonomous Unmanned Surface Vehicle (USV) for Mapping and Monitoring Coral Reefs
    Article Reef Rover: A Low-Cost Small Autonomous Unmanned Surface Vehicle (USV) for Mapping and Monitoring Coral Reefs George T. Raber 1,* and Steven R. Schill 2,* 1 The University of Southern Mississippi, School of Biological, Environmental, and Earth Sciences, Hattiesburg, MS 39406, USA 2 The Nature Conservancy, Caribbean Division, Coral Gables, FL 33134, USA * Correspondence: [email protected] (G.T.R.); [email protected] (S.R.S.); Tel.: +1-1601-434-9489 (G.T.R.); +1-1435-881-7838 (S.R.S.) Received: 8 March 2019; Accepted: 15 April 2019; Published: 17 April 2019 Abstract: In the effort to design a more repeatable and consistent platform to collect data for Structure from Motion (SfM) monitoring of coral reefs and other benthic habitats, we explore the use of recent advances in open source Global Positioning System (GPS)-guided drone technology to design and test a low-cost and transportable small unmanned surface vehicle (sUSV). The vehicle operates using Ardupilot open source software and can be used by local scientists and marine managers to map and monitor marine environments in shallow areas (<20 m) with commensurate visibility. The imaging system uses two Sony a6300 mirrorless cameras to collect stereo photos that can be later processed using photogrammetry software to create underwater high-resolution orthophoto mosaics and digital surface models. The propulsion system consists of two small brushless motors powered by lithium batteries that follow pre-programmed survey transects and are operated by a GPS-guided autopilot control board. Results from our project suggest the sUSV provides a repeatable, viable, and low-cost (<$3000 USD) solution for acquiring images of benthic environments on a frequent basis from directly below the water surface.
    [Show full text]
  • Autonomous Landing of a Multicopter Using Computer Vision
    Autonomous Landing of a Multicopter Using Computer Vision Thesis of 30 ECTS submitted to the Department of Computer Science in partial fulfillment of the requirements for the degree of Master of Science in Computer Science Joshua Springer Reykjavík University; Department of Computer Science Mälardalen University; School of Innovation, Design, and Engineering June 12, 2020 Acknowledgements I would like to thank my family for their undying love, support, and encouragement which have gotten me this far. My thanks go to Mälardalen University, Reykjavík University, and the Nordic Council, without whose generosity in the MDH Scholarship and the Nordic Master Programme, I would not have had the opportunity to study my passion in two wonderful countries. 2 Abstract Takeoff, normal flight, and even specialized tasks such as taking pictures, are essentially solved problems in autonomous drone flight. This notably excludes landing, which typically requires a pilot because of its inherently risky nature. This project attempts to solve the problem of autonomous drone landing using computer vision and fiducial markers - and specifically does not use GPS as a primary means of navigation during landing. The system described in this thesis extends the functionality of the widely-used, open-source ArduPilot software which runs on many drones today, and which has only primitive functionality for autonomous landing. This system is implemented as a set of ROS modules which interact with ArduPilot for control. It is designed to be easily integrated into existing ArduPilot drone systems through the addition of a companion board and gimbal-mounted camera. Results are presented to evaluate the system’s performance with regard to pose estimation and landing capabilities within Gazebo 9 simulator.
    [Show full text]
  • Using Beagle As a Flight Controller
    Using Beagle as a Flight Controller Open-source hardware Linux computers Proven platform with professional community Integration for real-time control Jason Kridner February 5, 2018 Co-Founder BeagleBoard.org Agenda • Introduction to Beagle • Choosing flight controller hardware • Flight control software options • ArduPilot - MAVLink - APM planner • Building out a quadcopter • Installing ArduPilot • Calibration • Buying parts • Mistakes and questions BeagleBoard.org Roadmap Fanless open computer BeagleBoard $250 Robotics-focused BeagleBone Blue 2016: Extreme power BeagleBoard-X15 2010: Extra MHz/memory $80 BeagleBoard-xM 2008: Personally affordable BeagleBoard 2017: Complete robotics controller BeagleBone Blue $25 2016: BeagleBone Black Wireless uses $50 EAGLE, Wilink8 and Octavo SIP 2017: PocketBeagle breaks out even 2013: Wildly popular smaller Octavo SIP BeagleBone Black Mint tin sized 2011: Bare-bones BeagleBone Smalls mint tin sized BeagleBone PocketBeagle 3 BeagleBone used in many applications • Simple Mobile Robots • Industrial Robots • Network Security • Medical • Citizen Science • Home Automation • Localizing Information • Assistive Technology • LEGO Robotics Robotics Cape • Designed at UCSD by James Strawson • Used in hundreds of student projects • On fourth revision • Supported by ‘libroboticscape’ software – C library – Examples for all major functions • Features – 2-cell LiPo support with balancing and LED power gauge – 9-18V charger input – 4 DC motor & 8 servo outputs, 4 quadrature encoder inputs – 9 axis IMU, barometer –
    [Show full text]
  • Master's Thesis
    MASTER'S THESIS Autonomous Takeoff and Landing for Quadcopters Robert Lindberg 2015 Master of Science in Engineering Technology Space Engineering Luleå University of Technology Department of Computer Science, Electrical and Space Engineering Abstract In this project an automated takeoff and landing system for quadcopters was devised. This will make unmanned aerial vehicles (UAVs) less dependent of human supervision which could improve for example swarms of quadcopters where humans cannot control all in detail. Quadcopters are used due to their mobility and ability to hover over a specific location, useful for surveillance and search missions. The system is self-contained and real time processing is done on board. To make the project possible, software for an onboard computer had to be developed and put on the quadcopter. The onboard computer is controlled from a ground station which can give high level commands such as takeoff, land and change altitude. Experiments were conducted in a laboratory environment to measure the effectiveness of the takeoff, hovering, and landing commands. The parameter used to control the sensor fusion, the time constant in z direction, was found to have an optimal value of 3.0 s. When tracking the desired altitude the root mean square error is in the order of a few centimetres. ii Acknowledgements I would like to thank my supervisor Dr. Jan Carlo Barca at Swarm Robotics Laboratory and Monash University for giving me the opportunity to doing an interesting research project while also experiencing a new country. Dr. Hoam Chung for the expertise and help you have given me throughout the project.
    [Show full text]
  • Circuit Cellar | Issue 358 | May 2020
    SOLUTIONS FOR SMART AGRICULTURE MAY 2020 circuitcellar.com ISSUE 358 CIRCUIT CELLAR | ISSUE 358 | MAY 2020 358 | MAY CELLAR | ISSUE CIRCUIT Inspiring the Evolution of Embedded Design IOT TECHNOLOGIES FEED SMART AGRICULTURE w Datasheet: Mini-ITX and Pico-ITX SBCs w Embedded Software Tool Security | circuitcellar.com Food Delivery Notifier Uses Bluetooth | Intro to Ardupilot and PX4 (Part 2) | Creative Mechanical Ideas for Embedded | Modernizing Antique Clocks | Pest Control System w Broad Market Secure MCUs | Weather Tree Upgrade | Build a SoundFont MIDI Synthesizer (Part 1) w The Future of Linux Security $29 value PCB ASSEMBLY DESIGN-FOR-ASSEMBLY FUNDAMENTALS for getting your PCBs back fast NEW! eBOOK eBOOK bit.ly/fastPCBs | (800) 838-5650 2 CIRCUIT CELLAR • MAY 2020 #358 Issue 358 May 2020 | ISSN 1528-0608 OUR NETWORK CIRCUIT CELLAR® (ISSN 1528-0608) is published monthly by: KCK Media Corp. PO Box 417, Chase City, VA 23924 Periodical rates paid at Chase City, VA, and additional offices. One-year (12 issues) subscription rate US and possessions $50, Canada $65, Foreign/ ROW $75. All subscription orders payable in US funds only via Visa, MasterCard, international postal money order, or check drawn on US bank. SUBSCRIPTION MANAGEMENT Online Account Management: circuitcellar.com/account Renew | Change Address/E-mail | Check Status SUPPORTING COMPANIES CUSTOMER SERVICE E-mail: [email protected] Advanced Assembly 1 Phone: 434.533.0246 Mail: Circuit Cellar, PO Box 417, Chase City, VA 23924 All Electronics Corp. 77 Postmaster: Send address changes to Circuit Cellar, PO Box 417, Chase City, VA 23924 CCS, Inc. 77 NEW SUBSCRIPTIONS easyOEM 49 circuitcellar.com/subscription HuMANDATA, Ltd.
    [Show full text]