James Will

1637393383

What is PIC16F676 Microcontroller?

Hope you have a wonderful day today! This is James Will. I would like to have a discussion on PIC16F676 Microcontroller. PIC16F676 is a MICROCHIP TECHNOLOGY microcontroller from the 'PIC16F' series which has developed this 8-bit CMOS PIC microcontroller based on Flash. This article mainly introduces features, pinout, datasheet and other detailed information about Microchip Technology PIC16F676.

  1. Description

PIC16F676 is a MICROCHIP TECHNOLOGY microcontroller from the 'PIC16F' series which has developed this 8-bit CMOS PIC microcontroller based on Flash. It has a 14-pin interface and a high-performance RISC CPU, making it an excellent choice for a wide range of electronic applications, including embedded systems and industrial automation. This little chip has everything you'll need to create customized student projects. 

Although memory space and pin count are limited when compared to other PIC controllers, flash-based technology allows this device to communicate with external devices. It's popular with amateurs and engineers because of its features, low cost, and tiny size.

2. Features

(1) High-Performance RISC CPU

• Only 35 Instructions to Learn

- All single-cycle instructions except branches

• Operating Speed:

- DC – 20 MHz oscillator/clock input

- DC – 200 ns instruction cycle

• Interrupt Capability

• 8-level Deep Hardware Stack

• Direct, Indirect, and Relative Addressing modes

(2) Special Microcontroller Features

• Internal and External Oscillator Options

- Precision Internal 4 MHz oscillator factory calibrated to ±1%

- External Oscillator support for crystals and resonators

- 5 μs wake-up from Sleep, 3.0V, typical

• Power-Saving Sleep mode

• Wide Operating Voltage Range – 2.0V to 5.5V

• Industrial and Extended Temperature Range

• Low-Power Power-on Reset (POR)

• Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)

• Brown-out Detect (BOD)

• Watchdog Timer (WDT) with Independent Oscillator for Reliable Operation

• Multiplexed MCLR/Input-pin

• Interrupt-on-Pin Change

• Individual Programmable Weak Pull-ups

• Programmable Code Protection

• High Endurance Flash/EEPROM cell

- 100,000 write Flash endurance

- 1,000,000 write EEPROM endurance

- Flash/data EEPROM retention: > 40 years

(3) Low-Power Features

• Standby Current

- 1 nA @ 2.0V, typical

• Operating Current

- 8.5 μA @ 32 kHz, 2.0V, typical

- 100 μA @ 1 MHz, 2.0V, typical

• Watchdog Timer Current

- 300 nA @ 2.0V, typical

• Timer1 Oscillator Current

- 4 μA @ 32 kHz, 2.0V, typical

(4) Peripheral Features

• 12 I/O Pins with Individual Direction Control

• High Current Sink/Source for Direct LED Drive

• Analog Comparator module with:

- One analog comparator

- Programmable on-chip comparator voltage reference (CVREF) module

- Programmable input multiplexing from device inputs

- Comparator output is externally accessible

• Analog-to-Digital Converter module (PIC16F676)

- 10-bit resolution

- Programmable 8-channel input

- Voltage reference input

• Timer0: 8-bit Timer/Counter with 8-bit Programmable Prescaler

• Enhanced Timer1

- 16-bit timer/counter with Prescaler

- External Gate Input mode

- Option to use OSC1 and OSC2 in LP mode as Timer1 oscillator, if INTOSC mode selected

• In-Circuit Serial ProgrammingTM (ICSPTM) via two pins

3. How to use PIC16F676 Microcontroller

The device is built with a PIC16F676 for reading analog signals like voltage and a 7-segment LED to display the 3-digit output.

Since most PIC microcontrollers have either an 8-bit or 10-bit analog to digital converter module, the PIC16F676 has 10-bits 8 channels in terms of hardware. Only one channel is utilized to measure input voltages in this project, with the remaining pins being used for digital I/O. The voltage input is handled by a voltage divider made up of R1 and R2. VR1, which is connected in parallel with R2, adjusts the proper display of full-scale voltage. The divided input voltage from AN3 will provide the analog input.

