Secure, Modular, Open-Source and Self-Sufficient
Ever since the Raspberry Pi was introduced, it has been used by enthusiasts to automate their homes. The Raspberry Pi is a powerful computer in a small package, with lots of interfacing options to control various devices. This book shows you how you can automate your home with a Raspberry Pi. You’ll learn how to use various wireless protocols for home automation, such as Bluetooth, 433.92 MHz radio waves, Z-Wave, and Zigbee. Soon you’ll automate your home with Python, Node-RED, and Home Assistant, and you’ll even be able to speak to your home automation system. All this is done securely, with a modular system, completely open-source, without relying on third-party services. You’re in control of your home, and no one else.
At the end of this book, you can install and configure your Raspberry Pi as a highly flexible home automation gateway for protocols of your choice, and link various services with MQTT to make it your own system. This DIY (do it yourself) approach is a bit more laborious than just installing an off-the-shelf home automation system, but in the process, you can learn a lot, and in the end, you know exactly what’s running your house and how to tweak it. This is why you were interested in the Raspberry Pi in the first place, right?
Turn your Raspberry Pi into a reliable gateway for various home automation protocols.
Make your home automation setup reproducible with Docker Compose.
Secure all your network communication with TLS.
Create a video surveillance system for your home.
Automate your home with Python, Node-RED, Home Assistant and AppDaemon.
Securely access your home automation dashboard from remote locations.
Use fully offline voice commands in your own language.
Download the software and view the errata for the book on GitHub.
The Controller Area Network (CAN) was originally developed to be used as a vehicle data bus system in passenger cars. Today, CAN controllers are available from over 20 manufacturers, and CAN is finding applications in other fields, such as medical, aerospace, process control, automation, and so on.
This book is written for students, for practising engineers, for hobbyists, and for everyone else who may be interested to learn more about the CAN bus and its applications.
The aim of this book is to teach you the basic principles of CAN networks and in addition the development of microcontroller based projects using the CAN bus. In summary, this book enables the reader to:
Learn the theory of the CAN bus used in automotive industry
Learn the principles, operation, and programming of microcontrollers
Design complete microcontroller based projects using the C language
Develop complete real CAN bus projects using microcontrollers
Learn the principles of OBD systems used to debug vehicle electronics
You will learn how to design microcontroller based CAN bus nodes, build a CAN bus, develop high-level programs, and then exchange data in real-time over the bus. You will also learn how to build microcontroller hardware and interface it to LEDs, LCDs, and A/D converters.
The book assumes that the reader has some knowledge on basic electronics. Knowledge of the C programming language will be useful in later chapters of the book, and familiarity with at least one member of the PIC series of microcontrollers will be an advantage, especially if the reader intends to develop microcontroller based projects using the CAN bus.
This book details the use of the ARM Cortex-M family of processors and the Arduino Uno in practical CAN bus based projects. Inside, it gives a detailed introduction to the architecture of the Cortex-M family whilst providing examples of popular hardware and software development kits. Using these kits helps to simplify the embedded design cycle considerably and makes it easier to develop, debug, and test a CAN bus based project. The architecture of the highly popular ARM Cortex-M processor STM32F407VGT6 is described at a high level by considering its various modules. In addition, the use of the mikroC Pro for ARM and Arduino Uno CAN bus library of functions are described in detail.
This book is written for students, for practising engineers, for hobbyists, and for everyone else who may need to learn more about the CAN bus and its applications. The book assumes that the reader has some knowledge of basic electronics. Knowledge of the C programming language will be useful in later chapters of the book, and familiarity with at least one microcontroller will be an advantage, especially if the reader intends to develop microcontroller based projects using CAN bus.
The book should be useful source of reference to anyone interested in finding an answer to one or more of the following questions:
What bus systems are available for the automotive industry?
What are the principles of the CAN bus?
What types of frames (or data packets) are available in a CAN bus system?
How can errors be detected in a CAN bus system and how reliable is a CAN bus system?
What types of CAN bus controllers are there?
What are the advantages of the ARM Cortex-M microcontrollers?
How can one create a CAN bus project using an ARM microcontroller?
How can one create a CAN bus project using an Arduino microcontroller?
How can one monitor data on the CAN bus?
This book details the use of the ARM Cortex-M family of processors and the Arduino Uno in practical CAN bus based projects. Inside, it gives a detailed introduction to the architecture of the Cortex-M family whilst providing examples of popular hardware and software development kits. Using these kits helps to simplify the embedded design cycle considerably and makes it easier to develop, debug, and test a CAN bus based project. The architecture of the highly popular ARM Cortex-M processor STM32F407VGT6 is described at a high level by considering its various modules. In addition, the use of the mikroC Pro for ARM and Arduino Uno CAN bus library of functions are described in detail.
This book is written for students, for practising engineers, for hobbyists, and for everyone else who may need to learn more about the CAN bus and its applications. The book assumes that the reader has some knowledge of basic electronics. Knowledge of the C programming language will be useful in later chapters of the book, and familiarity with at least one microcontroller will be an advantage, especially if the reader intends to develop microcontroller based projects using CAN bus.
The book should be useful source of reference to anyone interested in finding an answer to one or more of the following questions:
What bus systems are available for the automotive industry?
What are the principles of the CAN bus?
What types of frames (or data packets) are available in a CAN bus system?
How can errors be detected in a CAN bus system and how reliable is a CAN bus system?
What types of CAN bus controllers are there?
What are the advantages of the ARM Cortex-M microcontrollers?
How can one create a CAN bus project using an ARM microcontroller?
How can one create a CAN bus project using an Arduino microcontroller?
How can one monitor data on the CAN bus?
CrowBot BOLT is an ESP32-controlled, intelligent, simple and easy-to-use open source robot car. It is compatible with the Arduino and MicroPython environments, with graphical programming via Letscode. 16 learning courses with interesting experiments are available.
Features
16 lessons in three languages (Letscode, Arduino, Micropython), fast learning and fun experiments
Compatible with Arduino, MicroPython development environment, using Letscode graphical programming, easy to use
Strong scalability, with a variety of interfaces, can be expanded and used with Crowtail modules
A variety of remote control modes, you can use the infrared remote control and joystick to control the car
Specifications
Processor
ESP32-Wrover-B (8 MB)
Programming
Letscode, Arduino, Micropython
Control method
Bluetooth Remote Control/Infrared Remote Control
Input
Button, Light sensor, Infrared Receiving Module, Ultrasonic Sensor, Line Tracking Sensor
Output
Buzzer, Programmable RGB Light, Motor
Wifi & Bluetooth
Yes
Light sensor
Can realize the function of chasing light or avoiding light
Ultrasonic Sensor
When an obstacle is detected, the driving route of the car can be corrected to avoid the obstacle
Line Tracking Sensor
Can make the car move along the dark/black lines, intelligently judge and correct the driving path
Buzzer
Can make the car sound/whistle, bringing a more direct sensory experience
Programmable RGB Light
Through programming, it can show colorful lights in different scenes
Infrared receiver
Receive infrared remote control signals to realize remote control
Interfaces
1x USB-C, 1x I²C, 1x A/D
Motor type
GA12-N20 Micro DC Gear Motor
Operating temperature
-10℃~+55℃
Power supply
4x 1.5 V batteries (not included)
Battery life
1.5 hours
Dimensions
128 x 92 x 64 mm
Weight
900 g
Included
1x Chassis
1x Ultrasonic Sensor
1x Battery Holder
2x Wheels
4x M3x8 mm Screws
2x M3x5 mm Copper Column
2x Side Acrylic Plates
1x Front Acrylic Plates
1x Screwdriver
2x 4 Pin Crowtail Cable
1x USB-C Cable
1x Infrared remote control
1x Instructions & Line Track Map
1x Joystick
Downloads
Wiki
CrowBot-BOLT_Assembly-Instruction
Joystick-for-CrowBot-BOLT_Assembly-Instruction
CrowBot_BOLT_Beginner’s_Guide
Designing Documents of CrowBot
Designing Documents of Joystick
Lesson Code
3D Model
Factory Source Code
This Crowtail series 4G module is a high-performance LTE Cat1 wireless module. It uses the SIM A7670E communication module from Simcom and communicates through a UART interface, which enables 4G data transmission and voice communication. The module supports multiple LTE bands, including B1/B3/B5/B7/B8/B20, as well as WCDMA and GSM networks. In addition, it supports various protocols such as TCP/IP, FTP, HTTP, and multiple satellite navigation systems such as GPS, GLONASS, and BDS.
The module comes with a charging interface and can be powered by a 3.7 V lithium battery or a 5 V USB-C interface. It also has a 3.5 mm headphone jack, and by connecting a headphone with a microphone, it can be used for making and receiving phone calls. Its compact size makes it easy to integrate into various IoT devices and meet various application requirements. Furthermore, its low power consumption and reliable performance are also the reasons why it is widely used in IoT, smart home, automotive, and industrial control fields.
Features
Integrate the A7670E communication module, enabling 4G data transmission and voice communication with low power consumption and high reliability
Supports multiple LTE bands, including B1/B3/B5/B7/B8/B20, as well as WCDMA and GSM networks
Supports various protocols such as TCP/IP, FTP, HTTP, and multiple satellite navigation systems such as GPS, GLONASS, and BDS
Comes with a charging interface and a headphone jack, which can be used for making and receiving phone calls by connecting a headphone with a microphone
Small but powerful, compact size makes it easy to integrate into various IoT devices.
Specifications
Main Chip: SIM A7670E
LTE-FDD: B1/B3/B5/B7/B8/B20
GSM: 900/1800 MHz
GSM/GPRS power class
EGSM900: 4 (33 dBm ±2 dB)
DCS1800: 1 (30 dBm ±2 dB)
EDGE power class:
EGSM900: E2 (27 dBm ±3 dB)
DCS1800 : E1 (26 dBm +3 dB/-4 dB)
LTE power class: 3 (23 dBm ±7 dB)
Supply Voltage: 4 V ~ 4.2 V
Power: 3.8 V
LTE(Mbps): 10 (DL)/5 (UL)
GPRS/EDGE(Kbps): 236.8 (DL)/236.8 (UL)
Protocol: TCP/IP/IPV4/IPV6/Multi-PDP/FTP/FTPS /HTTP/HTTPS/DNS
Communication interface: USB / UART
Firmware Upgrade: USB/FOTA
Support phonebook types: SM/FD/ON/AP/SDN
Interfaces: 1x Power button, 1x BAT, 1x UART, 1x USB-C, 1x SIM Card slot
Dimensions: 35 x 50 mm
Included
1x Crowtail-4G SIM-A7670E
1x 4G GSM NB-IoT Antenna
1x GPS ceramic antenna
Downloads
Wiki
A7670 AT Command Manual
A7670 Datasheet
Source Code
Nowadays, more and smarter phones and laptops adopt USB-C ports for its powerful function that can transmit power, data, and video information. USB-C solution can also make the device much thinner compared to the Thunderbolt 3 or HDMI-compatible port. That’s why we the CrowVi portable USB-C monitor was created. The super thin CrowVi 13.3' monitor has 2 USB-C ports, one is for power delivery, and the other is for data transmission of video and touch screen commands. The screen also can be connected through the mini HDMI-compatible port. The resolution of CrowVi is 1920x1080, which will provide a better experience for gaming and watching movies. Features CrowVi shell is made of aluminum alloy, its thickness is as thin as 5 mm, and the screen border is as narrow as 6 mm. The whole monitor looks exquisite and elegant. CrowVi can not only act as the dual monitor for smartphones, and laptops but also as the single monitor for gaming devices and some computer mainframes like Mac mini, Raspberry Pi, etc. CrowVi brings you a much larger view compared to the phone. It enables better experiences for gaming and watching movies. Specifications Screen 13.3' TFT IPS LCD Screen Size 294.5 x 164 mm Thickness 5-10 mm Resolution 1920 x 1080 Brightness 300 nits Refresh Rate 60 Hz Color Gamut 16.7M, NTSC 72%, sRGB up to 100% Contrast 800:1 Backlight LED Viewing Angle 178° Aspect Ratio 16:9 Speaker Dual speakers 8 Ω, 2 W Shell Aluminum alloy Input Mini-HD, Type-C, PD Output 3.5 mm headphone jack Power PD 5-20 V or USB-C 3.0 Operating Temperature 0-50°C Dimensions 313 x 198 x 10 mm Weight (Smart Case) 350 g Weight (Monitor) 700 g Included 13.3-inch Touch screen monitor Smart case USB-C to USB-C cable (1 m) USB-A to USB-C power cable (1 m) HDMI to mini-HDMI cable (1 m) Power adapter (5 V/2 A) HDMI to mini-HDMI adapter Dust cloth User manual Downloads User manual
CrowVision 11.6-inch touch screen is designed for all-in-one machines. It features a 1366 x 768 high-resolution screen and IPS panel, providing a superior visual experience. The industrial design-style rear-fixed metal structure is compatible with various single-board computers (SBCs), with a reasonable layout and neat wiring, making it easy to power up and use with simple operations.
The screen uses HDMI-compatible communication and supports capacitive multi-touch. It has reserved interfaces and buttons for speakers and other accessories, making it adaptable to different usage scenarios. It can be used with a variety of commonly available single-board computers such as Raspberry Pi, Jetson Nano, and is plug-and-play, while also being fully compatible with the operating systems of single-board computers (such as Raspbian, Ubuntu, Windows, Android, Mac OS, and Chrome OS, etc.).
This screen can be widely used in automation application control system displays, personal DIY projects, secondary screen/second window displays, single-board computer audio-video display equipment, HDMI communication devices, game console expansion screens, and other scenarios.
Features
11.6-inch high-resolution screen with 1366 x 768 resolution, IPS panel, and 178° wide viewing angle provides a better visual experience
Unique rear fixing structure with sliding fixing pillars, compatible with most single-board computer models, easy to assemble
Wide compatibility, compatible with multiple operating systems (Raspbian, Ubuntu, Windows, Android, Mac OS, and Chrome OS)
Supports audio, video, and capacitive touch, plug and play
Integrates a variety of peripheral interfaces (such as speakers, headphones, keypads, touchscreens) and onboard OSD adjustment keys
The mainboard is equipped with power conversion function of output 5 V/3 A, not need to separately connect an external power supply for the single-board computer.
Specifications
Display size: 11.6 inch
Touch type: 5-point Capacitive Touch
Resolution: 1366 x 768
Color depth: 16M
Viewing angle: 178° wide viewing angle
Display type: IPS Panel
Screen type: TFT-LCD
External power supply: 12 V/2 A
Digital input: HDMI-compatible interface
Interfaces: 1x Keypad interface, 1x power supply 5 V output, 1x Mini HD interface, 1x touch interface, 1x speaker interface, 1x headphone socket, 1x power supply 12 V input
Compatibility system: Raspbian, Ubuntu, Windows, Android, Mac OS, and Chrome OS, etc.
Active Area: 256.13 x 144 mm
Dimensions: 290.8 x 184.2 mm
Included
1x 11.6-inch capacitive touch ccreen
1x USB-A to USB-C cable
1x USB-A to micro B cable
1x HD to mini HD cable
1x Micro HD to mini HD cable
1x OSD control board
1x Power adapter
1x Screwdriver
2x Ribbon
1x Manual
Downloads
Manual
Wiki
The CrowVision 7-inch Touch Screen is designed for all-in-one systems and offers an exceptional visual experience thanks to its high-resolution (1024×600) IPS panel. Its industrial-grade, rear-mounted metal design ensures compatibility with a wide range of single-board computers (SBCs), allowing for easy setup and seamless operation. Additionally, the display supports both landscape and portrait (vertical) screen orientations.
The screen uses HDMI communication and features capacitive multi-touch technology. It also includes reserved interfaces and buttons for connecting accessories such as speakers, making it highly adaptable to diverse application scenarios. This plug-and-play device supports a wide range of popular SBCs like the Raspberry Pi 4/5, Jetson Nano, and more. It is fully compatible with multiple operating systems, including Raspbian, Ubuntu, Windows, Android, macOS, and Chrome OS.
Users can customize the look of their screen by designing a unique and elegant protective case. For added convenience, Elecrow’s 3D printing service can be used to create a tailor-made enclosure.
Thanks to its versatility, the screen is ideal for use in automation control systems, personal DIY projects, secondary or auxiliary displays, AV applications with SBCs, HDMI-compatible devices, game console extensions, and many other scenarios.
Features
7-Inch High-Resolution Display: Features a 1024×600 IPS panel with a 178° wide viewing angle for a superior visual experience.
Innovative Rear-Mounting Design: Equipped with a unique sliding pillar structure for secure mounting; compatible with most single-board computers and easy to assemble.
Broad System Compatibility: Fully supports multiple operating systems including Raspbian, Ubuntu, Windows, Android, macOS, and Chrome OS.
Multimedia and Touch Support: Offers plug-and-play functionality with support for audio, video, and capacitive multi-touch input.
Comprehensive Peripheral Integration: Includes interfaces for peripherals such as speakers, headphones, keypads, and touchscreens, plus onboard OSD control buttons for easy adjustments.
Integrated Power Output: The mainboard features a built-in 5 V/3 A power conversion module, eliminating the need for an external power supply for your SBC.
Specifications
Resolution
1024 x 600 pixels
Color Depth
16 Million Colors (16M)
Vertical Orientation
Supported
Viewing Angle
178° Ultra-Wide Viewing Angle
Display Type
IPS Panel
Screen Technology
TFT-LCD
External Power Supply
12 V/2 A
Digital Input
HDMI-Compatible Interface
Available Interfaces
1x Keypad Interface
1x 5 V Power Output
1x Mini HDMI Interface
1x Touch Interface
1x Speaker Interface
1x Headphone Socket
1x 12 V Power Input
Supported Operating Systems
Raspbian, Ubuntu, Windows, Android, macOS, Chrome OS, and others
Active Display Area
99.9 x 167 mm
Overall Dimensions
110.3 x 204 mm
Weight
298 g
Included
1x CrowVision 7" IPS Capacitive Touch Display (1024x600)
1x USB-A to USB-C cable
1x USB-A to Micro B cable
1x HD to Mini HD cable
1x Micro HD to Mini HD cable
1x Power Adapter (EU)
1x OSD Control Board
1x Screwdriver
2x Ribbon
1x Manual
Downloads
Manual
Wiki
3D File
The CS Mount Lens (3 MP, 6 mm) is designed for use with the Raspberry Pi HQ Camera Module, delivering sharp, detailed imaging for various applications.
The CubeCell series is designed primarily for LoRa/LoRaWAN node applications.
Built on the ASR605x platform (ASR6501, ASR6502), these chips integrate the PSoC 4000 series MCU (ARM Cortex-M0+ Core) with the SX1262 module. The CubeCell series offers seamless Arduino compatibility, stable LoRaWAN protocol operation, and straightforward connectivity with lithium batteries and solar panels.
The HTCC-AB01 (V2) is an upgraded version of the HTCC-AB01 board.
Features
Arduino compatible
Based on ASR605x (ASR6501, ASR6502), those chips are already integrated the PSoC 4000 series MCU (ARM Cortex-M0+ Core) and SX1262
LoRaWAN 1.0.2 support
Ultra low power design, 3.5 uA in deep sleep
Onboard SH1.25-2 battery interface, integrated lithium battery management system (charge and discharge management, overcharge protection, battery power detection, USB/battery power automatic switching)
Good impendence matching and long communication distance. Onboard solar energy management system, can directly connect with a 5.5~7 V solar panel
Micro USB interface with complete ESD protection, short circuit protection, RF shielding, and other protection measures
Integrated CP2102 USB to serial port chip, convenient for program downloading, debugging information printing
Specifications
Main Chip
ASR6502 (48 MHz ARM Cortex-M0+ MCU)
LoRa Chipset
SX1262
Frequency
863~870 MHz
Max. TX Power
21 ±1 dBm
Max. Receiving Sensitivity
−134 dBm
Hardware Resource
1x UART1x SPI1x I²C1x SWD1x 12-bit ADC input8-channel DMA engine8x GPIO2x PWM
Memory
128 Kb FLASH16 Kb SRAM
Power consumption
Deep Sleep 3.5 uA
Interfaces
1x USB-C1x LoRa Antenna (IPEX 1.0)SH1.25; 11x 2x 2.54 Pin header1x (2x 2.54 Pin header)
Solar Energy
VS pin can be connected to 5.5~7 V solar panel
Battery
3.7 V Lithium battery (power supply and charging)
Operating temperature
−20~70°C
Dimensions
40.6 x 22.9 x 7.6 mm
Included
1x CubeCell HTCC-AB01 (V2) Development Board
1x Antenna
1x 2x SH1.25 battery connector
Downloads
Datasheet
Schematic
Quick start
GitHub
The CubeCell series is designed primarily for LoRa/LoRaWAN node applications.
Built on the ASR605x platform (ASR6501, ASR6502), these chips integrate the PSoC 4000 series MCU (ARM Cortex-M0+ Core) with the SX1262 module. The CubeCell series offers seamless Arduino compatibility, stable LoRaWAN protocol operation, and straightforward connectivity with lithium batteries and solar panels.
The HTCC-AB02 is a developer-friendly board, ideal for quickly testing and validating communication solutions.
Features
Arduino compatible
Based on ASR605x (ASR6501, ASR6502), those chips are already integrated the PSoC 4000 series MCU (ARM Cortex M0+ Core) and SX1262
LoRaWAN 1.0.2 support
Ultra low power design, 3.5 uA in deep sleep
Onboard SH1.25-2 battery interface, integrated lithium battery management system (charge and discharge management, overcharge protection, battery power detection, USB/battery power automatic switching)
Good impendence matching and long communication distance
Onboard solar energy management system, can directly connect with a 5.5~7 V solar panel
Micro USB interface with complete ESD protection, short circuit protection, RF shielding, and other protection measures
Integrated CP2102 USB to serial port chip, convenient for program downloading, debugging information printing
Onboard 0.96-inch 128x64 dot matrix OLED display, which can be used to display debugging information, battery power, and other information
Specifications
Main Chip
ASR6502 (48 MHz ARM Cortex-M0+ MCU)
LoRa Chipset
SX1262
Frequency
863~870 MHz
Max. TX Power
22 ±1 dBm
Max. Receiving Sensitivity
−135 dBm
Hardware Resource
2x UART1x SPI2x I²C1x SWD3x 12-bit ADC input8-channel DMA engine16x GPIO
Memory
128 Kb FLASH16 Kb SRAM
Power consumption
Deep sleep 3.5 uA
Interfaces
1x Micro USB1x LoRa Antenna (IPEX)2x (15x 2.54 Pin header) + 3x (2x 2.54 Pin header)
Battery
3.7 V lithium battery (power supply and charging)
Solar Energy
VS pin can be connected to 5.5~7 V solar panel
USB to Serial Chip
CP2102
Display
0.96" OLED (128 x 64)
Operating temperature
−20~70°C
Dimensions
51.9 x 25 x 8 mm
Included
1x CubeCell HTCC-AB02 Development Board
1x Antenna
1x 2x SH1.25 battery connector
Downloads
Datasheet
Schematic
Quick start
GitHub
The CubeCell series is designed primarily for LoRa/LoRaWAN node applications.
Built on the ASR605x platform (ASR6501, ASR6502), these chips integrate the PSoC 4000 series MCU (ARM Cortex-M0+ Core) with the SX1262 module. The CubeCell series offers seamless Arduino compatibility, stable LoRaWAN protocol operation, and straightforward connectivity with lithium batteries and solar panels.
The HTCC-AB02S is a developer-friendly board with an integrated AIR530Z GPS module, ideal for quickly testing and validating communication solutions.
Features
Arduino compatible
Based on ASR605x (ASR6501, ASR6502), those chips are already integrated the PSoC 4000 series MCU (ARM Cortex M0+ Core) and SX1262
LoRaWAN 1.0.2 support
Ultra low power design, 21 uA in deep sleep
Onboard SH1.25-2 battery interface, integrated lithium battery management system (charge and discharge management, overcharge protection, battery power detection, USB/battery power automatic switching)
Good impendence matching and long communication distance
Onboard solar energy management system, can directly connect with a 5.5~7 V solar panel
Micro USB interface with complete ESD protection, short circuit protection, RF shielding, and other protection measures
Integrated CP2102 USB to serial port chip, convenient for program downloading, debugging information printing
Onboard 0.96-inch 128x64 dot matrix OLED display, which can be used to display debugging information, battery power, and other information
Using Air530 GPS module with GPS/Beidou Dual-mode position system support
Specifications
Main Chip
ASR6502 (48 MHz ARM Cortex-M0+ MCU)
LoRa Chipset
SX1262
Frequency
863~870 MHz
Max. TX Power
22 ±1 dBm
Max. Receiving Sensitivity
−135 dBm
Hardware Resource
2x UART1x SPI2x I²C1x SWD3x 12-bit ADC input8-channel DMA engine16x GPIO
Memory
128 Kb FLASH16 Kb SRAM
Power consumption
Deep sleep 21 uA
Interfaces
1x Micro USB1x LoRa Antenna (IPEX)2x (15x 2.54 Pin header) + 3x (2x 2.54 Pin header)
Battery
3.7 V lithium battery (power supply and charging)
Solar Energy
VS pin can be connected to 5.5~7 V solar panel
USB to Serial Chip
CP2102
Display
0.96" OLED (128 x 64)
Operating temperature
−20~70°C
Dimensions
55.9 x 27.9 x 9.5 mm
Included
1x CubeCell HTCC-AB02S Development Board
1x Antenna
1x 2x SH1.25 battery connector
Downloads
Datasheet
Schematic
GPS module (Manual)
Quick start
GitHub
DC brushed motors are the most commonly used and widely available motors in the market. The Cytron 10 Amp 5-30 V DC Motor Driver will help you add functionality to your DC motor. It supports both sign-magnitude PWM signal and locked-antiphase. It is compatible with full solid-state components resulting in higher response time and eliminates the wear and tear of the mechanical relay. Features Supports motor voltage from 5 V to 30 V DC Current up to 13 A continuous and 30 A peak 3.3 V and 5 V logic level input Compatible with Arduino and Raspberry Pi Speed control PWM frequency up to 20 kHz Fully NMOS H-Bridge for better efficiency No heat sink is required Bi-directional control for one Brushed DC motor Regenerative Braking Downloads User Manual Arduino Library
You can control the motor driver with PWM and DIR inputs. The Arduino pins for these inputs are configurable via jumpers. If the specified pins on Arduino are already used up by other application/shield, you can select another pin easily with the jumper.
There is also a possibility to quickly and conveniently test the functionality of the motor driver with the onboard test buttons and output LEDs. Buck regulator which produces 5 V output is also available to power the Arduino mainboard, which eliminates the need of extra power supply for the Arduino mainboard.
The board also offers various protection features. Overcurrent protection prevents the motor driver from damage when the motor stalls or an oversized motor is hooked up. When the motor is trying to draw current more than what the motor driver can support, the motor current will be limited at the maximum threshold.
Assisted by temperature protection, the maximum current limiting threshold is determined by the board temperature. The higher the board temperature, the lower the current limiting threshold. As a result, the motor driver delivers its full potential depending on the current conditions without damaging any MOSFETs.
Features
Shield for Arduino form factor
Bidirectional control for two brushed DC motors
Control one unipolar/bipolar stepper motor
Operating Voltage: DC 7 V to 30 V
Maximum Motor Current: 10 A continuous, 30 A peak
Buck regulator to produce 5 V output (500 mA max)
Buttons for quick testing
LEDs for motor output state
Selectable Arduino pins for PWM/DIR inputs.
PWM/DIR inputs compatible with 1.8 V, 3.3 V and 5 V logic
PWM frequency up to 20 kHz (Output frequency is same as input frequency).
Overcurrent protection with active current limiting
Temperature protection
Undervoltage shutdown
Possible applications
Mobile Robot
Automated Guided Vehicle (AGV)
Solar Tracker
Game Simulator
Automation Machine
Downloads
Datasheet
Sample Code
3D CAD Files
Packing List
1x 10Amps 7V-30V DC Motor Driver Shield for Arduino (2 Channels) MDD010
It is possible to control Cytron 25Amp 7-58 V High Voltage DC Motor Driver with PWM and DIR inputs. The input logic voltage ranges from 1.8 V to 30 V and the board is compatible with variety of host controllers (such as Arduino, Raspberry Pi, PLC). If you don't want to deal with programming to control the motor, there is an option to control the motor driver from a potentiometer (speed) and a switch (direction). You can also test the motor quickly and conveniently using the onboard test buttons and motor output LEDs without the need to hook up the host controller. It is possible to power the host controller with the buck regulator which produces 5 V output. This is especially useful for high voltage applications where no additional power source nor high voltage buck regulator is needed. This motor driver also incorporates various protection features. If the motor stalls or you've hooked up an oversized motor, the overcurrent protection will take care of the board and protect it from damage. If the motor is trying to draw current more than what the motor driver can support, the motor current will be limited at the maximum threshold. Assisted by temperature protection, the maximum current limiting threshold depends on the board temperature. The higher the board temperature, the lower the current limiting threshold. Note: Power input does not have reverse-voltage protection. Connecting the battery in reverse polarity will damage the motor driver instantaneously. Features Bidirectional control for one brushed DC motor Operating Voltage: DC 7 V to 58 V Maximum Motor Current: 25 A continuous, 60 A peak 5 V output for the host controller (250 mA max) Buttons for quick testing LEDs for motor output state Dual Input Mode: PWM/DIR or Potentiometer/Switch Input PWM/DIR Inputs compatible with 1.8 V, 3.3 V, 5 V, 12 V and 24 V logic (Arduino, Raspberry Pi, PLC, etc) PWM frequency up to 40 kHz (Output frequency is fixed at 16 kHz) Overcurrent protection with active current limiting Temperature protection Undervoltage shutdown Scope of delivery 1 × MD25HV (motor driver board) 1 × Potentiometer with connector 1 × Rocker switch with connector 4 × Nylon PCB Standoffs/Spacers Documents Datasheet Sample Code
Features: Supports motor voltage from 4 V to 16 V DC Bidirectional control for two brushed DC motor. Control one unipolar or one bipolar stepper motor. Maximum Motor Current: 3A continuous, 5A peak LEDs for motor output state. Buttons for quick testing. Compatible with Arduino and Raspberry Pi PWM frequency up to 20kHz Reverse polarity protection Here you can find the product's Datasheet. Check out the sample code provided by Cytron here.
Features Dual channel, Bi-directional control motor driver Support motor voltage from 2.5 V to 9.5 V DC
Maximum current up to 1.0 A continuous and 1.5 A peak (<5 seconds)
5 V Output (200 mA) to power the controller.
Inputs compatible with 1.8 V, 3.3 V and 5 V logic (Arduino, Raspberry Pi, etc). Solid state components provide faster response time and eliminate the wear and tear of mechanical relay Regenerative Braking Speed control PWM frequency up to 20 KHz (Actual output frequency is same as input frequency) Dimension: 43 mm (W) x 35 mm (L) x 14 mm (H) The Problem Faced by Beginners in Driving DC Brushed Motor Maker Drive is designed by taking into account feedback from users, especially 1st time users. If you are a beginner that needs a simple motor driver to drive DC brushed motor for building mobile robot or other purposes, you might come across some of these obstacles: Burning your Motor Driver - Many low cost motor driver does not come with Reserve Polarity Protection and this might result in smoke coming out from the driver if you connect the power in wrong polarity. This gives you a burnt motor driver and of course the waste of money and your precious time. Too Bulky for compact projects - Some motor drivers come with a big heat sink and take up too much space. Hard to test and troubleshoot - With normal motor drivers, beginners face a common problem during building project - difficulty in testing and troubleshooting the circuit. Yes, even with a clear schematic or diagram, the circuit will not work right after you complete the connection. Most of the time, you will need to test or troubleshoot. Without easy to use input and output indicator, you will need to write a program to test the motor driver. And that increases the complexity of debugging as you do not know whether the problem is due to wire connection or coding in your program. Separate Power for Low Voltage Motor - Many low cost motor drivers have an onboard 5 V linear voltage regulator, which is great to power your controller like Arduino. But this linear voltage regulator will not output 5 V if Vin is lower than 7 V. Yet, many small toy motors used in DIY projects are rated at lower than 7 V. These motors are suitable to be powered by two AA or AAA batteries (3 V or less) or single cell Li-ion 18650/Li-Po battery (3.7 V rated voltage). With that, you will need two separate power sources, one for the motors and another one to get stable 5 V output for controller such as Arduino board. Maker Drive is designed to solve the above problems while adding some useful features: Fool Proof - Maker Drive comes with Reverse Polarity Protection at Vin/Vmotor/Vbatt (Power for motor) terminal. With this protection it will greatly reduce the risk of damaging the motor driver Compact Design - Maker Drive is designed to be compact, roughly the size of a passport photo, 43 mm (W) x 35 mm (L) x 14 mm (H) 4 Test Buttons (2 for each channel) - Easily test the motor or your mechanism without any controller or coding. Maker Drive comes with two manual test buttons for each channel. Pressing one of the buttons will drive the output full speed in a direction (if there is motor connected) on respective channel. While another button will drive the output in another direction. These buttons are useful to test the motor direction, connection and operation; even without controller. You can also use these buttons as manual activation button. No programming is needed to use these buttons. 4 Indicator LEDs (2 for each channel) - Easily test your coding and wire connections. With these indicator LEDs, you can check output voltage direction even without connecting the driver to your motor. And combining with the Manual Test Buttons, you can test the Maker Drive easily even without controller and motor connected. You can also easily identify where the error occurs for easy troubleshooting. Of course no programming is needed here either. These LEDs are quite useful for testing and troubleshooting. Buck-boost regulator to produce 5 V output from input voltage as low as 2.5 V- Allows you to power a 5 V controller with 2 AA batteries. Maker Drive can produce output of 5 V with input voltage range, from 2.5 V up to 9.5 V. This 5 V output can supply 200 mA to an external circuit such as a controller (Arduino), saving the trouble of getting another power source for your controller. Now your project can be powered with a single power source. And with the wide input voltage range, you can power Maker Drive with two AA or AAA batteries (1.5 V x 2 = 3 V) or single cell Li-ion or Lipo batteries that have rated voltage of 3.7 V. Although Maker Drive is not an Arduino Shield, it is compatible with a number of Arduino main boards: Arduino Uno R3 Arduino Mega 2560 Arduino Nano Arduino Pro Mini in addition to that, it accepts 1.8 V, 3.3 V & 5 V logic (for control) and is compatible with controllers such as Raspberry Pi, BeagleBone, ESP8266, ESP32, etc. Requirements for the motor you use: DC Brush motor (Two Terminals) Operating voltage from 2.5 V to 9.5 V DC
Rated Current <= 1.0 A
Peak Current <= 1.5 A
Suggested Power Sources 2 x AA/AAA batteries (2 x 1.5 V = 3.0 V) 3 x AA/AAA batteries (3 x 1.5 V = 4.5 V) 4 x AA/AAA batteries (4 x 1.5 V = 6.0 V) 1 x Li-ion 18650 battery (1 x 3.7 V, 3.0 V to 4.2 V) 2 x Li-ion 18650 batteries (2 x 3.7 V = 7.4 V, 6.0 V to 8.4 V) 1 x Li-ion 14500 battery (1 x 3.7 V, 3.0 V to 4.2 V) 2 x Li-ion 14500 batteries (2 x 3.7 V = 7.4 V, 6.0 V to 8.4 V) Documents Datasheet Arduino Sketch: Select PWM_PWM_DUAL under example Fritzing files
Maker Line is a line sensor with 5 x IR sensors array that is able to track line from 13 mm to 30 mm width. The sensor calibration is also simplified. There is no need to adjust the potentiometer for each IR sensor. You just have to press the calibrate button for 2 seconds to enter calibration mode. Afterwards you need to sweep the sensors array across the line, press the button again and you are good to go. The calibration data is saved in EEPROM and it will stay intact even if the sensor has been powered off. Thus, calibration only needs to be carried out once unless the sensor height, line color or background color has changed. Maker Line also supports dual outputs: 5 x digital outputs for the state of each sensor independently, which is similar to conventional IR sensor, but you get the benefit of easy calibration, and also one analog output, where its voltage represents the line position. Analog output also offers higher resolution compared to individual digital outputs. This is especially useful when high accuracy is required while building a line following robot with PID control. Features Operating Voltage: DC 3.3 V and 5 V compatible (with reverse polarity protection) Recommended Line Width: 13 mm to 30 mm Selectable line color (light or dark) Sensing Distance (Height): 4 mm to 40 mm (Vcc = 5 V, Black line on white surface) Sensor Refresh Rate: 200 Hz Easy calibration process Dual Output Types: 5 x digital outputs represent each IR sensor state, 1 x analog output represents line position. Support wide range of controllers such as Arduino, Raspberry Pi etc. Documentation Datasheet Tutorial: Building A Low-Cost Line Following Robot
The Maker pHAT is the solution to the most common problems beginners face starting with Raspberry PI. Its intelligent and simple design makes it easy to attach to your Pi, and it helps you avoid all the tedious work of connection various other accessories. Additionally, the LEDs corresponding to each pin makes it extremely easy to see where a potential problem lies The Maker pHat has the same size as the Raspberry Pi Zero with all 4mounting holes aligned. However, it can be used with Raspberry Pi 3B, 3B+ and 3A+, by inserting a 2 x 20 stacking header. Features Raspberry Pi Zero size, stack perfectly on to Raspberry Pi Zero Compatible with standard size Raspberry Pi 3B / 3B+, medium size Raspberry Pi 3A+ and smaller size Raspberry Pi Zero / W / WH. Standard Raspberry Pi GPIO footprint. LED array for selected GPIO pins (GPIO 17, 18, 27, 22, 25, 12, 13, 19). 3x on board programmable push buttons (GPIO 21, 19 and 20, need to configure as input pull up). Onboard active buzzer (GPIO 26). Proper labels for all GPIOs, including SPI, UART, I2C, 5V, 3.3V, and GND. Utilize USB Micro-B socket for 5V input and USB to UART communication. USB serial facilitated by the FT231X
Input voltage: USB 5 V, from a computer, power bank or a standard USB adapter. Mount on Raspberry Pi Zero Mount on Raspberry Pi 3B, 3B+ and 3A+
The Cytron Maker Pi Pico (with Raspberry Pi Pico RP2040 soldered on Board) incorporates the most wanted features for your Raspberry Pi Pico and gives you access to all GPIO pins on two 20 ways pin-headers, with clear labels. Each GPIO is coupled with an LED indicator for convenient code testing and troubleshooting. The bottom layer of this board even comes with a comprehensive pinout diagram showing the function of each pin. Features Work out-of-the-box. No soldering! Access to all Raspberry Pi Pico's pins on two 20 ways pin headers LED indicators on all GPIO pins 3x programmable push button (GP20-22) 1x RGB LED – NeoPixel (GP28) 1x Piezo buzzer (GP18) 1x 3.5 mm stereo audio jack (GP18-19) 1x Micro SD card slot (GP10-15) 1x ESP-01 socket (GP16-17) 6x Grove port Specifications Core 32-bit ARM Cortex-M0+ CPU Clock 48 MHz, up to 133 MHz Flash Size 2 MByte Q-SPI Flash Programming Language MicroPython, C++ Board Power Input 5 VDC via MicroUSB Alternative Board Power 2-5 VDC via VSYS Pin (Pin 39) MCU Voltage 3.3 VDC
GPIO Voltage 3.3 VDC
USB Interface USB 1.1 Device Host Program Loading MicroUSB, USB Mass Storage GPIO 26x Input/Output ADC 3x 12-bit 500 ksps Temperature Sensor Built-in, 12-bit UART 2x UART I²C 2x I²C SPI 2x SPI PWM 16x PWM Timer 1x Timer with 4 x Alarm Real-Time Counter 1x Real Time Counter PIO 2x Programmable High-Speed I/O On-Board LED 1x Programmable LED On-Board Button 1x BOOTSEL Button
Love the Cytron Maker Pi Pico (SKU 19706) but can't fit it into your project? Now there is the Cytron Maker Pi Pico Mini W. Powered by the awesome Raspberry Pi Pico W, it also inherited most of the useful features from its bigger sibling such as GPIO status LEDs, WS2812B Neopixel RGB LED, passive piezo buzzer, and not forget the user button and reset button. Features Powered by Raspberry Pi Pico W Single-cell LiPo connector with overcharge / over-discharge protection circuit, rechargeable via USB. 6x Status indicator LEDs for GPIOs 1x Passive piezo buzzer (Able to play musical tone or melody) 1x Reset button 1x User programmable button 1x RGB LEDs (WS2812B Neopixel) 3x Maker Ports, compatible with Qwiic, STEMMA QT, and Grove (via conversion cable) Support Arduino IDE, CircuitPython and MicroPython Dimension: 23.12 x 53.85 mm Included 1x Maker Pi Pico Mini W (pre-soldered Raspberry Pi Pico W with preloaded CircuitPython) 3x Grove to JST-SH (Qwiic / STEMMA QT) Cable Downloads Maker Pi Pico Mini Datasheet Maker Pi Pico Mini Schematic Maker Pi Pico Mini Pinout Diagram Official Raspberry Pi Pico Page Getting started with Raspberry Pi Pico CircuitPython for Raspberry Pi Pico Raspberry Pi Pico Datasheet RP2040 Datasheet Raspberry Pi Pico Python SDK Raspberry Pi Pico C/C++ SDK
Cytron Maker Pi RP2040 features the first microcontroller designed by Raspberry Pi – RP2040, embedded on a robot controller board. This board comes with dual channel DC motor driver, 4 servo motor ports and 7 Grove I/O connectors, ready for your next DIY robot / motion control project. Now you can build robot, while trying out the new RP2040 chip. The DC motor driver onboard is able to control 2x brushed DC motors or 1x bipolar/unipolar stepper motor rated from 3.6 V to 6 V, providing up to 1 A current per channel continuously. The built-in Quick Test buttons and motor output LEDs allow functional test of the motor driver in a quick and convenient way, without the need of writing any code. Vmotor for both DC and servo motors depends on the input voltage supplied to the board. Maker Pi RP2040 features all the goodness of Cytron's Maker series products. It too has lots of LEDs useful for troubleshooting (& visual effects), is able to make quite some noise with the onboard piezo buzzer and comes with push buttons ready to detect your touch. There are three ways to supply power to the Maker Pi RP2040 – via USB (5 V) socket, with a single cell LiPo/Li-Ion battery or through the VIN (3.6-6 V) terminals. However only one power source is needed to power up both controller board and motors at a time. Power supply from all these power sources can all be controlled with the power on/off switch onboard. Cytron Maker Pi RP2040 is basically the Raspberry Pi Pico + Maker series' goodness + Robot controller & other useful features. Therefore this board is compatible with the existing Pico ecosystem. Software, firmware, libraries and resources that are developed for Pico should work seamlessly with Cytron Maker Pi RP2040 too. CircuitPython is preloaded on the Maker Pi RP2040 and it runs a simple demo program right out-of-the-box. Connect it to your computer via USB micro cable and turn it on, you will be greeted by a melody tune and LEDs running light. Press GP20 and GP21 push buttons to toggle the LEDs on/off, while controlling any DC and servo motors connected to it to move and stop. With this demo code, you get to test the board the moment you receive it! While connected to your computer, a new CIRCUITPY drive appears. Explore and edit the demo code (code.py & lib folder) with any code editor you like, save any changes to the drive and you shall see it in action in no time. That's why we embrace CircuitPython – it's very easy to get started. Wish to use other programming lauguages? Sure, you are free to use MicroPython and C/C++ for Pico/RP2040. For those of you who loves the Arduino ecosystem, please take a look at this official news by Arduino and also the unofficial Pico Arduino Core by Earle F. Philhower. Features Powered by Rapberry Pi RP2040 Dual-core Arm Cortex-M0+ processor 264 KB internal RAM 2 MB of Flash memory the exact same specifications with Raspberry Pi Pico Robot controller board 4x Servo motors 2x DC motors with quick test buttons Versatile power circuit Automatic power selection: USB 5 V, LiPo (1-cell) or Vin (3.6-6 V) Built-in 1-cell LiPo/Li-Ion charger (over-charged & over-discharged protection) Power on/off switch 13x Status indicator LEDs for GPIO pins 1x Piezo buzzer with mute switch 2x Push button 2x RGB LED (Neopixel) 7x Grove ports (flexible I/O options: digital, analog, I²C, SPI, UART...) Preloaded with CircuitPython by default Mouting holes 4x 4.8 mm mounting hole (LEGO pin compatible) 6x M3 screw hole
Features Piezo Buzzer: Acts as a simple audio output Micro USB Port Programmable Button 12 x LED: Provides visual output on board Specifications Microcontroller ATmega328P Programming IDE Arduino IDE Operating Voltage 5 V Digital I/O 20 PWM 6 Analog Input 6 (10-bit) UART 1 SPI 1 I2C 1 External Interrupt 2 Flash Memory 32 KB SRAM 2 KB EEPROM / Data Flash 1 KB Clock Speed 16 MHz DC Current I/O Pin 20 mA Power Supply USB only DC Current for 5 V USB Source DC Current for 3.3 V 500 mA USB to Serial Chip CH340G Programmable LED 12 at digital Pin 2 to 13 Programmable Push Button 1 at digital Pin 2 Piezo Buzzer 1 at digital Pin 8 Arduino vs Maker Uno