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.
Practical Introduction to 3D Modeling from Enclosure to Front Panel
Embedding a vintage component, creating a professional looking home for a circuit board, or even designing a complex apparatus complete with a chassis – these and many other challenges turn into a stimulating pleasure with FreeCAD. Once you have internalized the basic processes, there are virtually no limits to your imagination.
Starting to use a new software is never straightforward – especially with a tool as versatile as FreeCAD. Manageable, but at the same time easily usable individual components provide the starting point in this book. Putting these components together later results in assemblies.
In the FreeCAD universe, a workable trajectory is demonstrated. The described procedure is illustrative so the examples are easily applied to custom tasks. The devices were made by the author and illustrated with photos.
Creating a 3D design is requiring some effort but the initial investment pays off soon. Besides the impressive spatial representation of the projects, the extracted drawings yield a solid base for documentation and production. Extended FreeCAD capabilities like the unfolding of sheet metal parts enormously add to efficiency and pushes models forward into practical assembly.
Soon you will definitely not want to do without FreeCAD!
Open-Source-Code mit Arduino IDE und PlatformIO
Autonomes Fahren: GPS, Accelerometer, Gyroskop
PS3-Controller
Mikrocontroller wie der Arduino und Einplatinenrechner wie der Raspberry Pi haben sich zu beliebten Komponenten entwickelt. Dritter im Bunde ist der ESP32 der Firma Espressif. Mikrocontroller dieser Baureihe zeichnen sich durch eine Vielzahl implementierter Funktionen aus, die bei einem Arduino konventioneller Prägung mit einem Atmel-AVR-Mikrocontroller erst mit weiterer Hardware möglich sind. Prominentes Beispiel sind hier die WiFi- und Bluetooth-Funktionalitäten. Gegenüber einem Raspberry Pi zeichnen sie sich durch einen deutlich geringeren Preis aus.
Allgemeine Informationen für die Realisierung eines Roboterauto-Projekts mit dem ESP32 sind leicht zu finden. Dabei handelt es sich aber oft nur um Ausführungen zu einem Teilaspekt, ohne inhaltliche oder funktionale Abstimmung. So ist nicht nur die Beschaffung der benötigten Informationen mühselig und zeitaufwändig, sie kann auch außerordentlich fehlerträchtig sein.
Ansatzpunkt dieses Buches ist, diese Lücke zu schließen. Es geht auf verschiedene Möglichkeiten eines Chassis ein, vermittelt nötige Kenntnisse und führt schrittweise von einer einfachen Motorsteuerung zu einem komplexen sensor- und sprachgesteuerten Roboterauto. Hacks rund um GPS und eine PlayStation 3 runden die Sache ab.
Inhalt
Bei der Reihenfolge der Kapitel wurde versucht – beginnend bei der Darstellung von grundlegenden Informationen – über die Lösung einfacher Aufgaben zu etwas anspruchsvolleren Techniken zu führen.
Der Mikrocontroller ESP32
Die Software erstellen
Die Stromversorgung
Rund um die Hardware
Das Chassis
Der Gleichstrommotor
Kabellose Steuerung über WiFi
Mit Sensoren Hindernisse erkennen
Eine eigene Roboterauto-App
Servo und Lichtsensor
GPS
Accelerometer / Gyroskop
PS3-Controller
Roboterauto-App
Hinweis zur Software
Die Dateien haben das Suffix (.cpp). Grund ist die Entwicklung mit PlatformIO. Mit Copy & Paste sollten sie auch in der Arduino-IDE verwendet werden können.
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.
Dieses Buch nimmt Sie mit auf eine Entdeckungsreise in die Welt der digitalen Elektronik. Nach dem Aufbau einer soliden Wissensbasis hierüber verlagert sich der Schwerpunkt zur programmierbaren Logik. Wie lassen sich mit vorhandenen Bausteinen logische Systeme aufbauen und wie koppelt man sie sicher und störungsfrei an die analoge Außenwelt? Das sind Fragen, die das Buch beantwortet.
Moderne logische Systeme sind so komplex, dass deren Aufbau mit separaten Bauelementen wie einzelnen Gattern, Flipflops, Zählern oder Teilern eine fast unmögliche Aufgabe ist. Deshalb beschäftigt sich das Buch in der zweiten Hälfte mit der programmierbaren Logik in Form von FPGA- und CPLD-ICs. Sie lernen Methoden kennen, die als Brücke zwischen dem klassischen Design und der zeitgemäßen Entwicklung mit FPGA fungieren. Neben dem schematischen FPGA-Entwurf setzt sich das Buch auch mit Sprachen wie Verilog und VHDL auseinander. Das abschließende Projekt, eine Uhr mit Alarmfunktion in Verilog und VHDL, zeigt den praktischen Nutzen der programmierbaren Logik.
Neben den erforderlichen Programmierkenntnissen ist auch der praktische Schaltungsaufbau von Bedeutung. Der Autor erläutert die wesentlichen Bedingungen hierfür, beispielsweise die der erforderlichen Stromversorgung und der optimalen (Analog-)Signalverarbeitung.
Alle in diesem Buch besprochenen Beispiele lassen sich mit der kostenfreien FPGA-Entwicklungsumgebung Quartus von Altera realisieren.
Praktischer Einstieg mit Arduino, GnuRadio und FPGA
Das Thema „Software Defined Radio“ ist facettenreich: Neben der Schaltungstechnik ist auch eine Einarbeitung in die Programmierung von Hardware und PC wichtig. Ein schrittweises Vorgehen erleichtert Ihnen den Einstieg. Mit dem im Buch vorgestellten modularen „RF Bricks“-Konzept werden Sie zum Architekten Ihrer Signalkette. Auf einem Chassis angeordnet gewährleisten die Module einen soliden und gut abgeschirmten Aufbau, den Sie einfach verändern und mit eigenen Ideen anreichern können.
Der skalierbare Aufbau bildet Ihr Blockschaltbild auch mechanisch ab – die so gewonnene Übersicht kann in der Aus- und Weiterbildung nützlich sein. Ein Arduino in Ihrem Chassis kommuniziert nach einigen Anpassungen mit üblichen SDR-Programmen, z. B. SDRCPP, GQRX und CubicSDR auf einer Linux-Plattform. Damit können Sie Ihren Empfänger direkt per Mausklick abstimmen.
Wenn Sie Blockschaltbilder mögen, ist GnuRadio ein natürlicher Partner der „RF Bricks“. Mit einem selbst programmierten Python-Block gelingt Ihnen in GnuRadio die Fernsteuerung Ihres Empfängers. Im GnuRadio-Universum können Sie Ihre GUI stufenweise ausbauen, behalten dabei aber immer volle Kontrolle über die inneren Abläufe des Programms.
Mit einem FPGA können zeitaufwändige Operationen auch direkt in die Hardware verlagert werden. Sie bauen stufenweise einen Doppelsuperhet auf und entwickeln die Filterkoeffizienten für FIR-Filter mit Scilab. Das in VHDL realisierte Weaver-Schema rundet diesen Empfänger ab, der mit hoher Empfindlichkeit und Dynamik aufwarten kann.
Mit dem gewonnen Überblick und Ihrer neuen Hardware können Sie die einzelnen Aspekte des Themenkomplexes SDR beliebig weiter vertiefen.
Downloads
Software
This book covers a series of exciting and fun projects for the Arduino, such as a silent alarm, people sensor, light sensor, motor control, internet and wireless control (using a radio link). Contrary to many free projects on the internet all projects in this book have been extensively tested and are guaranteed to work!
You can use it as a projects book and build more than 45 projects for your own use. The clear explanations, schematics, and pictures of each project make this a fun activity. The pictures are taken of a working project, so you know for sure that they are correct.
You can combine the projects in this book to make your own projects. To facilitate this, clear explanations are provided on how the project works and why it has been designed the way it has That way you will learn a lot about the project and the parts used, knowledge that you can use in your own projects.
Apart from that, the book can be used as a reference guide. Using the index, you can easily locate projects that serve as examples for the C++ commands and Arduino functionality. Even after you’ve built all the projects in this book, it will still be a valuable reference guide to keep next to your PC.
Program and Build Raspberry Pi 5 Based Ham Station Utilities with the RTL-SDR
The RTL-SDR devices (V3 and V4) have gained popularity among radio amateurs because of their very low cost and rich features. A basic system may consist of a USB based RTL-SDR device (dongle) with a suitable antenna, a Raspberry Pi 5 computer, a USB based external audio input-output adapter, and software installed on the Raspberry Pi 5 computer. With such a modest setup, it is possible to receive signals from around 24 MHz to over 1.7 GHz.
This book is aimed at amateur radio enthusiasts and electronic engineering students, as well as at anyone interested in learning to use the Raspberry Pi 5 to build electronic projects. The book is suitable for both beginners through experienced readers. Some knowledge of the Python programming language is required to understand and eventually modify the projects given in the book. A block diagram, a circuit diagram, and a complete Python program listing is given for each project, alongside a comprehensive description.
The following popular RTL-SDR programs are discussed in detail, aided by step-by-step installation guides for practical use on a Raspberry Pi 5:
SimpleFM
GQRX
SDR++
CubicSDR
RTL-SDR Server
Dump1090
FLDIGI
Quick
RTL_433
aldo
xcwcp
GPredict
TWCLOCK
CQRLOG
klog
Morse2Ascii
PyQSO
Welle.io
Ham Clock
CHIRP
xastir
qsstv
flrig
XyGrib
FreeDV
Qtel (EchoLink)
XDX (DX-Cluster)
WSJT-X
The application of the Python programming language on the latest Raspberry Pi 5 platform precludes the use of the programs in the book from working on older versions of Raspberry Pi computers.
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.
USB-Logikanalysatoren am PC mit Arduino, Raspberry Pi und Co
Schritt-für-Schritt-Anleitungen führen Sie in die Analyse moderner Protokolle von I²C, SPI, UART, RS-232, NeoPixel, WS28xx, HD44780 und 1-Wire ein. Anhand zahlreicher Experimentierschaltungen mit dem Raspberry Pi Pico, Arduino Uno und dem Bus Pirate üben Sie die praxisnahe Anwendung gängiger USB-Logikanalysatoren ein.
Alle in diesem Buch vorgestellten Experimentierschaltungen wurden gründlich getestet und sind funktionsfähig. Die notwendigen Programmlistings sind enthalten, es sind keine besonderen Programmier- oder Elektronikkenntnisse für diese Schaltungen notwendig. Es werden die Programmiersprachen MicroPython und C mit den Entwicklungsumgebungen Thonny und Arduino IDE eingesetzt.
Dieses Buch verwendet mehrere Modelle flexibler und weit verbreiteter USB-Logikanalysatoren und zeigt die Stärken und Schwächen jeder Preisklasse. Sie werden herausfinden, welche Kriterien für Ihre Arbeit wichtig sind und in der Lage sein, das passende Gerät für Sie zu finden.
Egal ob Arduino, Raspberry Pi oder Raspberry Pi Pico: Die abgebildeten Beispielschaltungen ermöglichen einen schnellen Einstieg in die Protokollanalyse und können auch als Grundlage für eigene weitere Experimente dienen.
Sie werden alle wichtigen Begriffe und Zusammenhänge kennenlernen, eigene Experimente durchführen, selbstständig Protokolle analysieren und nach der Lektüre dieses Buches – im Bereich der digitalen Signale und Protokolle – ein umfassendes Wissen aufgebaut haben.
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