Whether you are an electronics enthusiast or engineering professional, this book provides the reader with an introduction to the use of the CadSoft’s EAGLE PCB design software package.
EAGLE is a user-friendly, powerful and affordable software package for the efficient design of printed circuit boards. It offers the same power and functionality to all users, at a smaller cost than its competitors. A free version of EAGLE is available to enthusiasts for their own use.
EAGLE can be used on the main computing platforms including: Microsoft Windows (XP, Vista or Windows 7); Linux (based on kernel 2.6 or above) and Apple Mac OS X (Version 10.6 or higher). Any hardware that supports these software platforms will run the EAGLE application.
The book is intended for anyone who wants an introduction to the capabilities of EAGLE. The reader may be a novice at PCB design or a professional wanting to learn about EAGLE, with the intention of migrating from another CAD package.
This book will quickly allow you to:
obtain an overview of the main modules of EAGLE: the schematic editor; layout editor and autorouter in one single interface;
learn to use some of the basic commands in the schematic and layout editor modules of EAGLE;
apply your knowledge of EAGLE commands to a small project;
learn more about some of the advanced concepts of EAGLE and its capabilities;
understand how EAGLE relates to the stages of PCB manufacture;
create a complete project, from design through to PCB fabrication. The project discussed in the book is a popular, proven design from the engineering team at Elektor.
After reading this book while practicing some of the examples, and completing the projects, the reader should feel confident about taking on more challenging endeavors.
The Internet of Things is rapidly gaining interest, and that has fueled the development of the Edison. A tiny computer, the size of a postage stamp, with a lot of power and built-in wireless communication capabilities.
In this eBook we will help you get up-to-speed with the Edison, by installing the software both on the Edison as well as on your Windows PC. We will use the Edison Arduino break-out board because it is easy to work with. We will discuss Linux, Arduino C++ and Python, and show examples of how the Edison can interface with other hardware. We will use Wi-Fi and Bluetooth to set up wireless connections, and show you a trick to program sketches over Wi-Fi.
Once you have completed this book your Edison will be up and running with the latest software version, and you will have sufficient knowledge of both hardware and software to start making your own applications. You will even be able to program the Edison over USB and wireless both in Arduino C++ and Python.
This is not a projects eBook, but a toolbox that will allow you to explore the wonderful world of the Intel Edison!
Develop your own custom home automation devices
Espressif's ESP8266 and ESP32 microcontrollers have brought DIY home automation to the masses. However, not everyone is fluent in programming these microcontrollers with Espressif's C/C++ SDK, the Arduino core, or MicroPython. This is where ESPHome comes into its own: with this project, you don’t program your microcontroller but configure it.
This book demonstrates how to create your own home automation devices with ESPHome on an ESP32 microcontroller board. You’ll learn how to combine all kinds of electronic components and automate complex behaviours. Your devices can work completely autonomously, and connect over Wi-Fi to your home automation gateways such as Home Assistant or MQTT broker.
By the end of this book, you will be able to create your own custom home automation devices the way you want. Thanks to ESPHome and the ESP32, this is within everyone’s grasp.
Set up an ESPHome development environment and create maintainable configurations
Use buttons and LEDs
Sound a buzzer and play melodies
Read measurements from various types of sensors
Communicate over a short distance with NFC, infrared light, and Bluetooth Low Energy
Show information on various types of displays
Downloads
Software
Mastering the Language and the Development Platform
Many people would like to learn Java but getting started is not easy since programming with Java requires at least two things: mastering the programming language and the development environment. With the help of many examples, this book shows how the language is structured. In addition, it employs the Eclipse development environment as an example of a powerful tool to teach developing Java programs.
In Basics, the first part of the book, you acquire your Java and Eclipse basic knowledge. This part lays the programming foundations, gives you an overview of Java technology, and shows you what is special about object-oriented programming.
In the second part called Java Language, everything revolves around the subtleties of the Java language and this is where the first small Java applications are created, aided by a fine blend of the knowledge part and practical exercises.
Java Technology is both the name and the focus of the third part which also introduces you to the rules to observe when programming, what class libraries are and what advantages they have. In addition, you will learn how to test programs, what algorithms are, and how to program them.
The fourth part, Java Projects, enables you to apply all the previous elements in an application with a graphical user interface. The project shows how to develop a larger application piece by piece with the Eclipse development environment. The Appendix concludes with a section on frequent errors that can occur when working with Eclipse, and a Glossary.
STmicroelectronics’ wireless IoT & wearable sensor development kit
‘SensorTile.box’ is a portable multi-sensor circuit board housed in a plastic box and developed by STMicroelectronics. It is equipped with a high-performance 32-bit ARM Cortex-M4 processor with DSP and FPU, and various sensor modules, such as accelerometer, gyroscope, temperature sensor, humidity sensor, atmospheric pressure sensor, microphone, and so on. SensorTile.box is ready to use with wireless IoT and Bluetooth connectivity that can easily be used with an iOS or Android compatible smartphone, regardless of the level of expertise of the users. SensorTile.box is shipped with a long-life battery and all the user has to do is connect the battery to the circuit to start using the box.
The SensorTile.box can be operated in three modes: Basic mode, Expert mode, and Pro mode. Basic mode is the easiest way of using the box since it is pre-loaded with demo apps and all the user has to do is choose the required apps and display or plot the measured data on a smartphone using an app called STE BLE Sensor. In Expert mode users can develop simple apps using a graphical wizard provided with the STE BLE Sensor. Pro mode is the most complex mode allowing users to develop programs and upload them to the SensorTile.box.
This book is an introduction to the SensorTile.box and includes the following:
Brief specifications of the SensorTile.box; description of how to install the STE BLE Sensor app on an iOS or Android compatible smartphone required to communicate with the box.
Operation of the SensorTile.box in Basic mode is described in detail by going through all of the pre-loaded demo apps, explaining how to run these apps through a smartphone.
An introduction to the Expert mode with many example apps developed and explained in detail enabling users to develop their own apps in this mode. Again, the STE BLE Sensor app is used on the smartphone to communicate with the SensorTile.box and to run the developed apps.
The book then describes in detail how to upload the sensor data to the cloud. This is an important topic since it allows the sensor measurements to be accessed from anywhere with an Internet connection, at any time.
Finally, Pro mode is described in detail where more experienced people can use the SensorTile.box to develop, debug, and test their own apps using the STM32 open development environment (STM32 ODE). The Chapter explains how to upload the developed firmware to the SensorTile.box using several methods. Additionally, the installation and use of the Unicleo-GUI package is described with reference to the SensorTile.box. This PC software package enables all of the SensorTile.box sensor measurements to be displayed or plotted in real time on the PC.
A Beginner's Guide to AI and Edge Computing
Artificial Intelligence (AI) is now part of our daily lives. With companies developing low-cost AI-powered hardware into their products, it is now becoming a reality to purchase AI accelerator hardware at comparatively very low costs. One such hardware accelerator is the Hailo module which is fully compatible with the Raspberry Pi 5. The Raspberry Pi AI Kit is a cleverly designed hardware as it bundles an M.2-based Hailo-8L accelerator with the Raspberry Pi M.2 HAT+ to offer high speed inferencing on the Raspberry Pi 5. Using the Raspberry Pi AI Kit, you can build complex AI-based vision applications, running in real-time, such as object detection, pose estimation, instance segmentation, home automation, security, robotics, and many more neural network-based applications.
This book is an introduction to the Raspberry Pi AI Kit, and it is aimed to provide some help to readers who are new to the kit and wanting to run some simple AI-based visual models on their Raspberry Pi 5 computers. The book is not meant to cover the detailed process of model creation and compilation, which is done on an Ubuntu computer with massive disk space and 32 GB memory. Examples of pre-trained and custom object detection are given in the book.
Two fully tested and working projects are given in the book. The first project explains how a person can be detected and how an LED can be activated after the detection, and how the detection can be acknowledged by pressing an external button. The second project illustrates how a person can be detected, and how this information can be passed to a smart phone over a Wi-Fi link, as well as how the detection can be acknowledged by sending a message from the smartphone to your Raspberry Pi 5.
Build your own AI microcontroller applications from scratch
The MAX78000FTHR from Maxim Integrated is a small development board based on the MAX78000 MCU. The main usage of this board is in artificial intelligence applications (AI) which generally require large amounts of processing power and memory. It marries an Arm Cortex-M4 processor with a floating-point unit (FPU), convolutional neural network (CNN) accelerator, and RISC-V core into a single device. It is designed for ultra-low power consumption, making it ideal for many portable AI-based applications.
This book is project-based and aims to teach the basic features of the MAX78000FTHR. It demonstrates how it can be used in various classical and AI-based projects. Each project is described in detail and complete program listings are provided. Readers should be able to use the projects as they are, or modify them to suit their applications. This book covers the following features of the MAX78000FTHR microcontroller development board:
Onboard LEDs and buttons
External LEDs and buttons
Using analog-to-digital converters
I²C projects
SPI projects
UART projects
External interrupts and timer interrupts
Using the onboard microphone
Using the onboard camera
Convolutional Neural Network
Learn the basics of designing and making things with Inventables' software (Easel) and 3D carving machines (X-Carve and Carvey)
This book was written for people who have never carved before. It teaches the basics of designing and making things with Inventables' software (Easel) and 3D carving machines (X-Carve and Carvey). It showcases five step-by-step projects you can build yourself as a beginner, including an inspiration tile, kitchen cutting board, custom block stamp, fidget spinner, and balsa wood glider. The book also features a gallery of aspirational projects, like an electric guitar and a box joint toolbox, to show what else is possible through 3D carving. The design files and instructions for these more complex projects can be found on the Inventables website.
Projects Included
Participate in the world's largest mosaic tile wall
Build a glider to your own specifications
Create your own inlay cutting boards
Carve a fidget spinner toy
Craft wooden 3D stamps you can use to create your own greeting cards
EAGLE – the “Easily Applicable Graphical Layout Editor“ is a professional-grade CAD (computer aided design) software package for the design and drafting of electronic schematics as well as the design and fabrication of printed circuit boards (PCBs).
This Advanced User Guide provides the experienced EAGLE user with insight into using some of the more advanced features of EAGLE software. It is not a guide to teach the reader the basic concepts of EAGLE, nor does it discuss the ‘how to’ of the EAGLE interface and the simpler operations and commands of the software. That is the purpose of the author’s previous title EAGLE V6 Getting Started Guide also published by Elektor.
This eBook is intended as an enduring document covering the more advanced modules, commands, and functions which make up EAGLE. It is hoped that this eBook will provide a quick, succinct reference to assist with more complex applications and uses of EAGLE – an ‘EAGLE User’s Companion’, if you like.
Complementing the EAGLE Advanced User Guide, the EAGLE User Language manual is included in this eBook in unabridged form, reproduced with permission of CadSoft GmbH.
At the time of writing, the material in this eBook covers version 7 of the EAGLE software suite.
Two reasons can be identified for the immense success of the Arduino platform. First, the cheap, ready to go processor board greatly simplifies the introduction to hardware. The second success factor is the free and open-source programming suite that does not require an installation procedure.
Simple entry-level examples ensure rapid successes. Complex selection procedures for parameters like the microprocessor version or interface settings are not required. The first sample programs can be uploaded to the Arduino board, and tested, in a matter of minutes.
The Arduino user is supported by an array of software libraries. However, the daily increasing volume of libraries poses initial problems to the newcomer, and the way ahead may be uncertain after a few entry-level examples. In many cases, detailed descriptions are missing, and poorly described projects tend to confuse rather than elucidate. Clear guidance and a single motto are missing, usually owing to the projects having been created by several different persons—all with different aims in mind.
This book represents a different approach. All projects are presented in a systematical manner, guiding into various theme areas. In the coverage of must-know theory great attention is given to practical directions users can absorb, including essential programming techniques like A/D conversion, timers and interrupts—all contained in the hands-on projects. In this way readers of the book create running lights, a wakeup light, fully functional voltmeters, precision digital thermometers, clocks of many varieties, reaction speed meters, or mouse controlled robotic arms. While actively working on these projects the reader gets to truly comprehend and master the basics of the underlying controller technology.
59 Experiments with Arduino IDE and Python
The main aim of this book is to teach the Arduino IDE and MicroPython programming languages in ESP32 based projects, using the highly popular ESP32 DevKitC development board. Many simple, basic, and intermediate level projects are provided in the book using the Arduino IDE with ESP32 DevKitC. All projects have been tested and work. Block diagrams, circuit diagrams, and complete program listings of all projects are given with explanations. In addition, several projects are provided for programming the ESP32 DevKitC using MicroPython. The projects provided in this book are designed to teach the following features of the ESP32 processor:
GPIOs
Touch sensors
External interrupts
Timer interrupts
I²C and I²S
SPI
PWM
ADC
DAC
UART
Hall sensor
Temperature sensor
Infrared controller
Reading and writing to SD card
Reading and writing to flash memory
RTC timer
Chip ID
Security and encryption
Wi-Fi and network programming
Bluetooth BLE programming
Communication mobile devices
Low power design
ESP-IDF programming
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared hardware kit (SKU 18305) is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.
Mastering the Language and the Development Platform
Many people would like to learn Java but getting started is not easy since programming with Java requires at least two things: mastering the programming language and the development environment. With the help of many examples, this book shows how the language is structured. In addition, it employs the Eclipse development environment as an example of a powerful tool to teach developing Java programs.
In Basics, the first part of the book, you acquire your Java and Eclipse basic knowledge. This part lays the programming foundations, gives you an overview of Java technology, and shows you what is special about object-oriented programming.
In the second part called Java Language, everything revolves around the subtleties of the Java language and this is where the first small Java applications are created, aided by a fine blend of the knowledge part and practical exercises.
Java Technology is both the name and the focus of the third part which also introduces you to the rules to observe when programming, what class libraries are and what advantages they have. In addition, you will learn how to test programs, what algorithms are, and how to program them.
The fourth part, Java Projects, enables you to apply all the previous elements in an application with a graphical user interface. The project shows how to develop a larger application piece by piece with the Eclipse development environment. The Appendix concludes with a section on frequent errors that can occur when working with Eclipse, and a Glossary.