Create Models for 3D Printing, CNC Milling, Process Communication and DocumentationEngineers dread designing 3D models using traditional modeling software. OpenSCAD takes a refreshing and completely different approach. Create your models by arranging geometric solids in a JavaScript-like language, and use them with your 3D printer, CNC mill, or process communication.OpenSCAD differs from other design systems in that it uses programmatical modeling. Your model is made up of primitives that are invoked using a C-, Java- or Python-like language. This approach to model design is close to the “mechanical work” done in the real world and appeals to engineers and others who are not a member of the traditional creative class.OpenSCAD also provides a wide variety of comfort functions that break the 1:1 relationship between code and geometry. This book demonstrates the various features of the programming language using practical examples such as a replacement knob for a LeCroy oscilloscope, a wardrobe hanger, a container for soap dispensers, and various other real-life examples.Written by an engineer with over 15 years of experience, this book is intended for Linux and Windows users alike. If you have programming experience in any language, this book will have you producing practical three-dimensional objects in short order!
Create Models for 3D Printing, CNC Milling, Process Communication and Documentation
Engineers dread designing 3D models using traditional modeling software. OpenSCAD takes a refreshing and completely different approach. Create your models by arranging geometric solids in a JavaScript-like language, and use them with your 3D printer, CNC mill, or process communication.
OpenSCAD differs from other design systems in that it uses programmatical modeling. Your model is made up of primitives that are invoked using a C-, Java- or Python-like language. This approach to model design is close to the “mechanical work” done in the real world and appeals to engineers and others who are not a member of the traditional creative class.
OpenSCAD also provides a wide variety of comfort functions that break the 1:1 relationship between code and geometry. This book demonstrates the various features of the programming language using practical examples such as a replacement knob for a LeCroy oscilloscope, a wardrobe hanger, a container for soap dispensers, and various other real-life examples.
Written by an engineer with over 15 years of experience, this book is intended for Linux and Windows users alike. If you have programming experience in any language, this book will have you producing practical three-dimensional objects in short order!
50+ Android Apps with Raspberry Pi, ESP32 and Arduino
This book is about developing apps for Android compatible mobile devices using the MIT App Inventor online development environment. MIT App Inventor projects can be in either standalone mode or use an external processor. In standalone mode, the developed application runs only on the mobile device (e.g. Android). In external processor-based applications, the mobile device communicates with an external microcontroller-based processor, such as Raspberry Pi, Arduino, ESP8266, ESP32, etc.
In this book, many tested and fully working projects are given both in standalone mode and using an external processor. Full design steps, block programs, circuit diagrams, QR codes and full program listings are given for all projects.
The projects developed in this book include:
Using the text-to-speech component
Intonating a received SMS message
Sending SMS messages
Making telephone calls using a contacts list
Using the GPS and Pin-pointing our location on a map
Speech recognition and speech translation to another language
Controlling multiple relays by speech commands
Projects for the Raspberry Pi, ESP32 and Arduino using Bluetooth and Wi-Fi
MIT APP Inventor and Node-RED projects for the Raspberry Pi
The book is unique in that it is currently the only book that teaches how to develop projects using Wi-Fi and Node-RED with MIT App Inventor. The book is aimed at students, hobbyists, and anyone interested in developing apps for mobile devices.
All projects presented in this book have been developed using the MIT App Inventor visual programming language. There is no need to write any text-based programs. All projects are compatible with Android-based mobile devices. Full program listings for all projects as well as detailed program descriptions are given in the book. Users should be able to use the projects as they are presented, modifying them to suit their own needs.
The board contains everything needed to support the microcontroller; simply connect it to a computer with a micro-USB cable or power it with an AC-to-DC adapter or battery to get started. The Due is compatible with all Arduino shields that work at 3.3V and are compliant with the 1.0 Arduino pinout.
The Due follows the 1.0 pinout:
TWI: SDA and SCL pins that are near to the AREF pin.
IOREF: allows an attached shield with the proper configuration to adapt to the voltage provided by the board. This enables shield compatibility with a 3.3V board like the Due and AVR-based boards which operate at 5V.
An unconnected pin, reserved for future use.
Specifications
Operating Voltage
3.3 V
Input Voltage
7-12 V
Digital I/O
54
Analog Input Pins
12
Analog Output Pins
2 (DAC)
Total DC Output Current on all I/O Lines
130 mA
DC Current per I/O Pin
20 mA
DC Current for 3.3 V Pin
800 mA
DC Current for 5 V Pin
800 mA
Flash Memory
512 KB all available for the user applications
SRAM
96 KB
Clock Speed
84 MHz
Length
101.52 mm
Width
53.3 mm
Weight
36 g
Please note: Unlike most Arduino boards, the Arduino Due board runs at 3.3V. The maximum voltage that the I/O pins can tolerate is 3.3V. Applying voltages higher than 3.3V to any I/O pin could damage the board.
The single backlit button is a simple mechanical switch that comes with an LED inside. When you press the button, the circuit is completed, driving your pin high or low. Use the embedded LED to make a glowing power icon, logo , or whatever suits your fancy.
Features
Press durability: Up to 10,000 times pressing under 5lbf (22.24 N)
LED Voltage: 5 V
Component: 2" x 3" Individual (5,08 x 7,62 cm)
Button Size: 1" radius circle (2,54 cm)
Double Backlit User Interface: The dual backlit button is just like the single backlit button, but twice the fun! Use this component when you need to operate something up and down, or right to left. Using cut-out vinyl, you can create icons and stickers on fabric that show your users button functionality.
Features
Component: 4.6 x 6.3"
Individual Button Size: 1" radius circle
Press Durability: Up to 10,000 presses under 5lbf
LED Voltage: 5 V
M5Stamp Fly is a programmable open-source quadcopter, featuring the StampS3 as the main controller. It integrates a BMI270 6-axis gyroscope and a BMM150 3-axis magnetometer for attitude and direction detection. The BMP280 barometric pressure sensor and two VL53L3 distance sensors enable precise altitude hold and obstacle avoidance. The PMW3901MB-TXQT optical flow sensor provides displacement detection.
The kit includes a buzzer, a reset button, and WS2812 RGB LEDs for interaction and status indication. It is equipped with a 300 mAh high-voltage battery and four high-speed coreless motors. The PCB features an INA3221AIRGVR for real-time current/voltage monitoring and has two Grove connectors for additional sensors and peripherals.
Preloaded with debugging firmware, the Stamp Fly can be controlled using an Atom Joystick via the ESP-NOW protocol. Users can choose between automatic and manual modes, allowing for easy implementation of functions like precise hovering and flips. The firmware source code is open-source, making the product suitable for education, research, and various drone development projects.
Applications
Education
Research
Drone development
DIY projects
Features
M5StampS3 as the main controller
BMP280 for barometric pressure detection
VL53L3 distance sensors for altitude hold and obstacle avoidance
6-axis attitude sensor
3-axis magnetometer for direction detection
Optical flow detection for hovering and displacement detection
Buzzer
300 mAh high-voltage battery
Current and voltage detection
Grove connector expansion
Specifications
M5StampS3
ESP32-S3@Xtensa LX7, 8 MB Flash, WiFi, OTG\CDC support
Motor
716-17600kv
Distance Sensor
VL53L3CXV0DH/1 (0x52) @ max 3 m
Optical Flow Sensor
PMW3901MB-TXQT
Barometric Sensor
BMP280 (0x76) @ 300-1100hPa
3-axis Magnetometer
BMM150 (0x10)
6-axis IMU Sensor
BMI270
Grove
I²C+UART
Battery
300mAh 1S high-voltage lithium battery
Current/Voltage Detection
INA3221AIRGVR (0x40)
Buzzer
Built-in Passive Buzzer @ 5020
Operating temperature
0-40°C
Dimensions
81.5 x 81.5 x 31 mm
Weight
36.8 g
Included
1x Stamp Fly
1x 300 mAh high-voltage Lithium battery
Downloads
Documentation
Program your REKA:BIT with Microsoft MakeCode Editor. Just add REKA:BIT MakeCode Extension and you’re good to go. If you’re a beginner, you can start with the block programming mode; simply drag, drop and snap the coding blocks together. For more advanced users, you can easily switch into JavaScript or Python mode on MakeCode Editor for text-based programming.
REKA:BIT possesses a lot of indicator LEDs to assist your coding and troubleshooting. It covers the IO pins connected to all six Grove ports and DC motor outputs from the co-processor. One is able to check his/her program and circuit connection easily by monitoring these LEDs.
Besides, REKA:BIT also has a power on/off indicator, undervoltage, and overvoltage LEDs built-in to give appropriate warnings should there be any problem with the power input.
REKA:BIT features a co-processor to handle multitasking more efficiently. Playing music while controlling up to 4x servo motors and 2x DC motors, animating micro:bit LED matrix, and even lighting up RGB LEDs in different colors, all at the same time, is not a problem for REKA:BIT.
Features
2x DC motor terminals
Built-in motor quick test buttons (no coding needed)
4x Servo motor ports
2x Neopixel RGB LEDs
6x Grove port (3.3 V)
3x Analog Input / Digital IO ports
2x Digital IO ports
1x I²C Interface
DC jack for power input (3.6-6 V DC)
ON/OFF switch
Power on indicator
Undervoltage (LOW) indicator & protection
Over-voltage (HIGH) indicator & protection
Dimensions: 10.4 x 72 x 15 mm
Included
1x REKA:BIT expansion board
1x USB power and data cable
1x 4xAA battery holder
1x Mini screwdriver
3x Grove to female header cable
2x Building block 1x9 lift arm
4x Building block friction pin
Please note: micro:bit board not included
The field of digital electronics is central to modern technology. This e-book presents fundamental circuits using gates, flip-flops and counters from the CMOS 4000 Series. Each of the 50 experiments has a circuit diagram as well as a detailed illustration of the circuit’s construction on solderless breadboard.
Learning these fundamentals is best done using practical experiments. Building these digital circuits will improve your knowledge and will be fun to boot. Many of the circuits presented here have practical real-life applications. With a good overview of the field, you’ll be well equipped to find simple and cost-effective solutions for any application.
The e-book is targeted essentially at students, trainees and anyone with an interest in and requiring an introduction to digital control electronics. Moreover, the knowledge gleaned here is the foundation for further projects in the field of microcontrollers and programming.
The Arduino Nano ESP32 is a Nano form factor board based on the ESP32-S3 (embedded in the NORA-W106-10B from u-blox). This is the first Arduino board to be based fully on an ESP32, and features Wi-Fi, Bluetooth LE, debugging via native USB in the Arduino IDE as well as low power.
The Nano ESP32 is compatible with the Arduino IoT Cloud, and has support for MicroPython. It is an ideal board for getting started with IoT development.
Features
Tiny footprint: Designed with the well-known Nano form factor in mind, this board's compact size makes it perfect for embedding in standalone projects.
Wi-Fi and Bluetooth: Harness the power of the ESP32-S3 microcontroller, well-known in the IoT realm, with full Arduino support for wireless and Bluetooth connectivity.
Arduino and MicroPython support: Seamlessly switch between Arduino and MicroPython programming with a few simple steps.
Arduino IoT Cloud compatible: Quickly and easily create IoT projects with just a few lines of code. The setup takes care of security, allowing you to monitor and control your project from anywhere using the Arduino IoT Cloud app.
HID support: Simulate human interface devices, such as keyboards or mice, over USB, opening up new possibilities for interacting with your computer.
Specifications
Microcontroller
u-blox NORA-W106 (ESP32-S3)
USB connector
USB-C
Pins
Built-in LED pins
13
Built-in RGB LED pins
14-16
Digital I/O pins
14
Analog input pins
8
PWM pins
5
External interrupts
All digital pins
Connectivity
Wi-Fi
u-blox NORA-W106 (ESP32-S3)
Bluetooth
u-blox NORA-W106 (ESP32-S3)
Communication
UART
2x
I²C
1x, A4 (SDA), A5 (SCL)
SPI
D11 (COPI), D12 (CIPO), D13 (SCK). Use any GPIO for Chip Select (CS)
Power
I/O Voltage
3.3 V
Input voltage (nominal)
6-21 V
Source Current per I/O pin
40 mA
Sink Current per I/O pin
28 mA
Clock speed
Processor
Up to 240 MHz
Memory
ROM
384 kB
SRAM
512 kB
External Flash
128 Mbit (16 MB)
Dimensions
18 x 45 mm
Downloads
Datasheet
Schematics
The Arduino Nano RP2040 Connect is an RP2040-based Arduino board equipped with Wi-Fi (802.11b/g/n) and Bluetooth 4.2.
Besides wireless connectivity the board comes with a microphone for sound and voice activation and a six-axis smart motion sensor with AI capabilities. An RGB LED is available too. 22 GPIO ports (20 with PWM support and eight analogue inputs) let the user control e.g. relays, motors and LEDs and read switches and other sensors.
Program memory is plentiful with 16 MB of flash memory, more than enough room for storing many webpages or other data.
Specifications
Microcontroller
Raspberry Pi RP2040
USB connector
Micro USB
Pins
Built-in LED pins
13
Digital I/O pins
20
Analog Input pins
8
PWM pins
20 (Except A6, A7)
External interrupts
20 (Except A6, A7)
Connectivity
Wi-Fi
Nina W102 uBlox module
Bluetooth
Nina W102 uBlox module
Secure element
ATECC608A-MAHDA-T Crypto IC
Sensors
IMU
LSM6DSOXTR (6-axis)
Microphone
MP34DT05
Communication
UART
Yes
I²C
Yes
SPI
Yes
Power
Circuit operating voltage
3.3 V
Input Voltage (VIN)
5-21 V
DC Current per I/O pin
4 mA
Clock speed
Processor
133 MHz
Memory
AT25SF128A-MHB-T
16 MB Flash IC
Nina W102 uBlox module
448 KB ROM, 520 KB SRAM, 16 MB Flash
Dimensions
45 x 18 mm
Weight
6 g
Downloads
Schematics
Pinout
Datasheet
,
by Harry Baggen
FeelElec FR01D Multimeter With Thermal Imaging Camera (Review)
Chinese manufacturers of measuring equipment continue to surprise us with affordable measuring combinations that we would not have thought possible a few years ago. My...