With the availability of free and open source C/C++ compilers today, you might wonder why someone would be interested in assembler language. What is so compelling about the RISC-V Instruction Set Architecture (ISA)? How does RISC-V differ from existing architectures? And most importantly, how do we gain experience with the RISC-V without a major investment? Is there affordable hardware available?
The availability of the Espressif ESP32-C3 chip provides a way to get hands-on experience with RISC-V. The open sourced QEMU emulator adds a 64-bit experience in RISC-V under Linux. These are just two ways for the student and enthusiast alike to explore RISC-V in this book.
The projects in this book are boiled down to the barest essentials to keep the assembly language concepts clear and simple. In this manner you will have “aha!” moments rather than puzzling about something difficult. The focus in this book is about learning how to write RISC-V assembly language code without getting bogged down. As you work your way through this tutorial, you’ll build up small demonstration programs to be run and tested. Often the result is some simple printed messages to prove a concept. Once you’ve mastered these basic concepts, you will be well equipped to apply assembly language in larger projects.
Computer vision is probably the most exciting branch of image processing, and the number of applications in robotics, automation technology and quality control is constantly increasing. Unfortunately entering this research area is, as yet, not simple.
Those who are interested must first go through a lot of books, publications and software libraries. With this book, however, the first step is easy. The theoretically founded content is understandable and is supplemented by many practical examples. Source code is provided with the specially developed platform-independent open source library IVT in the programming language C/C++. The use of the IVT is not necessary, but it does make for a much easier entry and allows first developments to be quickly produced.
The authorship is made up of research assistants of the chair of Professor Ruediger Dillmann at the Institut für Technische Informatik (ITEC), Universitaet Karlsruhe (TH). Having gained extensive experience in image processing in many research and industrial projects, they are now passing this knowledge on.
Among other subjects, the following are dealt with in the fundamentals section of the book: Lighting, optics, camera technology, transfer standards, camera calibration, image enhancement, segmentation, filters, correlation and stereo vision.
The practical section provides the efficient implementation of the algorithms, followed by many interesting applications such as interior surveillance, bar code scanning, object recognition, 3-D scanning, 3-D tracking, a stereo camera system and much more.
Hands-on in more than 50 projects
STM32 Nucleo family of processors are manufactured by STMicroelectronics. These are low-cost ARM microcontroller development boards. This book is about developing projects using the popular STM32CubeIDE software with the Nucleo-L476RG development board. In the early Chapters of the book the architecture of the Nucleo family is briefly described.
The book covers many projects using most features of the Nucleo-L476RG development board where the full software listings for the STM32CubeIDE are given for each project together with extensive descriptions. The projects range from simple flashing LEDs to more complex projects using modules, devices, and libraries such as GPIO, ADC, DAC, I²C, SPI, LCD, DMA, analogue inputs, power management, X-CUBE-MEMS1 library, DEBUGGING, and others. In addition, several projects are given using the popular Nucleo Expansion Boards. These Expansion Boards plug on top of the Nucleo development boards and provide sensors, relays, accelerometers, gyroscopes, Wi-Fi, and many others. Using an expansion board together with the X-CUBE-MEMS1 library simplifies the task of project development considerably.
All the projects in the book have been tested and are working. The following sub-headings are given for each project: Project Title, Description, Aim, Block Diagram, Circuit Diagram, and Program Listing for the STM32CubeIDE.
In this book you will learn about
STM32 microcontroller architecture;
the Nucleo-L476RG development board in projects using the STM32CubeIDE integrated software development tool;
external and internal interrupts and DMA;
DEBUG, a program developed using the STM32CubeIDE;
the MCU in Sleep, Stop, and in Standby modes;
Nucleo Expansion Boards with the Nucleo development boards.
What you need
a PC with Internet connection and a USB port;
STM32CubeIDE software (available at STMicroelectronics website free of charge)
the project source files, available from the book’s webpage hosted by Elektor;
Nucleo-L476RG development board;
simple electronic devices such as LEDs, temperature sensor, I²C and SPI chips, and a few more;
Nucleo Expansion Boards (optional).
Onboard each moto:bit are multiple I/O pins, as well as a vertical Qwiic connector, capable of hooking up servos, sensors and other circuits. At the flip of the switch, you can get your micro:bit moving! The moto:bit connects to the micro:bit via an updated SMD, edge connector at the top of the board, making setup easy. This creates a handy way to swap out micro:bits for programming while still providing reliable connections to all of the different pins on the micro:bit. We have also included a basic barrel jack on the moto:bit that is capable of providing power to anything you connect to the carrier board. Features More reliable Edge connector for easy use with the micro:bit Full H-Bridge for control of two motors Control servo motors Vertical Qwiic Connector I²C port for extending functionality Power and battery management onboard for the micro:bit
The FRDM-MCXN947 is a compact and versatile development board designed for rapid prototyping with MCX N94 and N54 microcontrollers. It features industry-standard headers for easy access to the MCU's I/Os, integrated open-standard serial interfaces, external flash memory, and an onboard MCU-Link debugger.
Specifications
Microcontroller
MCX-N947 Dual Arm Cortex-M33 cores @ 150 MHz each with optimized performance efficiency, up to 2 MB dual-bank flash with optional full ECC RAM, External flash
Accelerators: Neural Processing Unit, PowerQuad, Smart DMA, etc.
Memory Expansion
*DNP Micro SD card socket
Connectivity
Ethernet Phy and connector
HS USB-C connectors
SPI/I²C/UART connector (PMOD/mikroBUS, DNP)
WiFi connector (PMOD/mikroBUS, DNP)
CAN-FD transceiver
Debug
On-board MCU-Link debugger with CMSIS-DAP
JTAG/SWD connector
Sensor
P3T1755 I³C/I²C Temp Sensor, Touch Pad
Expansion Options
Arduino Header (with FRDM expansion rows)
FRDM Header
FlexIO/LCD Header
SmartDMA/Camera Header
Pmod *DNP
mikroBUS
User Interface
RGB user LED, plus Reset, ISP, Wakeup buttons
Included
1x FRDM-MCXN947 Development Board
1x USB-C Cable
1x Quick Start Guide
Downloads
Datasheet
Block diagram
When you experiment with the Raspberry Pi on a regular basis and you connect a variety of external hardware to the GPIO port via the header you may well have caused some damage in the past. The Elektor Raspberry Pi Buffer Board is there to prevent this! The board is compatible with Raspberry Pi Zero, Zero 2 (W), 3, 4, 5, 400 and 500.
All 26 GPIOs are buffered with bi-directional voltage translators to protect the Raspberry Pi when experimenting with new circuits. The PCB is intended to be inserted in the back of Raspberry Pi 400/500. The connector to connect to the Raspberry Pi is a right angled 40-way receptacle (2x20). The PCB is only a fraction wider. A 40-way flat cable with appropriate 2x20 headers can be connected to the buffer output header to experiment for instance with a circuit on a breadboard or PCB.
The circuit uses 4x TXS0108E ICs by Texas Instruments. The PCB can also be put upright on a Raspberry Pi.
Downloads
Schematics
Layout
Extra easel boards for AxiDraw V3/A3 can be used as replacements, or for staging additional workpieces for quickly swapping to the next plot. This set consists of one 11.75 x 17 inch (29.85 x 43.18 cm) hardboard platen with rubber feet attached, plus eight micro binder clips.
STM32 Nucleo family of processors are manufactured by STMicroelectronics. These are low-cost ARM microcontroller development boards. This book is about developing projects using the popular Nucleo development board. In the early chapters of the book, the architecture of the Nucleo family is briefly described.
Software development tools that can be used with the Nucleo boards such as the Mbed, Keil MDK, TrueSTUDIO, and the System Workbench are described briefly in later Chapters.
The book covers many projects using most features of the STM32 Nucleo development boards where the full software listings for Mbed and System Workbench are given for every project. The projects range from simple flashing LEDs to more complex projects using modules and devices such as GPIO, ADC, DAC, I²C, LCD, analog inputs and others.
In addition, several projects are given using the Nucleo Expansion Boards, including popular expansion boards such as solid-state relay, MEMS and environmental sensors, DC motor driver, Wi-Fi, and stepper motor driver.
These Expansion Boards plug on top of the Nucleo development boards and simplify the task of project development considerably.
Features of this book
Learn the architecture of the STM32 microcontrollers
Learn how to use the Nucleo development board in projects using Mbed and System Workbench Toolchains
Learn how to use the Nucleo Expansion Boards with the Nucleo development boards
Update
The Mbed compiler has been replaced with two software packages: The Mbed Studio and Keil Studio Cloud. Both of these software packages are free of charge and are available on the Internet. If you need assistance using the Keil Studio Cloud, please download the Guide below.
Features
Build in USB to Serial interface
Build-in PCB antenna
Powered by Pineseed BL602 SoC using Pinenut model: 12S stamp
2 MB Flash
USB-C connection
Suitable to breadboard BIY project
On board three color LEDs output
Dimensions: 25.4 x 44.0 mm
Note: USB cable is not included.
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
Hands-on in more than 50 projects
STM32 Nucleo family of processors are manufactured by STMicroelectronics. These are low-cost ARM microcontroller development boards. This book is about developing projects using the popular STM32CubeIDE software with the Nucleo-L476RG development board. In the early Chapters of the book the architecture of the Nucleo family is briefly described.
The book covers many projects using most features of the Nucleo-L476RG development board where the full software listings for the STM32CubeIDE are given for each project together with extensive descriptions. The projects range from simple flashing LEDs to more complex projects using modules, devices, and libraries such as GPIO, ADC, DAC, I²C, SPI, LCD, DMA, analogue inputs, power management, X-CUBE-MEMS1 library, DEBUGGING, and others. In addition, several projects are given using the popular Nucleo Expansion Boards. These Expansion Boards plug on top of the Nucleo development boards and provide sensors, relays, accelerometers, gyroscopes, Wi-Fi, and many others. Using an expansion board together with the X-CUBE-MEMS1 library simplifies the task of project development considerably.
All the projects in the book have been tested and are working. The following sub-headings are given for each project: Project Title, Description, Aim, Block Diagram, Circuit Diagram, and Program Listing for the STM32CubeIDE.
In this book you will learn about
STM32 microcontroller architecture;
the Nucleo-L476RG development board in projects using the STM32CubeIDE integrated software development tool;
external and internal interrupts and DMA;
DEBUG, a program developed using the STM32CubeIDE;
the MCU in Sleep, Stop, and in Standby modes;
Nucleo Expansion Boards with the Nucleo development boards.
What you need
a PC with Internet connection and a USB port;
STM32CubeIDE software (available at STMicroelectronics website free of charge)
the project source files, available from the book’s webpage hosted by Elektor;
Nucleo-L476RG development board;
simple electronic devices such as LEDs, temperature sensor, I²C and SPI chips, and a few more;
Nucleo Expansion Boards (optional).