35 Touch Develop & MicroPython Projects
The BBC micro:bit is a credit sized computer based on a highly popular and high performance ARM processor. The device is designed by a group of 29 partners for use in computer education in the UK and will be given free of charge to every secondary school student in the UK.
The device is based on the Cortex-M0 processor and it measures 4 x 5 cm. It includes several important sensors and modules such as an accelerometer, magnetometer, 25 LEDs, 2 programmable push-button switches, Bluetooth connectivity, micro USB socket, 5 ring type connectors, and a 23-pin edge connector. The device can be powered from its micro USB port by connecting it to a PC, or two external AAA type batteries can be used.
This book is about the use of the BBC micro:bit computer in practical projects. The BBC micro:bit computer can be programmed using several different programming languages, such as Microsoft Block Editor, Microsoft Touch Develop, MicroPython, and JavaScript.
The book makes a brief introduction to the Touch Develop programming language and the MicroPython programming language. It then gives 35 example working and tested projects using these language. Readers who learn to program in Touch Develop and MicroPython should find it very easy to program using the Block Editor or any other languages.
The following are given for each project:
Title of the project
Description of the project
Aim of the project
Touch Develop and MicroPython program listings
Complete program listings are given for each project. In addition, working principles of the projects are described briefly in each section. Readers are encouraged to go through the projects in the order given in the book.
35 Touch Develop & MicroPython Projects
The BBC micro:bit is a credit sized computer based on a highly popular and high performance ARM processor. The device is designed by a group of 29 partners for use in computer education in the UK and will be given free of charge to every secondary school student in the UK.
The device is based on the Cortex-M0 processor and it measures 4 x 5 cm. It includes several important sensors and modules such as an accelerometer, magnetometer, 25 LEDs, 2 programmable push-button switches, Bluetooth connectivity, micro USB socket, 5 ring type connectors, and a 23-pin edge connector. The device can be powered from its micro USB port by connecting it to a PC, or two external AAA type batteries can be used.
This book is about the use of the BBC micro:bit computer in practical projects. The BBC micro:bit computer can be programmed using several different programming languages, such as Microsoft Block Editor, Microsoft Touch Develop, MicroPython, and JavaScript.
The book makes a brief introduction to the Touch Develop programming language and the MicroPython programming language. It then gives 35 example working and tested projects using these language. Readers who learn to program in Touch Develop and MicroPython should find it very easy to program using the Block Editor or any other languages.
The following are given for each project:
Title of the project
Description of the project
Aim of the project
Touch Develop and MicroPython program listings
Complete program listings are given for each project. In addition, working principles of the projects are described briefly in each section. Readers are encouraged to go through the projects in the order given in the book.
The Arduino Micro contains everything needed to support the microcontroller; simply connect it to a computer with a micro USB cable to get started. It has a form factor that enables it to be easily placed on a breadboard.
The Micro board is similar to the Arduino Leonardo in that the ATmega32U4 has built-in USB communication, eliminating the need for a secondary processor. This allows the Micro to appear to a connected computer as a mouse and keyboard, in addition to a virtual (CDC) serial / COM port.
Specifications
Microcontroller
ATmega32U4
Operating Voltage
5 V
Input Voltage
7 V - 12 V
Analog Input Pins
12
PWM Pins
7
DC I/O Pin
20
DC Current per I/O Pin
20 mA
DC Current for 3.3 V Pin
50 mA
Flash Memory
32 KB of which 4 KB used by the bootloader
SRAM
2.5 KB
EEPROM
1 KB
Clock Speed
16 MHz
LED_Builtin
13
Length
45 mm
Width
18 mm
Weight
13 g
Arduinonext is an initiative powered by an electronics and microcontrollers specialist team aiming to help all those who are entering in the technology world, using the well-known Arduino platform to take the next step in electronics.
We strive to bring you the necessary knowledge and experience for developing your own electronics applications; interacting with environment; measuring physical parameters; processing them and performing the necessary control actions.
This is the first title in the 'Hands-On' series in which Arduino platform co-founder, David Cuartielles, introduces board programming, and demonstrates the making of an 8-bit Sound Generator.
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).
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
The SDRplay RSP1B is an enhanced version of the popular RSP1A – a powerful, wideband, full-featured 14-bit SDR that covers the RF spectrum from 1 kHz to 2 GHz. The RSP1B comes in a rugged, black-painted steel case and offers significantly improved noise performance.
All it needs is a computer and an antenna to deliver excellent communications-receiver functionality. It includes a choice of SDRuno for Windows and the multi-platform SDRconnect software for Windows, macOS, and Linux (supplied free of charge by SDRplay). You can monitor up to 10 MHz of spectrum at a time.
A documented API allows developers to create new demodulators or applications for the platform.
Features
Covers all frequencies from 1 kHz through VLF, LF, MW, HF, VHF, UHF and L-band to 2 GHz, with no gaps
Receive, monitor and record up to 10 MHz of spectrum at a time
Free use of windows-based SDRuno software which provides an ever-increasing feature-set
Strong and growing software support network
Calibrated S meter/ RF power and SNR measurement with SDRuno (including datalogging to .CSV file capability)
Documented API provided to allow demodulator or application development on multiple platforms
Excellent dynamic range for challenging reception conditions
Works with popular 3rd party SDR software (including HDSDR, SDR Console and Cubic SDR)
ExtIO based plugin available
Software upgradeable for future standards
Strong and growing software support network
API provided to allow demodulator or application development
Multiplatform driver and API support including Windows, Linux, Mac, Android and Raspberry Pi
Up to 16 individual receivers in any 10 MHz slice of spectrum using SDRuno
Calibrated S meter and power measurements with SDRuno
Stand-alone windows-based spectrum analyser software available (with sweep, sample and hold features)
Ideal for monitoring of ISM/ IoT/ Telemetry bands <2 GHz
Ideal for portable operation
Specifications
Frequency Range
1 kHz – 2 GHz
Antenna Connector
SMA
Antenna Impedance
50 Ohms
Current Consumption (Typical)
185 mA (excl. Bias-T)
USB Connector
USB Type B
Maximum Input Power
+0 dBm Continuous+10 dBm Short Duration
ADC Sample Rates
2-10.66 MSPS
ADC Number of Bits
14 bit 2-6.048 MSPS12 bit 6.048-8.064 MSPS10 bit 8.064-9.216 MSPS8 bit >9.216 MSPS
Bias-T
4.7 V100 mA guaranteed
Reference
0.5ppm 24 MHz TCXO.Frequency error trimmable to 0.01ppm in field.
Operating Temperature Range
-10˚C to +60˚C
Dimensions
98 x 88 x 34 mm
Weight
110 g
Downloads
Datasheet
Software
RSP1B vs RSPdx vs RSPduo
RSP1B
RSPdx
RSPduo
Continuous coverage from 1 kHz to 2 GHz
✓
✓
✓
Up to 10 Mhz visible bandwidth
✓
✓
✓
14-bit ADC silicon technology plus multiple high-performance input filters
✓
✓
✓
Software selectable AM/FM & DAB broadcast band notch filters
✓
✓
✓
4.7 V Bias-T for powering external remote antenna amplifier
✓
✓
✓
Powers over the USB cable with a simple type B socket
✓
✓
✓
50Ω SMA antenna input(s) for 1 kHz to 2 GHz operation (software selectable)
1
2
2
Additional software selectable Hi-Z input for up to 30 Mhz operation
✓
Additional software selectable 50Ω BNC input for up to 200 MHz operation
✓
Additional LF/VLF filter for below 500 kHz
✓
24 MHz reference clock input (+ output on RSPduo)
✓
✓
Dual tuners enabling reception on 2 totally independent 2 MHz ranges
✓
Dual tuners enabling diversity reception using SDRuno
✓
Robust and strong plastic case (with internal RF shielding layer)
✓
Rugged black painted steel case
✓
✓
Overall performance below 2 MHz for MW and LF
+
++
+
Multiple simultaneous applications
+
+
++
Performance in challenging fading conditions (*using diversity tuning)
+
+
*++
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.
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.
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