Programming the Finite State Machine with 8-Bit PICs in Assembly and C
Andrew Pratt provides a detailed introduction to programming PIC microcontrollers, as well as a thorough overview of the Finite State Machine (FSM) approach to programming. Most of the book uses assembly programming, but do not be deterred. The FSM gives a structure to a program, making it easy to plan, write, and modify. The last two chapters introduce programming in C, so you can make a direct comparison between the two techniques. The book references the relevant parts of the Microchip datasheet as familiarity with it is the best way to discover detailed information.
This book is aimed at Microsoft Windows and Linux users. To keep your costs to a minimum and to simplify the toolchain, specific applications are provided as a free download to enable you to use an FTDI serial lead as the programmer. The assembler used is the open-source "gpasm". All programming can be done in a text editor. There are detailed instructions on how to perform the necessary installations on Windows, Linux Debian, and derivatives such as Ubuntu and Fedora. For programming in C, Microchip's XC8 compiler is used from the command line. In addition to the programming applications, two serial read and serial write applications can be used for communicating with the PICs from a computer.
A voltmeter project including practical instructions on building a circuit board from scratch is included. All theory is covered beforehand, including how to do integer arithmetic in assembly.
Two PICs are covered: the PIC12F1822 and the PIC16F1823. Both can run at 32 MHz with an internal oscillator. You do not need to buy a factory-made development board and programmer. With relatively inexpensive parts including a serial lead, microcontroller, a few resistors, and LEDs, you can get started exploring embedded programming.
Links
Updated Programmer
Features
1.54" IPS TFT display with 240x240 resolution that can show text or video
Stereo speaker ports for audio playback - either text-to-speech, alerts or for creating a voice assistant.
Stereo headphone out for audio playback through a stereo system, headphones, or powered speakers.
Stereo microphone input - perfect for making your very own smart home assistants
Two 3-pin JST STEMMA connectors that can be used to connect more buttons, a relay, or even some NeoPixels!
STEMMA QT plug-and-play I2C port can be used with any of Adafruits 50+ I2C STEMMA QT boards or can be used to connect to Grove I²C devices with an adapter cable.
5-Way Joystick + Button for user interface and control.
Three RGB DotStar LEDs for colorful LED feedback.
The STEMMA QT port means you can attach heat image sensors like the Panasonic Grid-EYE or MLX90640. Heat-Sensitive cameras can be used as a person detector, even in the dark! An external accelerometer can be attached for gesture or vibration sensing such as machinery/industrial predictive maintenance projects
Please note: A Raspberry Pi 4 is not included.
Plot, Cut, Drill, Mill and Laser with the Z99
This book covers the construction, hardware, software, and operation of the Z99 – CNC machine. This is a multifunctional 4-axis machine for home construction.
The capabilities of the Z99 machine include:
large-format schematic plotting
PCB plotting with etch-resist pens
schematic plotting with conductive-ink pens
letter cutting out of vinyl
paper cutting
PCB/substrate drilling
PCB/substrate milling
text milling
laser engraving
laser cutting of solder paste masks
By making the support software available as freeware, readers of the book are challenged and encouraged to develop new applications for the Z99.
The machine would not be of much use if the user has no option to create suitable files for the designs in mind. A large part of this book is dedicated to creating source files in a variety of freeware software packages, including Inkscape, DesignSpark PCB, KiCad, and FlatCAM.
The book is also useful for readers keen to comprehend and then master the basic structure of HPGL, Gerber, Drill, and G-code files, as well as to have a go at deciphering them using software.
Most people are increasingly confronted with the applications of Artificial Intelligence (AI). Music or video ratings, navigation systems, shopping advice, etc. are based on methods that can be attributed to this field.
The term Artificial Intelligence was coined in 1956 at an international conference known as the Dartmouth Summer Research Project. One basic approach was to model the functioning of the human brain and to construct advanced computer systems based on this. Soon it should be clear how the human mind works. Transferring it to a machine was considered only a small step. This notion proved to be a bit too optimistic. Nevertheless, the progress of modern AI, or rather its subspecialty called Machine Learning (ML), can no longer be denied.
In this book, several different systems will be used to get to know the methods of machine learning in more detail. In addition to the PC, both the Raspberry Pi and the Maixduino will demonstrate their capabilities in the individual projects. In addition to applications such as object and facial recognition, practical systems such as bottle detectors, person counters, or a “talking eye” will also be created.
The latter is capable of acoustically describing objects or faces that are detected automatically. For example, if a vehicle is in the field of view of the connected camera, the information 'I see a car!' is output via electronically generated speech. Such devices are highly interesting examples of how, for example, blind or severely visually impaired people can also benefit from AI systems.
The flexibility of the Artemis module starts with SparkFun's Arduino core. You can program and use the Artemis module just like you would an Uno or any other Arduino. The time to first blink is just 5 minutes away! We built the core from the ground up, making it fast and as lightweight as possible.
Next is the module itself. Measuring 10 x 15 mm, the Artemis module has all the support circuitry you need to use the fantastic Ambiq Apollo3 processor in your next project. We're proud to say the SparkFun Artemis module is the first open-source hardware module with the design files freely and easily available. We've carefully designed the module so that implementing Artemis into your design can be done with low-cost 2-layer PCBs and 8mil trace/space.
Made in the USA at SparkFun's Boulder production line, the Artemis module is designed for consumer-grade products. This truly differentiates the Artemis from its Arduino brethren. Ready to scale your product? The Artemis will grow with you beyond the Uno footprint and Arduino IDE. Additionally, the Artemis has an advanced HAL (hardware abstraction layer), allowing users to push the modern Cortex-M4F architecture to its limit.
The SparkFun Artemis Module is fully FCC/IC/CE certified and is available in full tape and reel quantities. With 1M flash and 384k RAM, you'll have plenty of room for your code. The Artemis module runs at 48MHz with a 96MHz turbo mode available and with Bluetooth to boot!
Voice recognition, always-on voice commands, gesture, or image recognition are possible with TensorFlow applications. The cloud is impressively robust, but all-the-time connection requires power and connectivity that may not be available. Edge computing handles discrete tasks such as determining if someone said 'yes' and responds accordingly. The audio analysis is done on the MicroMod combination rather than on the web. This dramatically reduces costs and complexity while limiting potential data privacy leaks.
This board features two MEMS microphones (one with a PDM interface, one with an I²S interface), an ST LIS2DH12 3-axis accelerometer, a connector to interface to a camera (sold separately), and a Qwiic connector. A modern USB-C connector makes programming easy and we've exposed the JTAG connector for more advanced users who prefer to use the power and speed of professional tools. We've even added a convenient jumper to measure current consumption for low power testing.
Features
M.2 MicroMod Keyed-E H4.2mm 65 pins SMD Connector 0.5mm
Digital I²C MEMS Microphone PDM Invensense ICS-43434 (COMP)
Digital PDM MEMS Microphone PDM Knowles SPH0641LM4H-1 (IC)
ML414H-IV01E Lithium Battery for RTC
ST LIS2DH12TR Accelerometer (3-axis, ultra-low-power)
24 Pin 0.5mm FPC Connector (Himax camera connector)
USB-C
Qwiic connector
MicroSD socket
Phillips #0 M2.5x3mm screw included
Grove - Time of Flight Distance Sensor-VL53L0X is a high speed, high accuracy and long range distance sensor based on VL53L0X. The VL53L0X is a new generation Time-of-Flight (ToF) laser-ranging module and it is one of the smallest on the market today. It provides accurate distance measurement independent of the target reflectances, making it superior to other conventional technologies. It can measure absolute distances up to 2 m, raising the standards in ranging performance levels and allowing various new applications. The VL53L0X integrates a leading-edge SPAD array (Single Photon Avalanche Diodes) and embeds ST’s second generation Flight SenseTM patented technology. The VL53L0X’s 940 nm VCSEL emitter (Vertical-Cavity Surface-Emitting Laser), is totally invisible to the human eye, coupled with internal physical infrared filters, it enables longer ranging distances, higher immunity to ambient light, and better robustness to cover glass optical crosstalk. Features VCSEL driver Ranging sensor with advanced embedded microcontroller Advanced embedded optical cross-talk compensation to simplify cover glass selection Safe for eyes: Class 1 laser device compliant with latest standard IEC 60825-1:2014 - 3rd edition Single power supply I²C interface for device control and data transfer Xshutdown (reset) and interrupt GPIO Programmable I²C address Working voltage: 3.3 V / 5 V Working temperature: 20 ℃ - 70 ℃ Recommended measurement distance: 30 mm - 1000 mm Default I²C address: 0x52 Included 1x Grove - Time of Flight Distance Sensor-VL53L0X 1x Grove Cable
The SUNKKO 737G+ spot welder is a powerful and versatile tool designed for seamless and precise welding, particularly for 18650 battery packs. Prioritizing safety, it comes equipped with a 30 A fuse for 220 V, ensuring protection against potential electrical hazards, giving users peace of mind during use.
For enhanced adaptability, the welder offers the option of automatic or foot pedal control, allowing you to switch between modes based on your needs and preferences. Whether you're working on intricate projects or larger tasks, this flexibility ensures you have full control at all times.
With a robust 4.3 KW rated capacity, the SUNKKO 737G+ delivers the power needed for efficient and effective welding. Its advanced pulse control system features four pulse time settings ranging from 2 to 20 milliseconds, and eight extended pulse time settings between 8 and 80 milliseconds. This level of precision gives you the ability to tailor the welding process to each specific task, ensuring high-quality results every time.
Furthermore, the welder supports a maximum welding thickness of 0.35 mm, making it suitable for a variety of battery sizes and materials. This versatility, combined with its advanced features, makes the SUNKKO 737G+ an excellent choice for both professionals and hobbyists seeking reliable, efficient, and safe welding performance.
IMPORTANT: This device requires a 25 A circuit breaker. Do not use with a smaller circuit breaker!
Features
Max. power output: 4.3 kW (Instantaneous)
Input voltage: 220 V
Welding current: 120-1200 A
Single pulse time: 5 ms
Max. pulse quantity: 18
Fuse: 30 A
Max. welding thickness: 0.35 mm
Automatic spot welding
Foot pedal control welding
Dimensions: 14 x 25 x 20 cm
Weight: 7 kg
Included
1x 737G+ spot welding machine
1x S70BN mobile welding pen
1x Copper welding rods
1x Mini grinder with USB cable
1x Copper welding pins for mobile pen
1x Battery fixture
1x Foot pedal
2x Fuses
1x Hexagon wrench
50x Nickel plated steel (0.15 x 8 x 100 mm)
50x Nickel plated steel (0.1 x 4 x 100 mm)
1x Manual
Downloads
Manual
Over 45 Builds for the Legendary 555 Chip (and the 556, 558)
The 555 timer IC, originally introduced by the Signetics Corporation around 1971, is sure to rank high among the most popular analog integrated circuits ever produced. Originally called the IC Time Machine, this chip has been used in many timer-related projects by countless people over decades.
This book is all about designing projects based on the 555 timer IC. Over 45 fully tested and documented projects are presented. All projects have been fully tested by the author by constructing them individually on a breadboard. You are not expected to have any programming experiences for constructing or using the projects given in the book. However, it’s definitely useful to have some knowledge of basic electronics and the use of a breadboard for constructing and testing electronic circuits.
Some of the projects in the book are:
Alternately Flashing Two LEDs
Changing LED Flashing Rate
Touch Sensor On/Off Switch
Switch On/Off Delay
Light-Dependent Sound
Dark/Light Switch
Tone Burst Generator
Long Duration Timer
Chasing LEDs
LED Roulette Game
Traffic Lights
Continuity Tester
Electronic Lock
Switch Contact Debouncing
Toy Electronic Organ
Multiple Sensor Alarm System
Metronome
Voltage Multipliers
Electronic Dice
7-Segment Display Counter
Motor Control
7-Segment Display Dice
Electronic Siren
Various Other Projects
The projects given in the book can be modified or expanded by you for your very own applications. Electronic engineering students, people engaged in designing small electronic circuits, and electronic hobbyists should find the projects in the book instructive, fun, interesting, and useful.
Over 45 Builds for the Legendary 555 Chip (and the 556, 558)
The 555 timer IC, originally introduced by the Signetics Corporation around 1971, is sure to rank high among the most popular analog integrated circuits ever produced. Originally called the IC Time Machine, this chip has been used in many timer-related projects by countless people over decades.
This book is all about designing projects based on the 555 timer IC. Over 45 fully tested and documented projects are presented. All projects have been fully tested by the author by constructing them individually on a breadboard. You are not expected to have any programming experiences for constructing or using the projects given in the book. However, it’s definitely useful to have some knowledge of basic electronics and the use of a breadboard for constructing and testing electronic circuits.
Some of the projects in the book are:
Alternately Flashing Two LEDs
Changing LED Flashing Rate
Touch Sensor On/Off Switch
Switch On/Off Delay
Light-Dependent Sound
Dark/Light Switch
Tone Burst Generator
Long Duration Timer
Chasing LEDs
LED Roulette Game
Traffic Lights
Continuity Tester
Electronic Lock
Switch Contact Debouncing
Toy Electronic Organ
Multiple Sensor Alarm System
Metronome
Voltage Multipliers
Electronic Dice
7-Segment Display Counter
Motor Control
7-Segment Display Dice
Electronic Siren
Various Other Projects
The projects given in the book can be modified or expanded by you for your very own applications. Electronic engineering students, people engaged in designing small electronic circuits, and electronic hobbyists should find the projects in the book instructive, fun, interesting, and useful.
,
by Clemens Valens
The Anet 4540 Desktop CNC and Engraving Machine
Like 3D printers and laser engraving machines, CNC machines have become more mainstream too. Where they used to cost thousands of euros in the past,...