The digital output RA0-RA2 turns on/off the digits in the scan display process. The RC0-RC5 and RA5 drive the 7-segment display, which will be decoded by software utilizing the CCS C compiler to program. The input voltage on RA3 is transformed to a 7-segment code. The timer is programmed to interrupt every 5 ms while scanning all digits at 66 Hz frequency. This means that only one digit is turned on every 5 milliseconds.

4. Applications

• Prototyping Custom Circuits

• GPS and Security Systems

• Central Heating Projects

• Student Projects for Sensor Interfacing and Motor Controlling

• Used in Home and Industrial Automation

• Embedded System

5. Manufacturer

Microchip Technology Incorporated is a leading manufacturer of smart, networked, and secure embedded control solutions. Customers may create optimal designs using the company's simple development tools and broad product choices, which reduce risk while lowering overall system costs and time to market. The company's technologies are used by over 120,000 clients in the industrial, automotive, consumer, aerospace and defense, communications, and computing sectors. Microchip, based in Chandler, Arizona, offers outstanding technical support as well as dependable delivery and quality.

6. The reason of choosing PIC MicroControllers

• PIC controllers are useful for automating a wide range of electronic equipment, and their user-friendly interface makes them simple to set up.

• A multitude of functions can be performed on a single chip without the need for external components, resulting in a cost-effective and space-saving project.

• Some chips have an ADC module, making them perfect for tasks that require digital output as a final result.

• All burners and PIC compilers are readily available, making the learning process easier.

I hope this article will be helpful to you. Thanks in advance.


 


 

 


 

What is GEEK

Buddha Community

What is PIC16F676 Microcontroller?
Mckenzie  Osiki

Mckenzie Osiki

1621931885

How TensorFlow Lite Fits In The TinyML Ecosystem

TensorFlow Lite has emerged as a popular platform for running machine learning models on the edge. A microcontroller is a tiny low-cost device to perform the specific tasks of embedded systems.

In a workshop held as part of Google I/O, TensorFlow founding member Pete Warden delved deep into the potential use cases of TensorFlow Lite for microcontrollers.

Further, quoting the definition of TinyML from a blog, he said:

“Tiny machine learning is capable of performing on-device sensor data analytics at extremely low power, typically in the mW range and below, and hence enabling a variety of ways-on-use-case and targeting battery operated devices.”

#opinions #how to design tinyml #learn tinyml #machine learning models low cost #machine learning models low power #microcontrollers #tensoflow latest #tensorflow lite microcontrollers #tensorflow tinyml #tinyml applications #tinyml models

Brain  Crist

Brain Crist

1599843600

Demystifying ARM TrustZone for Microcontrollers (and a Note on Rust Support)

TrustZone is different from that of a separate physical security co-processor (like a TPM or a secure element) with a pre-defined set of features. You can think of it as a virtualization technology for ARM CPUs i.e. it virtualizes a physical ARM CPU core — a TrustZone enabled ARMv8 core can exist in one of 2 states **Secure OR Non-Secure. **This, in turn, allows us to partition all system HW and SW resources so that they exist in 1 of the 2 worlds.

Image for post

#trust-zone #microcontrollers #processors #rust #hardware

Part 2: Creating a Simple Keras Model for Inference on Microcontrollers

Welcome to the second article about running machine learning algorithms on microcontrollers.

In the previous article, we have created and trained a simple Keras model that was able to classify 3 different classes from CIFAR-10 dataset.

We looked at how to prepare that model for running on a microcontroller, quantized it and saved it to disk as a C file.

It is now time to look at how to setup the development environment and how to run inference on an actual microcontroller.

For this we will need two things to follow along. First, we will need to clone MicroMl project, which will provide us with the example code.

