For Raspberry Pi, ESP32 and nRF52 with Python, Arduino and Zephyr
Bluetooth Low Energy (BLE) radio chips are ubiquitous from Raspberry Pi to light bulbs. BLE is an elaborate technology with a comprehensive specification, but the basics are quite accessible.
A progressive and systematic approach will lead you far in mastering this wireless communication technique, which is essential for working in low power scenarios.
In this book, you’ll learn how to:
Discover BLE devices in the neighborhood by listening to their advertisements.
Create your own BLE devices advertising data.
Connect to BLE devices such as heart rate monitors and proximity reporters.
Create secure connections to BLE devices with encryption and authentication.
Understand BLE service and profile specifications and implement them.
Reverse engineer a BLE device with a proprietary implementation and control it with your own software.
Make your BLE devices use as little power as possible.
This book shows you the ropes of BLE programming with Python and the Bleak library on a Raspberry Pi or PC, with C++ and NimBLE-Arduino on Espressif’s ESP32 development boards, and with C on one of the development boards supported by the Zephyr real-time operating system, such as Nordic Semiconductor's nRF52 boards.
Starting with a very little amount of theory, you’ll develop code right from the beginning. After you’ve completed this book, you’ll know enough to create your own BLE applications.
Most people are increasingly confronted with the applications of Artificial Intelligence (AI). Music or video ratings, navigation systems, shopping advice, etc. are based on methods that can be attributed to this field.
The term Artificial Intelligence was coined in 1956 at an international conference known as the Dartmouth Summer Research Project. One basic approach was to model the functioning of the human brain and to construct advanced computer systems based on this. Soon it should be clear how the human mind works. Transferring it to a machine was considered only a small step. This notion proved to be a bit too optimistic. Nevertheless, the progress of modern AI, or rather its subspecialty called Machine Learning (ML), can no longer be denied.
In this book, several different systems will be used to get to know the methods of machine learning in more detail. In addition to the PC, both the Raspberry Pi and the Maixduino will demonstrate their capabilities in the individual projects. In addition to applications such as object and facial recognition, practical systems such as bottle detectors, person counters, or a “talking eye” will also be created.
The latter is capable of acoustically describing objects or faces that are detected automatically. For example, if a vehicle is in the field of view of the connected camera, the information 'I see a car!' is output via electronically generated speech. Such devices are highly interesting examples of how, for example, blind or severely visually impaired people can also benefit from AI systems.
Ready-to-use devices and self-built Arduino nodes in the 'The Things Network'
LoRaWAN has developed excellently as a communication solution in the IoT. The Things Network (TTN) has contributed to this. The Things Network was upgraded to The Things Stack Community Edition (TTS (CE)). The TTN V2 clusters were closed towards the end of 2021.
This book shows you the necessary steps to operate LoRaWAN nodes using TTS (CE) and maybe extend the network of gateways with an own gateway. Meanwhile, there are even LoRaWAN gateways suitable for mobile use with which you can connect to the TTN server via your cell phone.
The author presents several commercial LoRaWAN nodes and new, low-cost and battery-powered hardware for building autonomous LoRaWAN nodes. Registering LoRaWAN nodes and gateways in the TTS (CE), providing the collected data via MQTT and visualization via Node-RED, Cayenne, Thingspeak, and Datacake enable complex IoT projects and completely new applications at very low cost.
This book will enable you to provide and visualize data collected with battery-powered sensors (LoRaWAN nodes) wirelessly on the Internet. You will learn the basics for smart city and IoT applications that enable, for example, the measurement of air quality, water levels, snow depths, the determination of free parking spaces (smart parking), and the intelligent control of street lighting (smart lighting), among others.
Learn how to use the ESP32 Microcontroller and MicroPython programming in your future projects!
The project book, written by well-known Elektor author Dogan Ibrahim, holds many software- and hardware-based projects especially developed for the MakePython ESP32 Development Kit. The kit comes with several LEDs, sensors, and actuators. The kit will help you acquire the basic knowledge to create IoT projects.
The book’s fully evaluated projects feature all the supplied components. Each project includes a block diagram, a circuit diagram, a full program listing, and a complete program description.
Included in the kit
1x MakePython ESP32 development board with LCD
1x Ultrasonic ranging module
1x Temperature and humidity sensor
1x Buzzer module
1x DS18B20 module
1x Infrared module
1x Potentiometer
1x WS2812 module
1x Sound sensor
1x Vibration sensor
1x Photosensitive resistance module
1x Pulse sensor
1x Servo motor
1x USB cable
2x Button
2x Breadboard
45x Jumper wire
10x Resistor 330R
10x LED (Red)
10x LED (Green)
1x Project book (206 pages)
46 Projects in the Book
LED Projects
Blinking LED
Flashing SOS
Blinking LED – using a timer
Alternately flashing LEDs
Button control
Changing the LED flashing rate using pushbutton interrupts
Chasing-LEDs
Binary-counting LEDs
Christmas lights (random-flashing 8 LEDs)
Electronic dice
Lucky day of the week
Pulsewidth Modulation (PWM) Projects
Generate a 1000-Hz PWM waveform with 50% duty cycle
LED brightness control
Measuring the frequency and duty cycle of a PWM waveform
Melody maker
Simple electronic organ
Servo motor control
Servo motor DS18B20 thermometer
Analog To Digital Converter (ADC) Projects
Voltmeter
Plotting the analog input voltage
ESP32 internal temperature sensor
Ohmmeter
Photosensitive resistance module
Digital To Analog Converter (DAC) Projects
Generating fixed voltages
Generating a sawtooth-wave signal
Generating a triangular-wave signal
Arbitrary periodic waveform
Generating a sinewave signal
Generating accurate sinewave signal using timer interrupts
Using The OLED Display
Seconds counter
Event counter
DS18B20 OLED based digital thermometer
ON-OFF temperature controller
Measuring the temperature and humidity
Ultrasonic distance measurement
Height of a person (stadiometer)
Heart rate (pulse) measurement
Other Sensors Supplied with the Kit
Theft alarm
Sound-activated light
Infrared obstacle avoidance with buzzer
WS2812 RGB LED ring
Timestamping temperature and humidity readings
Network Programming
Wi-Fi scanner
Remote control from the Internet browser (using a smartphone or PC) – Web Server
Storing temperature and humidity data in the Cloud
Low-Power Operation
Using a timer to wake up the processor
Architecture, Programming and Applications
The MSP430 is a popular family of microcontrollers from Texas Instruments. In this book we will work with the smallest type, which is the powerful MSP430G2553. We will look at the capabilities of this microcontroller in detail, as it is well-suited for self-made projects because it is available in a P-DIP20 package.
We will take a closer look at the microcontroller and then build, step by step, some interesting applications, including a 'Hello World' blinking LED and a nice clock application, which can calculate the day of the week based on the date.
You also will learn how to create code for the MSP microcontroller in assembler. In addition to that, we will work with the MSP-Arduino IDE, which makes it quite easy to create fast applications without special in-depth knowledge of the microcontrollers.
All the code used in the book is available for download from the Elektor website.
Architecture, Programming and Applications
The MSP430 is a popular family of microcontrollers from Texas Instruments. In this book we will work with the smallest type, which is the powerful MSP430G2553. We will look at the capabilities of this microcontroller in detail, as it is well-suited for self-made projects because it is available in a P-DIP20 package.
We will take a closer look at the microcontroller and then build, step by step, some interesting applications, including a 'Hello World' blinking LED and a nice clock application, which can calculate the day of the week based on the date.
You also will learn how to create code for the MSP microcontroller in assembler. In addition to that, we will work with the MSP-Arduino IDE, which makes it quite easy to create fast applications without special in-depth knowledge of the microcontrollers.
All the code used in the book is available for download from the Elektor website.
An Ultra-Rapid Programming Course
This book serves as the very first step to for novices to learn Python programming. The book is divided into ten chapters. In the first chapter, readers are introduced to the basics of Python. It has the detailed instructions for installation on various platforms such as macOS, Windows, FreeBSD, and Linux. It also covers the other aspects of Python programming such as IDEs and Package Manager. The second chapter is where the readers get an opportunity to have a detailed hands-on with Python programming. It covers a group of built-in data structures popularly known as Python Collections. The third chapter covers the important concepts of strings, functions, and recursion.
The fourth chapter focuses on the Object-Oriented Programming with Python. The fifth chapter discusses most commonly used custom data structures such as stack and queue. The sixth chapter spurs the creativity of the readers with Python’s Turtle graphics library. The seventh chapter explores animations and game development using the Pygame library. The eighth chapter covers handling data stored in a variety of file formats. The ninth chapter covers the area of Image processing with Wand library in Python. The tenth and the final chapter presents an array of assorted handy topics in Python.
The entire book follows a step-by-step approach. The explanation of the topic is always followed by a detailed code example. The code examples are also explained in suitable detail and they are followed by the output in the form of text or screenshot wherever possible. Readers will become comfortable with Python programming language by closely following the concepts and the code examples in this book. The book also has references to external resources for readers to explore further.
A download of the software code, and links to tutorial videos can be found on the Elektor website.
Program and build RPi Pico-based ham station utilities, tools, and instruments
Although much classical HF and mobile equipment is still in use by large numbers of amateurs, the use of computers and digital techniques has now become very popular among amateur radio operators. Nowadays, anyone can purchase a €5 Raspberry Pi Pico microcontroller board and develop many amateur radio projects using the “Pico” and some external components. This book is aimed at amateur radio enthusiasts, Electronic Engineering students, and anyone interested in learning to use the Raspberry Pi Pico to shape their electronic projects. The book is suitable for beginners in electronics as well as for those with wide experience.
Step-by-step installation of the MicroPython programming environment is described. Some knowledge of the Python programming language is helpful to be able to comprehend and modify the projects given in the book. The book introduces the Raspberry Pi Pico and gives examples of many general-purpose, software-only projects that familiarize the reader with the Python programming language. In addition to the software-only projects tailored to the amateur radio operator, Chapter 6 in particular presents over 36 hardware-based projects for “hams”, including:
Station mains power on/off control
Radio station clock
GPS based station geographical coordinates
Radio station temperature and humidity
Various waveform generation methods using software and hardware (DDS)
Frequency counter
Voltmeter / ammeter / ohmmeter / capacitance meter
RF meter and RF attenuators
Morse code exercisers
RadioStation Click board
Raspberry Pi Pico based FM radio
Using Bluetooth and Wi-Fi with Raspberry Pi Pico
Radio station security with RFID
Audio amplifier module with rotary encoder volume control
Morse decoder
Using the FS1000A TX-RX modules to communicate with Arduino
AVR Architecture and Programming An in-depth look at the 8-bit AVR architecture found in ATtiny and ATmega microcontrollers, mainly from a software and programming point of view. Explore the AVR architecture using C and assembly language in Microchip Studio (formerly Atmel Studio) with ATtiny microcontrollers. Learn the details of how AVR microcontrollers work internally, including the internal registers and memory map of ATtiny devices. Program ATtiny microcontrollers using an Atmel-ICE programmer/debugger, or use a cheap hobby programmer, or even an Arduino Uno as a programmer. Most code examples can be run using the Microchip Studio AVR simulator. Learn to write programs for ATtiny microcontrollers in assembly language. See how assembly language is converted to machine code instructions by the assembler program. Find out how programs written in the C programming language end up as assembly language and finally as machine code instructions. Use the Microchip Studio debugger in combination with a hardware USB programmer/debugger to test assembly and C language programs, or use the Microchip Studio AVR simulator. DIP packaged ATtiny microcontrollers are used in this volume for easy use on electronic breadboards, targeting mainly the ATtiny13(A) and ATtiny25/45/85. Learn about instruction timing and clocks in AVR microcontrollers using ATtiny devices. Be on your way to becoming an AVR expert with advanced debugging and programming skills.
TINA Design Suite is a professional, powerful and affordable circuit simulator. It is a circuit designer and PCB design software package for analysing, designing, and real-time testing of analogue, digital, IBIS, VHDL, Verilog, Verilog AMS, SystemC, MCU, and mixed electronic circuits and their PCB layouts.
In this book, top-selling Elektor author, Prof. Dr. Dogan Ibrahim aims to teach the design and analysis of electrical and electronic circuits and develop PCB boards using both TINA and TINACloud. The book is aimed at electrical/electronic engineers, undergraduate electronic/electrical engineering students at technical colleges and universities, postgraduate and research students, teachers, and hobbyists. Many tested and working simulation examples are provided covering most fields of analogue and digital electrical/electronic engineering. These include AC and DC circuits, diodes, zener diodes, transistor circuits, operational amplifiers, ladder diagrams, 3-phase circuits, mutual inductance, rectifier circuits, oscillators, active and passive filter circuits, digital logic, VHDL, MCUs, switch-mode power supplies, PCB design, Fourier series, and spectrum. Readers do not need to have any programming experience unless they wish to simulate complex MCU circuits.
ModbusRTU and ModbusTCP examples with the Arduino Uno and ESP8266
Introduction to PLC programming with OpenPLC, the first fully open source Programmable Logic Controller on the Raspberry Pi, and Modbus examples with Arduino Uno and ESP8266
PLC programming is very common in industry and home automation. This book describes how the Raspberry Pi 4 can be used as a Programmable Logic Controller. Before taking you into the programming, the author starts with the software installation on the Raspberry Pi and the PLC editor on the PC, followed by a description of the hardware.
You'll then find interesting examples in the different programming languages complying with the IEC 61131-3 standard. This manual also explains in detail how to use the PLC editor and how to load and execute the programs on the Raspberry Pi. All IEC languages are explained with examples, starting with LD (Ladder Diagram) over ST (Structured Control Language) to SFC (Special Function Chart). All examples can be downloaded from the author's website.
Networking gets thorough attention too. The Arduino Uno and the ESP8266 are programmed as ModbusRTU or ModbusTCP modules to get access to external peripherals, reading sensors and switching electrical loads. I/O circuits complying with the 24 V industry standard may also be of interest for the reader.
The book ends with an overview of commands for ST and LD. After reading the book, the reader will be able to create his own controllers with the Raspberry Pi.
ModbusRTU and ModbusTCP examples with the Arduino Uno and ESP8266
Introduction to PLC programming with OpenPLC, the first fully open source Programmable Logic Controller on the Raspberry Pi, and Modbus examples with Arduino Uno and ESP8266
PLC programming is very common in industry and home automation. This book describes how the Raspberry Pi 4 can be used as a Programmable Logic Controller. Before taking you into the programming, the author starts with the software installation on the Raspberry Pi and the PLC editor on the PC, followed by a description of the hardware.
You'll then find interesting examples in the different programming languages complying with the IEC 61131-3 standard. This manual also explains in detail how to use the PLC editor and how to load and execute the programs on the Raspberry Pi. All IEC languages are explained with examples, starting with LD (Ladder Diagram) over ST (Structured Control Language) to SFC (Special Function Chart). All examples can be downloaded from the author's website.
Networking gets thorough attention too. The Arduino Uno and the ESP8266 are programmed as ModbusRTU or ModbusTCP modules to get access to external peripherals, reading sensors and switching electrical loads. I/O circuits complying with the 24 V industry standard may also be of interest for the reader.
The book ends with an overview of commands for ST and LD. After reading the book, the reader will be able to create his own controllers with the Raspberry Pi.
A Handbook on DIY
Nowadays, security problems are rarely properly solved or correctly addressed. Electronic security is only part of the chain in making a system secure. Electronic security is usually addressed as network or software security, neglecting other aspects, but the chain is only as strong as its weakest link.
This book is about electronic hardware security, with an emphasis on problems that you can solve on a shoestring DIY budget. It deals mostly with secure communications, cryptosystems, and espionage. You will quickly appreciate that you can’t simply buy a trustworthy and reliable cryptosystem off the shelf. You will then realise that this applies equally to individuals, corporations, and governments.
If you want to increase your electronic security awareness in a world already overcrowded with networks of microphones and cameras, this is a book for you. Furthermore, if you want to do something DIY by designing and expanding upon simple electronic systems, please continue reading. Some of the devices described are already published as projects in the Elektor magazine. Some are still ideas yet to be worked out.
Complexity is the main enemy of security, so we'll try to keep to simple systems. Every chapter will analyse real-life espionage events or at least several hypothetical scenarios that will hopefully spark your imagination. The final goal is to build a security-conscious mindset (or “to get into a head of a spy”) which is necessary to recognise possible threats beforehand, to design a truly secure system.
Don’t bother reading if:
you think you and your secrets are 100% safe and secure
you think somebody else can effectively handle your security
you think conspiracy theories only exist in theory – Telefunken’s masterpiece the “FS-5000 Harpoon” was built on one!
Some Highlights from the contents Surround-sound decoder Compact amp Sampling rate converter Battery powered preamplifier Titan 2000 amplifier Crescendo Millennium amplifier Audio-DAC/ADC IR-S/PDFI receiver and transmitter High-End Power Amp Hi-fi Wireless Headset Paraphase Tone Control and more… Using Adobe Reader you are able to browse and search the articles on your computer, as well as print texts, circuit diagrams and PCB layouts.
Measuring conducted emission is the simplest and most affordable method of getting some indication of whether a design can meet EMI/EMC requirements. A Line Impedance Stabilization Network (LISN) is an indispensable part of an EMC pre-compliance test setup.
In cooperation with Würth Elektronik, Elektor has developed a 5 µH, 50 Ω Dual DC LISN that supports voltages up to 60 V and currents up to 10 A.
The instrument measures RF interferences on both channels (the power supply) by means of 5-μH blocking inductances. The internal 10-dB attenuation network – one in each channel – contains a 3rd-order high-pass filter with a cutoff frequency of 9 kHz to protect the input of instruments like a spectrum analyzer from potentially harmful DC voltages or low frequencies coming from the EUT (Equipment Under Test).
Specifications
RF path
Channels
2 (with clamping diodes)
Bandwidth
150 kHz – 200 MHz
Inductance
5 μH || 50 Ω
Internal attenuation
10 dB
Connectors
SMA
DC path
Max. current
< 10 ADC
Max. voltage
< 60 VDC
DC resistance
< 2 x 70 mΩ
PCB size
94.2 x 57.4 mm
Connectors
4-mm banana
Hammond enclosure
Type
1590N
Dimensions
121 x 66 x 40 mm
Included
1x 4-layer PCB with all SMT parts fitted
1x pre-drilled enclosure with ready-printed front panel layout
5x gold-plated, insulated, 4-mm banana sockets, rated for 24 A, 1 kV
1x Hammond enclosure 1590N1, Aluminum (Die-Cast Alloy)
More Info
Project on Elektor Labs: Dual DC LISN for EMC pre-compliance testing
Elektor 9-10/2021: EMC Pre-Compliance Test for Your DC-Powered Project (Part 1)
Elektor 11-12/2021: EMC Pre-Compliance Test for Your DC-Powered Project (Part 2)
An Introduction to RISC-V
RISC-V is an Instruction Set Architecture (ISA) that is both free and open. This means that the RISC-V ISA itself does not require a licensing fee, although individual implementations may do so. The RISC-V ISA is curated by a non-profit foundation with no commercial interest in products or services that use it, and it is possible for anyone to submit contributions to the RISC-V specifications. The RISC-V ISA is suitable for applications ranging from embedded microcontrollers to supercomputers.
This book will first describe the 32-bit RISC-V ISA, including both the base instruction set as well as the majority of the currently-defined extensions. The book will then describe, in detail, an open-source implementation of the ISA that is intended for embedded control applications. This implementation includes the base instruction set as well as a number of standard extensions.
After the description of the CPU design is complete the design is expanded to include memory and some simple I/O. The resulting microcontroller will then be implemented in an affordable FPGA development board (available from Elektor) along with a simple software application so that the reader can investigate the finished design.
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
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
A Reference and User Guide for the Arduino Mega 2560 Hardware and Firmware
A manual providing up-to-date hardware information for the Arduino Mega 2560.
The Arduino Mega 2560 is an upgrade to the popular Arduino Uno board, providing more pins, serial ports and memory. Arduino is the easy to use open-source electronics platform used by hobbyists, makers, hackers, experimenters, educators and professionals.
Get all the information that you need on the hardware and firmware found on Arduino Mega 2560 boards in this handy reference and user guide. Ideal for the workbench or desktop. This manual covers the Arduino Mega 2560 hardware and firmware, and is a companion volume to the Ultimate Arduino Uno Hardware Manual, which covers the Arduino Uno hardware and firmware.
Contains all of the Arduino Mega 2560 hardware information in one place
Covers Arduino / Genuino Mega 2560 revision 3 and earlier boards
Easily find hardware technical specifications with explanations
Pin reference chapter with interfacing examples
Diagrams and illustrations for easy reference to pin functions and hardware connections
Learn to back up and restore firmware on the board, or load new firmware
Basic fault finding and repair procedures for Arduino Mega 2560 boards
Power supply circuits simplified and explained
Mechanical dimensions split into five easy to reference diagrams
Contains circuit diagrams, parts list and board layout to easily locate components
A chapter on shield compatibility explains how shields work across different Arduino boards
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
Projects with Thonny-IDE, uPyCraft-IDE, and ESP32
The 'Python' programming language has enjoyed an enormous upswing in recent years. Not least, various single-board systems such as the Raspberry Pi have contributed to its popularity. But Python has also found widespread use in other fields, such as artificial intelligence (AI) or machine learning (ML). It is obvious, therefore, to use Python or the 'MicroPython' variant for use in SoCs (Systems on Chip) as well.
Powerful controllers such as the ESP32 from Espressif Systems offer excellent performance as well as Wi-Fi and Bluetooth functionality at an affordable price. With these features, the Maker scene has been taken by storm. Compared to other controllers, the ESP32 has a significantly larger flash and SRAM memory, as well as a much higher CPU speed. Due to these characteristics, the chip is not only suitable for classic C applications, but also for programming with MicroPython.
This book introduces the application of modern one-chip systems. In addition to the technical background, the focus is on MicroPython itself. After the introduction to the language, the programming skills learned are immediately put into practice. The individual projects are suitable for use in the laboratory as well as for everyday applications. So, in addition to the actual learning effect, the focus is also on the joy of building complete and useful devices. By using laboratory breadboards, circuits of all kinds can be realized with little effort, turning the testing and debugging of the 100% homebrew projects into an instructive pleasure.
The various applications, such as weather stations, digital voltmeters, ultrasound range finders, RFID card readers or function generators, make the projects presented ideally suited for practical courses or subject and study work in the natural sciences, or in science and technology classes.
Develop innovative hardware-based projects in C
The Raspberry Pi has traditionally been programmed using Python. Although this is a very powerful language, many programmers may not be familiar with it. C on the other hand is perhaps the most commonly used programming language and all embedded microcontrollers can be programmed using it.
The C language is taught in most technical colleges and universities and almost all engineering students are familiar with using it with their projects. This book is about using the Raspberry Pi with C to develop a range of hardware-based projects. Two of the most popular C libraries, wiringPi and pigpio are used.
The book starts with an introduction to C and most students and newcomers will find this chapter invaluable. Many projects are provided in the book, including using Wi-Fi and Bluetooth to establish communication with smartphones.
Many sensor and hardware-based projects are included. Both wiringPi and pigpio libraries are used in all projects. Complete program listings are given with full explanations. All projects have been fully tested and work.
The following hardware-based projects are provided in the book:
Using sensors
Using LCDs
I²C and SPI buses
Serial communication
Multitasking
External and timer interrupts
Using Wi-Fi
Webservers
Communicating with smartphones
Using Bluetooth
Sending data to the cloud
Program listings of all Raspberry Pi projects developed in this book are available on the Elektor website. Readers can download and use these programs in their projects. Alternatively, they can customize them to suit their applications.
A Reference and User Guide for the Arduino Uno Hardware and Firmware
A manual providing up-to-date hardware information for the popular Arduino Uno, the easy to use open-source electronics platform used by hobbyists, makers, hackers, experimenters, educators and professionals.
Get all the information that you need on the hardware and firmware found on Arduino Uno boards in this handy reference and user guide.
ldeal for the workbench or desktop
Contains all of the Arduino Uno hardware information in one place
Covers Arduino / Genuino Uno revision 3 and earlier boards
Easily find hardware technical specifications with explanations
Pin reference chapter with interfacing examples
Diagrams and illustrations for easy reference to alternate pin functions and hardware connections
Learn to back up and restore firmware on the board, or load new firmware
Basic fault finding and repair procedures for Arduino Uno boards
Power supply circuits simplified and explained
Mechanical dimensions split into five easy to reference diagrams
Contains circuit diagrams, parts list and board layout reference to easily locate components
Program, build, and master over 50 projects with MicroPython and the RP2040 microprocessor The Raspberry Pi Pico is a high-performance microcontroller module designed especially for physical computing. Microcontrollers differ from single-board computers, like the Raspberry Pi 4, in not having an operating system. The Raspberry Pi Pico can be programmed to run a single task very efficiently within real-time control and monitoring applications requiring speed. The ‘Pico’ as we call it, is based on the fast, efficient, and low-cost dual-core ARM Cortex-M0+ RP2040 microcontroller chip running at up to 133 MHz and sporting 264 KB of SRAM, and 2 MB of Flash memory. Besides its large memory, the Pico has even more attractive features including a vast number of GPIO pins, and popular interface modules like ADC, SPI, I²C, UART, and PWM. To cap it all, the chip offers fast and accurate timing modules, a hardware debug interface, and an internal temperature sensor. The Raspberry Pi Pico is easily programmed using popular high-level languages such as MicroPython and or C/C++. This book is an introduction to using the Raspberry Pi Pico microcontroller in conjunction with the MicroPython programming language. The Thonny development environment (IDE) is used in all the projects described. There are over 50 working and tested projects in the book, covering the following topics: Installing the MicroPython on Raspberry Pi Pico using a Raspberry Pi or a PC Timer interrupts and external interrupts Analogue-to-digital converter (ADC) projects Using the internal temperature sensor and external temperature sensor chips Datalogging projects PWM, UART, I²C, and SPI projects Using Wi-Fi and apps to communicate with smartphones Using Bluetooth and apps to communicate with smartphones Digital-to-analogue converter (DAC) projects All projects given in the book have been fully tested and are working. Only basic programming and electronics experience is required to follow the projects. Brief descriptions, block diagrams, detailed circuit diagrams, and full MicroPython program listings are given for all projects described. Readers can find the program listings on the Elektor web page created to support the book.