Second, we will need some kind of ARM development board. Example code uses ST’s Nucleo-F767ZI board. For demonstration, we will stick with the preferred choice, as we can run the example code as it is, no modifications needed.

If we do not have that specific board at hand, no need to worry! MicroML was created with customization in mind, so we will show you how to modify code so you can make it run on the development board of your choice.

One thing before we start, it is recommended to read the prerequisites section of README.md of MicroML, so you can see what you will need to get this project running on Windows or Linux.

1. Setup

We will start by cloning MicroMl repo recursively, and changing to keras_article branch.

git clone --recurse-submodules https://github.com/SkobecSlo/MicroML.git
git checkout keras_article

NOTE: MicroML pulls in whole TensorFlow library, which is around 2.5 GB big. For this step to take some time is perfectly normal.

TensorFlow setup

Before we can even compile a simple example for our target, we need to run a hello_world example that will be executed on our host machine. This is needed because makefiles written by TensorFlow team pull in several necessary repositories from third parties, which are missing by default. After compilation, these libraries can be found under tensorflow/lite/micro/tools/make/downloads. To get them, we first move inside tensorflow folder and run make:

cd MicroMl/tensorflow
sudo make -f tensorflow/lite/micro/tools/make/Makefile hello_world

#tensorflow #keras #microcontrollers #machine-learning #embedded-systems

James Will

1637393383

What is PIC16F676 Microcontroller?

Hope you have a wonderful day today! This is James Will. I would like to have a discussion on PIC16F676 Microcontroller. PIC16F676 is a MICROCHIP TECHNOLOGY microcontroller from the 'PIC16F' series which has developed this 8-bit CMOS PIC microcontroller based on Flash. This article mainly introduces features, pinout, datasheet and other detailed information about Microchip Technology PIC16F676.

  1. Description

PIC16F676 is a MICROCHIP TECHNOLOGY microcontroller from the 'PIC16F' series which has developed this 8-bit CMOS PIC microcontroller based on Flash. It has a 14-pin interface and a high-performance RISC CPU, making it an excellent choice for a wide range of electronic applications, including embedded systems and industrial automation. This little chip has everything you'll need to create customized student projects. 

Although memory space and pin count are limited when compared to other PIC controllers, flash-based technology allows this device to communicate with external devices. It's popular with amateurs and engineers because of its features, low cost, and tiny size.

2. Features

(1) High-Performance RISC CPU

• Only 35 Instructions to Learn

- All single-cycle instructions except branches

• Operating Speed:

- DC – 20 MHz oscillator/clock input

- DC – 200 ns instruction cycle

• Interrupt Capability

• 8-level Deep Hardware Stack

• Direct, Indirect, and Relative Addressing modes

(2) Special Microcontroller Features

• Internal and External Oscillator Options

- Precision Internal 4 MHz oscillator factory calibrated to ±1%

- External Oscillator support for crystals and resonators

- 5 μs wake-up from Sleep, 3.0V, typical

• Power-Saving Sleep mode

• Wide Operating Voltage Range – 2.0V to 5.5V

• Industrial and Extended Temperature Range

• Low-Power Power-on Reset (POR)

• Power-up Timer (PWRT) and Oscillator Start-up Timer (OST)

• Brown-out Detect (BOD)

• Watchdog Timer (WDT) with Independent Oscillator for Reliable Operation

• Multiplexed MCLR/Input-pin

• Interrupt-on-Pin Change

• Individual Programmable Weak Pull-ups

• Programmable Code Protection

• High Endurance Flash/EEPROM cell

- 100,000 write Flash endurance

- 1,000,000 write EEPROM endurance

- Flash/data EEPROM retention: > 40 years

(3) Low-Power Features

• Standby Current

- 1 nA @ 2.0V, typical

• Operating Current

- 8.5 μA @ 32 kHz, 2.0V, typical

- 100 μA @ 1 MHz, 2.0V, typical

• Watchdog Timer Current

- 300 nA @ 2.0V, typical

• Timer1 Oscillator Current

- 4 μA @ 32 kHz, 2.0V, typical

(4) Peripheral Features

• 12 I/O Pins with Individual Direction Control

• High Current Sink/Source for Direct LED Drive

• Analog Comparator module with:

- One analog comparator

- Programmable on-chip comparator voltage reference (CVREF) module

- Programmable input multiplexing from device inputs

- Comparator output is externally accessible

• Analog-to-Digital Converter module (PIC16F676)

- 10-bit resolution

- Programmable 8-channel input

- Voltage reference input

• Timer0: 8-bit Timer/Counter with 8-bit Programmable Prescaler

• Enhanced Timer1

- 16-bit timer/counter with Prescaler

- External Gate Input mode

- Option to use OSC1 and OSC2 in LP mode as Timer1 oscillator, if INTOSC mode selected

• In-Circuit Serial ProgrammingTM (ICSPTM) via two pins

3. How to use PIC16F676 Microcontroller

The device is built with a PIC16F676 for reading analog signals like voltage and a 7-segment LED to display the 3-digit output.

Since most PIC microcontrollers have either an 8-bit or 10-bit analog to digital converter module, the PIC16F676 has 10-bits 8 channels in terms of hardware. Only one channel is utilized to measure input voltages in this project, with the remaining pins being used for digital I/O. The voltage input is handled by a voltage divider made up of R1 and R2. VR1, which is connected in parallel with R2, adjusts the proper display of full-scale voltage. The divided input voltage from AN3 will provide the analog input.

The digital output RA0-RA2 turns on/off the digits in the scan display process. The RC0-RC5 and RA5 drive the 7-segment display, which will be decoded by software utilizing the CCS C compiler to program. The input voltage on RA3 is transformed to a 7-segment code. The timer is programmed to interrupt every 5 ms while scanning all digits at 66 Hz frequency. This means that only one digit is turned on every 5 milliseconds.

4. Applications

• Prototyping Custom Circuits

• GPS and Security Systems

• Central Heating Projects

• Student Projects for Sensor Interfacing and Motor Controlling

• Used in Home and Industrial Automation

• Embedded System

5. Manufacturer

Microchip Technology Incorporated is a leading manufacturer of smart, networked, and secure embedded control solutions. Customers may create optimal designs using the company's simple development tools and broad product choices, which reduce risk while lowering overall system costs and time to market. The company's technologies are used by over 120,000 clients in the industrial, automotive, consumer, aerospace and defense, communications, and computing sectors. Microchip, based in Chandler, Arizona, offers outstanding technical support as well as dependable delivery and quality.

6. The reason of choosing PIC MicroControllers

• PIC controllers are useful for automating a wide range of electronic equipment, and their user-friendly interface makes them simple to set up.

• A multitude of functions can be performed on a single chip without the need for external components, resulting in a cost-effective and space-saving project.

• Some chips have an ADC module, making them perfect for tasks that require digital output as a final result.

• All burners and PIC compilers are readily available, making the learning process easier.

I hope this article will be helpful to you. Thanks in advance.


 


 

 


 

Arno  Bradtke

Arno Bradtke

1602430101

TinyML And Its ‘Great’ Application in IoT Technology

Tiny machine learning (TinyML) is an embedded software technology that can be used to build low power consuming devices to run machine learning models. It is also more famously referred to as the missing link between device intelligence and edge hardware. It makes computing at edge cheaper, less expensive, and more stable. Further, TinyML also facilitates improved response time, privacy, and low energy cost.

TinyML is massively growing in popularity with every passing year. As per ABI Research, a global tech market advisory firm, by 2030, about 230 billion devices will be shipped with TinyML chipset.

TinyML has the ability to provide a range of applications, from imagery micro-satellite, wildfire detection, and for identifying crop ailments and animal illness. Another area of application that is drawing great attention is its application in IoT devices.

#opinions #iot #machine learning #microcontroller #tinyml #tinyml iot