<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.flowcode.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HamedA</id>
	<title>Flowcode Help - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://www.flowcode.co.uk/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=HamedA"/>
	<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Special:Contributions/HamedA"/>
	<updated>2026-05-01T06:32:39Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.34.1</generator>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41336</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41336"/>
		<updated>2024-10-14T15:45:32Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/wiki/images/3/3d/Pins_Uno_ESP32_PIC16F18877.xlsx Downloadable Excel File Version]&lt;br /&gt;
&lt;br /&gt;
[[File:PIC Remappable Pins.png|thumb|[https://www.flowcode.co.uk/wiki/images/3/3d/Pins_Uno_ESP32_PIC16F18877.xlsx PIC Remappable Pins Spreadsheet]]]&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
Lists pin numbers and corresponding port bit, functions like analog input, power, ground, reset, USART (serial communication), SPI (serial peripheral interface), I2C (inter-integrated circuit), external interrupts, and PWM (pulse-width modulation).&lt;br /&gt;
Detailed breakdown of pin configurations for specific functions like communication protocols and control signals.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
Provides pin details for this Microchip PIC microcontroller, including ports, ADC (analog-to-digital conversion) channels, external clock pins, reset, USART, SPI, I2C, interrupts, PWM, and other input/output control options.&lt;br /&gt;
Emphasis on different analog input capabilities and communication protocol interfaces.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
Describes pin assignments for ADC (analog-to-digital converter), PWM, GPIO (general-purpose input/output), reset, USART, SPI, and I2C for the ESP32 board.&lt;br /&gt;
Lists pin mappings relevant to power management and interfacing with external devices.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
Shows port and bit configurations for various onboard features such as LEDs, switches, 7-segment displays, LCD screens, and analog sound outputs.&lt;br /&gt;
Highlights control over integrated components through the board's ports.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
Outlines the port and bit configurations specifically for controlling servos connected to the motor board.&lt;br /&gt;
Focuses on basic input/output control for servo motors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:PIC_Remappable_Pins.png&amp;diff=41335</id>
		<title>File:PIC Remappable Pins.png</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:PIC_Remappable_Pins.png&amp;diff=41335"/>
		<updated>2024-10-14T15:44:43Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;PIC Remappable Pins&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41334</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41334"/>
		<updated>2024-10-14T15:41:07Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/wiki/images/3/3d/Pins_Uno_ESP32_PIC16F18877.xlsx Downloadable Excel File Version]&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
Lists pin numbers and corresponding port bit, functions like analog input, power, ground, reset, USART (serial communication), SPI (serial peripheral interface), I2C (inter-integrated circuit), external interrupts, and PWM (pulse-width modulation).&lt;br /&gt;
Detailed breakdown of pin configurations for specific functions like communication protocols and control signals.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
Provides pin details for this Microchip PIC microcontroller, including ports, ADC (analog-to-digital conversion) channels, external clock pins, reset, USART, SPI, I2C, interrupts, PWM, and other input/output control options.&lt;br /&gt;
Emphasis on different analog input capabilities and communication protocol interfaces.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
Describes pin assignments for ADC (analog-to-digital converter), PWM, GPIO (general-purpose input/output), reset, USART, SPI, and I2C for the ESP32 board.&lt;br /&gt;
Lists pin mappings relevant to power management and interfacing with external devices.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
Shows port and bit configurations for various onboard features such as LEDs, switches, 7-segment displays, LCD screens, and analog sound outputs.&lt;br /&gt;
Highlights control over integrated components through the board's ports.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
Outlines the port and bit configurations specifically for controlling servos connected to the motor board.&lt;br /&gt;
Focuses on basic input/output control for servo motors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41333</id>
		<title>Remappable Peripheral Pins</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41333"/>
		<updated>2024-10-14T15:40:43Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Remappable Pin Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Remappable Pin Table ==&lt;br /&gt;
The [[Remappable Pin Table]] wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
[[Remappable Pin Table]]&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/wiki/images/3/3d/Pins_Uno_ESP32_PIC16F18877.xlsx Downloadable Excel File Version]&lt;br /&gt;
&lt;br /&gt;
== Remappable Peripheral Pins ==&lt;br /&gt;
Some of the more powerful Microcontroller devices allow you to re-route the normally fixed pin connections for internal functionality such as PWM, UART, SPI and CAN.&lt;br /&gt;
&lt;br /&gt;
When this remappable functionality is available components will present an extra set of properties to allow you to configure the pin connection that will be used by the peripheral. Not all pins are available to work with the remappable functionality so we list only the compatible pins to help narrow down the selection and guarantee that the selected pin will be ok to work with the functionality. Some remappable pins only work as an input (RPI instead of RP in the device datasheet) so you can use these for example with the SPI data input pin but not the data output pin so be aware that the list of pins may change depending what function you are currently assigning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PWM Component with Remappable pin ====&lt;br /&gt;
&lt;br /&gt;
[[File:PWMPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SPI Component with Remappable pins ====&lt;br /&gt;
&lt;br /&gt;
[[File:SPIPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
If your chosen target Microcontroller device does not support the remappable functionality then the additional properties will be automatically hidden from the user.&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Pins_Uno_ESP32_PIC16F18877.xlsx&amp;diff=41332</id>
		<title>File:Pins Uno ESP32 PIC16F18877.xlsx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Pins_Uno_ESP32_PIC16F18877.xlsx&amp;diff=41332"/>
		<updated>2024-10-14T15:39:10Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Summary */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Pins_Uno_ESP32_PIC16F18877&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Pins_Uno_ESP32_PIC16F18877.xlsx&amp;diff=41331</id>
		<title>File:Pins Uno ESP32 PIC16F18877.xlsx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Pins_Uno_ESP32_PIC16F18877.xlsx&amp;diff=41331"/>
		<updated>2024-10-14T15:38:54Z</updated>

		<summary type="html">&lt;p&gt;HamedA: Pins_-_Uno_ESP32_PIC16F18877&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Pins_-_Uno_ESP32_PIC16F18877&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Flowcode_Help_Overview&amp;diff=41330</id>
		<title>Flowcode Help Overview</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Flowcode_Help_Overview&amp;diff=41330"/>
		<updated>2024-10-14T12:17:36Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Chip Specifics */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a detailed guide to using Flowcode, covering various aspects of the software. &lt;br /&gt;
&lt;br /&gt;
Here’s a brief summary of the sections:&lt;br /&gt;
&lt;br /&gt;
# Getting Started: Instructions on activating Flowcode, navigating the interface, creating projects, configuring devices, and saving/loading projects. It also offers specific guides for embedded, PC, web, and Raspberry Pi development.&lt;br /&gt;
# Program Editing: Explains flowchart icons, adding/editing icons, code folding, grouping icons, simulating C code, converting C code to flowcharts, and multi-monitor support.&lt;br /&gt;
# Macros: Covers creating, editing, and deleting macros, along with exporting/importing macros and using the project explorer.&lt;br /&gt;
# Functions: Describes built-in mathematical and string manipulation functions, undo/redo operations, annotations, and find/replace functionality.&lt;br /&gt;
# Variables: Guides on creating, editing, and using different variable types, handles, typecasting, and state machines.&lt;br /&gt;
# Panels: Explains how to choose, manipulate, and control 2D and 3D simulation panels, including object positioning, scaling, and rotation.&lt;br /&gt;
# Tools and Views: Provides details on compiler toolchains, toolbars, project options, global settings, simulation debugging, and window layouts.&lt;br /&gt;
# Components: Information on components, including common ones, macros, properties, help files, CAL/DSP components, and remappable peripheral pins.&lt;br /&gt;
# Chip Specifics: Explains how to compile a flowchart into machine code, use oscillators, PLLs, interrupts, third-party programming tools, and manage compiler options.&lt;br /&gt;
# Support: Offers guidance on getting updates, reporting bugs, using licensed compilers, accessing technical support, and migrating from older Flowcode versions.&lt;br /&gt;
&lt;br /&gt;
This overview serves as a comprehensive reference for users at any level, providing essential resources to navigate and maximize the use of Flowcode.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Getting_Started&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Activating_Flowcode|Activating Flowcode]] - Activating your Flowcode license&lt;br /&gt;
* [[Opening_Flowcode|Opening Flowcode]] - Launching the Flowcode application&lt;br /&gt;
* [[Finding_Your_Way_Around_Flowcode|Finding Your Way Around Flowcode]] - Finding your way around&lt;br /&gt;
* [[Creating_Project|Creating Project]] - Creating your first Flowcode project and see the options available&lt;br /&gt;
* [[Creating_Project#Changing_configuration_settings|Configuring the Chip]] - Configuring your device&lt;br /&gt;
* [[Save_and_Open_Projects|Save and Open Projects]] - Saving and Opening Flowcode project files&lt;br /&gt;
* [[Selecting_a_Template|Selecting a Template]] - Opening a template project file&lt;br /&gt;
* [[Creating_Templates|Creating Templates]] - Creating your own templates&lt;br /&gt;
* [[Closing_Flowcode|Closing Flowcode]] - Closing Flowcode&lt;br /&gt;
* [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] - Overview of Flowcode IDE for the embedded side, with project examples&lt;br /&gt;
* [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] - Overview of Flowcode IDE for PC Developer, with project examples&lt;br /&gt;
* [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] - Overview of Flowcode IDE for Web Developer, with program examples&lt;br /&gt;
* [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] - Overview on setting up and programming the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Program Editing==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flowcharts&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Icon_Properties|Icon Properties]] - Flowchart icons and their functionality&lt;br /&gt;
*[[Remappable Pin Table|Remappable Pin Table]] - Provides pin mappings and functionality for various microcontrollers and development boards.&lt;br /&gt;
*[[Adding_an_Icon_to_a_Flowchart|Adding an Icon to a Flowchart]] - Adding flowchart icons to your program&lt;br /&gt;
*[[Editing_Icon_Properties|Editing Icon Properties]] - Editing the properties of a flowchart icon&lt;br /&gt;
*[[Adding_Comments_to_a_Flowchart|Adding Comments to a Flowchart]] - Commenting your flowchart&lt;br /&gt;
*[[Selecting_Icons|Selecting Icons]] - Selecting icons on the flowchart&lt;br /&gt;
*[[Flowchart_Editing_Functions|Flowchart Editing Functions]] - Functions to make editing your flowchart easier&lt;br /&gt;
*[[Code_Folding|Code Folding]] - Compressing known working code to increase screen real estate&lt;br /&gt;
*[[Icon_Grouping|Icon Grouping]] - Combining multiple icons together into a single group icon&lt;br /&gt;
*[[C_Code_Simulation|C Code Simulation]] - Simulating C code in your program&lt;br /&gt;
*[[C_Code_to_Flowchart_Conversion|C Code to Flowchart Conversion]] - Converting a section of C code into Flowchart icons&lt;br /&gt;
*[[Code_Paradigms|Code Paradigms]] - Coding Paradigms - Flowchart, Blocks, Pseudocode, C Code&lt;br /&gt;
*[[State_diagrams|State Diagrams]] - State Diagrams - Support for using the State Diagram coding paradigm&lt;br /&gt;
*[[Tab_Tear_Off_-_Multi_Monitor_Support|Tab Tear Off - Multi Monitor Support]] - How to manage tabs on multi-monitor systems&lt;br /&gt;
&lt;br /&gt;
==Macros==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Macros&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Creating_a_New_Macro|Creating a New Macro]] - Creating a new flowchart macro or subroutine&lt;br /&gt;
*[[Editing_and_Deleting_Macros|Editing and Deleting Macros]] - Editing a macro and removing a macro from your program&lt;br /&gt;
*[[Using_the_Project_Explorer|Using the Project Explorer]] - Features of the project explorer designed to help simplify programming&lt;br /&gt;
*[[Exporting_a_Macro|Exporting a Macro]] - Exporting a macro from within Flowcode&lt;br /&gt;
*[[Importing_a_Macro|Importing a Macro]] - Importing a macro into Flowcode&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Functions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Mathematical_Functions|Mathematical Functions]] - Built in routines designed to help with mathematical operations such as Sin() and Float&lt;br /&gt;
*[[String_Manipulation_Functions|String Manipulation Functions]] - Built in routines designed to help with string manipulation&lt;br /&gt;
*[[Undo_and_Redo|Undo and Redo]] - Undo and Redo operations and shortcuts&lt;br /&gt;
*[[Icon_Annotations|Icon Annotations]] - Icon annotations&lt;br /&gt;
*[[Find_and_Replace|Find and Replace]] - Ability to search within your Flowcode project to replace specific text with alternate text&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Variables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Creating_Variables|Creating Variables]] - How to create a variable&lt;br /&gt;
*[[Variable_Types|Variable Types]] - Variable types and their meanings&lt;br /&gt;
*[[Editing_Variables|Editing Variables]] - How to edit a variable&lt;br /&gt;
*[[Handles|Handles]] - Handle variables and their function within the system&lt;br /&gt;
*[[Typecasting|Typecasting]] - Variable type casting, applications and usage&lt;br /&gt;
*[[FiniteStateMachine|Finite State Machines]] - Programming tutorial on using state machines&lt;br /&gt;
&lt;br /&gt;
==Panels==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Panels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Choosing_your_Simulation_Panel|Choosing your Simulation Panel]] - Information about choosing the correct panel&lt;br /&gt;
*[[2d_Panels|2D Panels]] - More in-depth information on the 2D panels&lt;br /&gt;
*[[System_Panel|3D System Panel]] - More in-depth information on the 3D system panel&lt;br /&gt;
*[[Zooming_the_View|Zooming the View]] - Zooming in and out on the 3D system panel&lt;br /&gt;
*[[Camera_Control|Camera Control]] - Controlling the camera looking at the panel&lt;br /&gt;
*[[Object_Position|Object Position]] - Object positioning on the panels&lt;br /&gt;
*[[Object_Scale|Object Scale]] - Objects and their scale&lt;br /&gt;
*[[Object_Rotation|Object Rotation]] - Rotating objects&lt;br /&gt;
*[[Working_With_Primitives|Working With Primitives]] - Using primitive objects inside Flowcode&lt;br /&gt;
*[[Working_With_Meshes|Working With Meshes]] - Using meshes inside Flowcode&lt;br /&gt;
&lt;br /&gt;
==Tools and Views==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Tools_and_Views&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Compiler_Toolchains|Compiler Toolchains]] - Toolchains used to compile to the various platforms Flowcode supports.&lt;br /&gt;
*[[Ribbon_Toolbar|Ribbon Toolbar]] - Detailed description of the Flowcode ribbon toolbars.&lt;br /&gt;
*[[Project_Options|Project Options]] - Detailed help on the Project Options window&lt;br /&gt;
*[[Global_Settings|Global Settings]] - Detailed help on the Global Settings window&lt;br /&gt;
*[[Chip_View|Chip View]] - The chip view window&lt;br /&gt;
*[[Properties_Panel|Properties Panel]] - The properties panel&lt;br /&gt;
*[[Supplementary_Code|Supplementary Code]] - Supplementary code and its usage&lt;br /&gt;
*[[Simulation_Debugger|Simulation Debugger]] - Control over the simulation speed and view simulated variable values, also known previously as the watch window&lt;br /&gt;
*[[Saving_Images_in_Flowcode|Saving Images in Flowcode]] - Creating images of your flowchart source&lt;br /&gt;
*[[Auto_Documentation|Auto Documentation]] - Auto documentation features to speed up development&lt;br /&gt;
*[[Window_Layouts|Window Layouts]] - The window layouts manager&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Components&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Component|Components]] - Information about what a component is and how they work inside the Flowcode environment.&lt;br /&gt;
*[[Common_Components|Common Components]] - Information on some of the more commonly used components&lt;br /&gt;
*[[Selecting_Component_Macros|Selecting Component Macros]] - Information on how to use component macros&lt;br /&gt;
*[[Component_Help_Files|Component Help Files]] - How to get access to component help via Flowcode&lt;br /&gt;
*[[Components|Components]] - Component help overview&lt;br /&gt;
*[[Component_Properties|Component Properties]] - Information on how to use component properties&lt;br /&gt;
*[[Component_Tree|Component Tree]] - Information regarding the component tree hierarchy&lt;br /&gt;
*[[Replacing_a_Component|Replacing a Component]] - Replacing one component with another&lt;br /&gt;
*[[CAL_Components|CAL Components]] - Overview of code abstraction layer components&lt;br /&gt;
*[[DSP|DSP Components]] - Overview of digital signal processing components&lt;br /&gt;
*[[GLCD|Graphical Display Components]] - Overview of graphical display components and associated libraries&lt;br /&gt;
*[[Component_Directories|Component Directories]] - Information on creating your own components directories&lt;br /&gt;
*[[Editing_Key_Mappings|Editing Key Mappings]] - Assigning keyboard presses to functionality during simulation&lt;br /&gt;
*[[Remappable_Peripheral_Pins|Remappable Peripheral Pins]] - Assigning pins to peripherals on devices with re-mappable functionality.&lt;br /&gt;
&lt;br /&gt;
==Chip Specifics==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chip_Specifics&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Compiling_a_Flowchart_to_a_Chip|Compiling a Flowchart to a Chip]] - Information on how to compile a flowchart into machine code&lt;br /&gt;
*[[Remappable Pin Table|Remappable Pin Table]] - Provides pin mappings and functionality for various microcontrollers and development boards.&lt;br /&gt;
*[[Internal_Oscillator|Internal Oscillator]] - Specifics on using an internal oscillator&lt;br /&gt;
*[[Phase_Locked_Loop_(PLL)|Phase Locked Loop (PLL)]] - Specifics on using a PLL frequency multiplier&lt;br /&gt;
*[[Interrupts|Interrupts]] - Built in interrupts for your hardware&lt;br /&gt;
*[[Custom_Interrupts|Custom Interrupts]] - Custom interrupts for your hardware&lt;br /&gt;
*[[Supporting_Third_Party_Programming_Tools|Supporting Third Party Programming Tools]] - Using 3rd party programmers such as PICkit and Arduino&lt;br /&gt;
*[[Viewing_Code_Output|Viewing Code Output]] - Viewing the code generated by Flowcode&lt;br /&gt;
*[[Managing_Compiler_Options|Managing Compiler Options]] - Overview of the compiler options settings&lt;br /&gt;
*[[FCD_Data_Collection|FCD Data Collection]] - Chip definition files and how to collect data from them&lt;br /&gt;
&lt;br /&gt;
==Support==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Support&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Dynamic_Updates|Dynamic Updates]] - Getting updates and using older versions&lt;br /&gt;
*[[Reporting_a_Bug|Reporting a Bug]] - How to report a bug in Flowcode&lt;br /&gt;
*[[Licensed_Compiler|Licensed Compiler]] - Compiler specifics and license agreement&lt;br /&gt;
*[[Technical_Support|Technical Support]] - Information on how to get further support&lt;br /&gt;
*[[Migrating_from_older_versions|Migrating from Older Versions]] - Help on updating your projects from previous Flowcode versions&lt;br /&gt;
*[[Version_Updates|Version Updates]] - See what features have been added to Flowcode for each version.&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Flowcode_Help_Overview&amp;diff=41329</id>
		<title>Flowcode Help Overview</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Flowcode_Help_Overview&amp;diff=41329"/>
		<updated>2024-10-14T12:14:04Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Program Editing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a detailed guide to using Flowcode, covering various aspects of the software. &lt;br /&gt;
&lt;br /&gt;
Here’s a brief summary of the sections:&lt;br /&gt;
&lt;br /&gt;
# Getting Started: Instructions on activating Flowcode, navigating the interface, creating projects, configuring devices, and saving/loading projects. It also offers specific guides for embedded, PC, web, and Raspberry Pi development.&lt;br /&gt;
# Program Editing: Explains flowchart icons, adding/editing icons, code folding, grouping icons, simulating C code, converting C code to flowcharts, and multi-monitor support.&lt;br /&gt;
# Macros: Covers creating, editing, and deleting macros, along with exporting/importing macros and using the project explorer.&lt;br /&gt;
# Functions: Describes built-in mathematical and string manipulation functions, undo/redo operations, annotations, and find/replace functionality.&lt;br /&gt;
# Variables: Guides on creating, editing, and using different variable types, handles, typecasting, and state machines.&lt;br /&gt;
# Panels: Explains how to choose, manipulate, and control 2D and 3D simulation panels, including object positioning, scaling, and rotation.&lt;br /&gt;
# Tools and Views: Provides details on compiler toolchains, toolbars, project options, global settings, simulation debugging, and window layouts.&lt;br /&gt;
# Components: Information on components, including common ones, macros, properties, help files, CAL/DSP components, and remappable peripheral pins.&lt;br /&gt;
# Chip Specifics: Explains how to compile a flowchart into machine code, use oscillators, PLLs, interrupts, third-party programming tools, and manage compiler options.&lt;br /&gt;
# Support: Offers guidance on getting updates, reporting bugs, using licensed compilers, accessing technical support, and migrating from older Flowcode versions.&lt;br /&gt;
&lt;br /&gt;
This overview serves as a comprehensive reference for users at any level, providing essential resources to navigate and maximize the use of Flowcode.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Getting_Started&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Activating_Flowcode|Activating Flowcode]] - Activating your Flowcode license&lt;br /&gt;
* [[Opening_Flowcode|Opening Flowcode]] - Launching the Flowcode application&lt;br /&gt;
* [[Finding_Your_Way_Around_Flowcode|Finding Your Way Around Flowcode]] - Finding your way around&lt;br /&gt;
* [[Creating_Project|Creating Project]] - Creating your first Flowcode project and see the options available&lt;br /&gt;
* [[Creating_Project#Changing_configuration_settings|Configuring the Chip]] - Configuring your device&lt;br /&gt;
* [[Save_and_Open_Projects|Save and Open Projects]] - Saving and Opening Flowcode project files&lt;br /&gt;
* [[Selecting_a_Template|Selecting a Template]] - Opening a template project file&lt;br /&gt;
* [[Creating_Templates|Creating Templates]] - Creating your own templates&lt;br /&gt;
* [[Closing_Flowcode|Closing Flowcode]] - Closing Flowcode&lt;br /&gt;
* [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] - Overview of Flowcode IDE for the embedded side, with project examples&lt;br /&gt;
* [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] - Overview of Flowcode IDE for PC Developer, with project examples&lt;br /&gt;
* [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] - Overview of Flowcode IDE for Web Developer, with program examples&lt;br /&gt;
* [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] - Overview on setting up and programming the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Program Editing==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flowcharts&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Icon_Properties|Icon Properties]] - Flowchart icons and their functionality&lt;br /&gt;
*[[Remappable Pin Table|Remappable Pin Table]] - Provides pin mappings and functionality for various microcontrollers and development boards.&lt;br /&gt;
*[[Adding_an_Icon_to_a_Flowchart|Adding an Icon to a Flowchart]] - Adding flowchart icons to your program&lt;br /&gt;
*[[Editing_Icon_Properties|Editing Icon Properties]] - Editing the properties of a flowchart icon&lt;br /&gt;
*[[Adding_Comments_to_a_Flowchart|Adding Comments to a Flowchart]] - Commenting your flowchart&lt;br /&gt;
*[[Selecting_Icons|Selecting Icons]] - Selecting icons on the flowchart&lt;br /&gt;
*[[Flowchart_Editing_Functions|Flowchart Editing Functions]] - Functions to make editing your flowchart easier&lt;br /&gt;
*[[Code_Folding|Code Folding]] - Compressing known working code to increase screen real estate&lt;br /&gt;
*[[Icon_Grouping|Icon Grouping]] - Combining multiple icons together into a single group icon&lt;br /&gt;
*[[C_Code_Simulation|C Code Simulation]] - Simulating C code in your program&lt;br /&gt;
*[[C_Code_to_Flowchart_Conversion|C Code to Flowchart Conversion]] - Converting a section of C code into Flowchart icons&lt;br /&gt;
*[[Code_Paradigms|Code Paradigms]] - Coding Paradigms - Flowchart, Blocks, Pseudocode, C Code&lt;br /&gt;
*[[State_diagrams|State Diagrams]] - State Diagrams - Support for using the State Diagram coding paradigm&lt;br /&gt;
*[[Tab_Tear_Off_-_Multi_Monitor_Support|Tab Tear Off - Multi Monitor Support]] - How to manage tabs on multi-monitor systems&lt;br /&gt;
&lt;br /&gt;
==Macros==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Macros&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Creating_a_New_Macro|Creating a New Macro]] - Creating a new flowchart macro or subroutine&lt;br /&gt;
*[[Editing_and_Deleting_Macros|Editing and Deleting Macros]] - Editing a macro and removing a macro from your program&lt;br /&gt;
*[[Using_the_Project_Explorer|Using the Project Explorer]] - Features of the project explorer designed to help simplify programming&lt;br /&gt;
*[[Exporting_a_Macro|Exporting a Macro]] - Exporting a macro from within Flowcode&lt;br /&gt;
*[[Importing_a_Macro|Importing a Macro]] - Importing a macro into Flowcode&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Functions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Mathematical_Functions|Mathematical Functions]] - Built in routines designed to help with mathematical operations such as Sin() and Float&lt;br /&gt;
*[[String_Manipulation_Functions|String Manipulation Functions]] - Built in routines designed to help with string manipulation&lt;br /&gt;
*[[Undo_and_Redo|Undo and Redo]] - Undo and Redo operations and shortcuts&lt;br /&gt;
*[[Icon_Annotations|Icon Annotations]] - Icon annotations&lt;br /&gt;
*[[Find_and_Replace|Find and Replace]] - Ability to search within your Flowcode project to replace specific text with alternate text&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Variables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Creating_Variables|Creating Variables]] - How to create a variable&lt;br /&gt;
*[[Variable_Types|Variable Types]] - Variable types and their meanings&lt;br /&gt;
*[[Editing_Variables|Editing Variables]] - How to edit a variable&lt;br /&gt;
*[[Handles|Handles]] - Handle variables and their function within the system&lt;br /&gt;
*[[Typecasting|Typecasting]] - Variable type casting, applications and usage&lt;br /&gt;
*[[FiniteStateMachine|Finite State Machines]] - Programming tutorial on using state machines&lt;br /&gt;
&lt;br /&gt;
==Panels==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Panels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Choosing_your_Simulation_Panel|Choosing your Simulation Panel]] - Information about choosing the correct panel&lt;br /&gt;
*[[2d_Panels|2D Panels]] - More in-depth information on the 2D panels&lt;br /&gt;
*[[System_Panel|3D System Panel]] - More in-depth information on the 3D system panel&lt;br /&gt;
*[[Zooming_the_View|Zooming the View]] - Zooming in and out on the 3D system panel&lt;br /&gt;
*[[Camera_Control|Camera Control]] - Controlling the camera looking at the panel&lt;br /&gt;
*[[Object_Position|Object Position]] - Object positioning on the panels&lt;br /&gt;
*[[Object_Scale|Object Scale]] - Objects and their scale&lt;br /&gt;
*[[Object_Rotation|Object Rotation]] - Rotating objects&lt;br /&gt;
*[[Working_With_Primitives|Working With Primitives]] - Using primitive objects inside Flowcode&lt;br /&gt;
*[[Working_With_Meshes|Working With Meshes]] - Using meshes inside Flowcode&lt;br /&gt;
&lt;br /&gt;
==Tools and Views==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Tools_and_Views&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Compiler_Toolchains|Compiler Toolchains]] - Toolchains used to compile to the various platforms Flowcode supports.&lt;br /&gt;
*[[Ribbon_Toolbar|Ribbon Toolbar]] - Detailed description of the Flowcode ribbon toolbars.&lt;br /&gt;
*[[Project_Options|Project Options]] - Detailed help on the Project Options window&lt;br /&gt;
*[[Global_Settings|Global Settings]] - Detailed help on the Global Settings window&lt;br /&gt;
*[[Chip_View|Chip View]] - The chip view window&lt;br /&gt;
*[[Properties_Panel|Properties Panel]] - The properties panel&lt;br /&gt;
*[[Supplementary_Code|Supplementary Code]] - Supplementary code and its usage&lt;br /&gt;
*[[Simulation_Debugger|Simulation Debugger]] - Control over the simulation speed and view simulated variable values, also known previously as the watch window&lt;br /&gt;
*[[Saving_Images_in_Flowcode|Saving Images in Flowcode]] - Creating images of your flowchart source&lt;br /&gt;
*[[Auto_Documentation|Auto Documentation]] - Auto documentation features to speed up development&lt;br /&gt;
*[[Window_Layouts|Window Layouts]] - The window layouts manager&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Components&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Component|Components]] - Information about what a component is and how they work inside the Flowcode environment.&lt;br /&gt;
*[[Common_Components|Common Components]] - Information on some of the more commonly used components&lt;br /&gt;
*[[Selecting_Component_Macros|Selecting Component Macros]] - Information on how to use component macros&lt;br /&gt;
*[[Component_Help_Files|Component Help Files]] - How to get access to component help via Flowcode&lt;br /&gt;
*[[Components|Components]] - Component help overview&lt;br /&gt;
*[[Component_Properties|Component Properties]] - Information on how to use component properties&lt;br /&gt;
*[[Component_Tree|Component Tree]] - Information regarding the component tree hierarchy&lt;br /&gt;
*[[Replacing_a_Component|Replacing a Component]] - Replacing one component with another&lt;br /&gt;
*[[CAL_Components|CAL Components]] - Overview of code abstraction layer components&lt;br /&gt;
*[[DSP|DSP Components]] - Overview of digital signal processing components&lt;br /&gt;
*[[GLCD|Graphical Display Components]] - Overview of graphical display components and associated libraries&lt;br /&gt;
*[[Component_Directories|Component Directories]] - Information on creating your own components directories&lt;br /&gt;
*[[Editing_Key_Mappings|Editing Key Mappings]] - Assigning keyboard presses to functionality during simulation&lt;br /&gt;
*[[Remappable_Peripheral_Pins|Remappable Peripheral Pins]] - Assigning pins to peripherals on devices with re-mappable functionality.&lt;br /&gt;
&lt;br /&gt;
==Chip Specifics==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chip_Specifics&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Compiling_a_Flowchart_to_a_Chip|Compiling a Flowchart to a Chip]] - Information on how to compile a flowchart into machine code&lt;br /&gt;
*[[Internal_Oscillator|Internal Oscillator]] - Specifics on using an internal oscillator&lt;br /&gt;
*[[Phase_Locked_Loop_(PLL)|Phase Locked Loop (PLL)]] - Specifics on using a PLL frequency multiplier&lt;br /&gt;
*[[Interrupts|Interrupts]] - Built in interrupts for your hardware&lt;br /&gt;
*[[Custom_Interrupts|Custom Interrupts]] - Custom interrupts for your hardware&lt;br /&gt;
*[[Supporting_Third_Party_Programming_Tools|Supporting Third Party Programming Tools]] - Using 3rd party programmers such as PICkit and Arduino&lt;br /&gt;
*[[Viewing_Code_Output|Viewing Code Output]] - Viewing the code generated by Flowcode&lt;br /&gt;
*[[Managing_Compiler_Options|Managing Compiler Options]] - Overview of the compiler options settings&lt;br /&gt;
*[[FCD_Data_Collection|FCD Data Collection]] - Chip definition files and how to collect data from them&lt;br /&gt;
&lt;br /&gt;
==Support==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Support&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Dynamic_Updates|Dynamic Updates]] - Getting updates and using older versions&lt;br /&gt;
*[[Reporting_a_Bug|Reporting a Bug]] - How to report a bug in Flowcode&lt;br /&gt;
*[[Licensed_Compiler|Licensed Compiler]] - Compiler specifics and license agreement&lt;br /&gt;
*[[Technical_Support|Technical Support]] - Information on how to get further support&lt;br /&gt;
*[[Migrating_from_older_versions|Migrating from Older Versions]] - Help on updating your projects from previous Flowcode versions&lt;br /&gt;
*[[Version_Updates|Version Updates]] - See what features have been added to Flowcode for each version.&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Flowcode_Help_Overview&amp;diff=41328</id>
		<title>Flowcode Help Overview</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Flowcode_Help_Overview&amp;diff=41328"/>
		<updated>2024-10-14T12:13:46Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Program Editing */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a detailed guide to using Flowcode, covering various aspects of the software. &lt;br /&gt;
&lt;br /&gt;
Here’s a brief summary of the sections:&lt;br /&gt;
&lt;br /&gt;
# Getting Started: Instructions on activating Flowcode, navigating the interface, creating projects, configuring devices, and saving/loading projects. It also offers specific guides for embedded, PC, web, and Raspberry Pi development.&lt;br /&gt;
# Program Editing: Explains flowchart icons, adding/editing icons, code folding, grouping icons, simulating C code, converting C code to flowcharts, and multi-monitor support.&lt;br /&gt;
# Macros: Covers creating, editing, and deleting macros, along with exporting/importing macros and using the project explorer.&lt;br /&gt;
# Functions: Describes built-in mathematical and string manipulation functions, undo/redo operations, annotations, and find/replace functionality.&lt;br /&gt;
# Variables: Guides on creating, editing, and using different variable types, handles, typecasting, and state machines.&lt;br /&gt;
# Panels: Explains how to choose, manipulate, and control 2D and 3D simulation panels, including object positioning, scaling, and rotation.&lt;br /&gt;
# Tools and Views: Provides details on compiler toolchains, toolbars, project options, global settings, simulation debugging, and window layouts.&lt;br /&gt;
# Components: Information on components, including common ones, macros, properties, help files, CAL/DSP components, and remappable peripheral pins.&lt;br /&gt;
# Chip Specifics: Explains how to compile a flowchart into machine code, use oscillators, PLLs, interrupts, third-party programming tools, and manage compiler options.&lt;br /&gt;
# Support: Offers guidance on getting updates, reporting bugs, using licensed compilers, accessing technical support, and migrating from older Flowcode versions.&lt;br /&gt;
&lt;br /&gt;
This overview serves as a comprehensive reference for users at any level, providing essential resources to navigate and maximize the use of Flowcode.&lt;br /&gt;
&lt;br /&gt;
==Getting Started==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Getting_Started&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
* [[Activating_Flowcode|Activating Flowcode]] - Activating your Flowcode license&lt;br /&gt;
* [[Opening_Flowcode|Opening Flowcode]] - Launching the Flowcode application&lt;br /&gt;
* [[Finding_Your_Way_Around_Flowcode|Finding Your Way Around Flowcode]] - Finding your way around&lt;br /&gt;
* [[Creating_Project|Creating Project]] - Creating your first Flowcode project and see the options available&lt;br /&gt;
* [[Creating_Project#Changing_configuration_settings|Configuring the Chip]] - Configuring your device&lt;br /&gt;
* [[Save_and_Open_Projects|Save and Open Projects]] - Saving and Opening Flowcode project files&lt;br /&gt;
* [[Selecting_a_Template|Selecting a Template]] - Opening a template project file&lt;br /&gt;
* [[Creating_Templates|Creating Templates]] - Creating your own templates&lt;br /&gt;
* [[Closing_Flowcode|Closing Flowcode]] - Closing Flowcode&lt;br /&gt;
* [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] - Overview of Flowcode IDE for the embedded side, with project examples&lt;br /&gt;
* [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] - Overview of Flowcode IDE for PC Developer, with project examples&lt;br /&gt;
* [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] - Overview of Flowcode IDE for Web Developer, with program examples&lt;br /&gt;
* [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] - Overview on setting up and programming the Raspberry Pi&lt;br /&gt;
&lt;br /&gt;
==Program Editing==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Flowcharts&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Icon_Properties|Icon Properties]] - Flowchart icons and their functionality&lt;br /&gt;
*[[Remappable Pin Table|Remappable Pin Table]] - Provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
*[[Adding_an_Icon_to_a_Flowchart|Adding an Icon to a Flowchart]] - Adding flowchart icons to your program&lt;br /&gt;
*[[Editing_Icon_Properties|Editing Icon Properties]] - Editing the properties of a flowchart icon&lt;br /&gt;
*[[Adding_Comments_to_a_Flowchart|Adding Comments to a Flowchart]] - Commenting your flowchart&lt;br /&gt;
*[[Selecting_Icons|Selecting Icons]] - Selecting icons on the flowchart&lt;br /&gt;
*[[Flowchart_Editing_Functions|Flowchart Editing Functions]] - Functions to make editing your flowchart easier&lt;br /&gt;
*[[Code_Folding|Code Folding]] - Compressing known working code to increase screen real estate&lt;br /&gt;
*[[Icon_Grouping|Icon Grouping]] - Combining multiple icons together into a single group icon&lt;br /&gt;
*[[C_Code_Simulation|C Code Simulation]] - Simulating C code in your program&lt;br /&gt;
*[[C_Code_to_Flowchart_Conversion|C Code to Flowchart Conversion]] - Converting a section of C code into Flowchart icons&lt;br /&gt;
*[[Code_Paradigms|Code Paradigms]] - Coding Paradigms - Flowchart, Blocks, Pseudocode, C Code&lt;br /&gt;
*[[State_diagrams|State Diagrams]] - State Diagrams - Support for using the State Diagram coding paradigm&lt;br /&gt;
*[[Tab_Tear_Off_-_Multi_Monitor_Support|Tab Tear Off - Multi Monitor Support]] - How to manage tabs on multi-monitor systems&lt;br /&gt;
&lt;br /&gt;
==Macros==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Macros&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Creating_a_New_Macro|Creating a New Macro]] - Creating a new flowchart macro or subroutine&lt;br /&gt;
*[[Editing_and_Deleting_Macros|Editing and Deleting Macros]] - Editing a macro and removing a macro from your program&lt;br /&gt;
*[[Using_the_Project_Explorer|Using the Project Explorer]] - Features of the project explorer designed to help simplify programming&lt;br /&gt;
*[[Exporting_a_Macro|Exporting a Macro]] - Exporting a macro from within Flowcode&lt;br /&gt;
*[[Importing_a_Macro|Importing a Macro]] - Importing a macro into Flowcode&lt;br /&gt;
&lt;br /&gt;
==Functions==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Functions&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Mathematical_Functions|Mathematical Functions]] - Built in routines designed to help with mathematical operations such as Sin() and Float&lt;br /&gt;
*[[String_Manipulation_Functions|String Manipulation Functions]] - Built in routines designed to help with string manipulation&lt;br /&gt;
*[[Undo_and_Redo|Undo and Redo]] - Undo and Redo operations and shortcuts&lt;br /&gt;
*[[Icon_Annotations|Icon Annotations]] - Icon annotations&lt;br /&gt;
*[[Find_and_Replace|Find and Replace]] - Ability to search within your Flowcode project to replace specific text with alternate text&lt;br /&gt;
&lt;br /&gt;
==Variables==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Variables&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Creating_Variables|Creating Variables]] - How to create a variable&lt;br /&gt;
*[[Variable_Types|Variable Types]] - Variable types and their meanings&lt;br /&gt;
*[[Editing_Variables|Editing Variables]] - How to edit a variable&lt;br /&gt;
*[[Handles|Handles]] - Handle variables and their function within the system&lt;br /&gt;
*[[Typecasting|Typecasting]] - Variable type casting, applications and usage&lt;br /&gt;
*[[FiniteStateMachine|Finite State Machines]] - Programming tutorial on using state machines&lt;br /&gt;
&lt;br /&gt;
==Panels==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Panels&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Choosing_your_Simulation_Panel|Choosing your Simulation Panel]] - Information about choosing the correct panel&lt;br /&gt;
*[[2d_Panels|2D Panels]] - More in-depth information on the 2D panels&lt;br /&gt;
*[[System_Panel|3D System Panel]] - More in-depth information on the 3D system panel&lt;br /&gt;
*[[Zooming_the_View|Zooming the View]] - Zooming in and out on the 3D system panel&lt;br /&gt;
*[[Camera_Control|Camera Control]] - Controlling the camera looking at the panel&lt;br /&gt;
*[[Object_Position|Object Position]] - Object positioning on the panels&lt;br /&gt;
*[[Object_Scale|Object Scale]] - Objects and their scale&lt;br /&gt;
*[[Object_Rotation|Object Rotation]] - Rotating objects&lt;br /&gt;
*[[Working_With_Primitives|Working With Primitives]] - Using primitive objects inside Flowcode&lt;br /&gt;
*[[Working_With_Meshes|Working With Meshes]] - Using meshes inside Flowcode&lt;br /&gt;
&lt;br /&gt;
==Tools and Views==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Tools_and_Views&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Compiler_Toolchains|Compiler Toolchains]] - Toolchains used to compile to the various platforms Flowcode supports.&lt;br /&gt;
*[[Ribbon_Toolbar|Ribbon Toolbar]] - Detailed description of the Flowcode ribbon toolbars.&lt;br /&gt;
*[[Project_Options|Project Options]] - Detailed help on the Project Options window&lt;br /&gt;
*[[Global_Settings|Global Settings]] - Detailed help on the Global Settings window&lt;br /&gt;
*[[Chip_View|Chip View]] - The chip view window&lt;br /&gt;
*[[Properties_Panel|Properties Panel]] - The properties panel&lt;br /&gt;
*[[Supplementary_Code|Supplementary Code]] - Supplementary code and its usage&lt;br /&gt;
*[[Simulation_Debugger|Simulation Debugger]] - Control over the simulation speed and view simulated variable values, also known previously as the watch window&lt;br /&gt;
*[[Saving_Images_in_Flowcode|Saving Images in Flowcode]] - Creating images of your flowchart source&lt;br /&gt;
*[[Auto_Documentation|Auto Documentation]] - Auto documentation features to speed up development&lt;br /&gt;
*[[Window_Layouts|Window Layouts]] - The window layouts manager&lt;br /&gt;
&lt;br /&gt;
==Components==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Components&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Component|Components]] - Information about what a component is and how they work inside the Flowcode environment.&lt;br /&gt;
*[[Common_Components|Common Components]] - Information on some of the more commonly used components&lt;br /&gt;
*[[Selecting_Component_Macros|Selecting Component Macros]] - Information on how to use component macros&lt;br /&gt;
*[[Component_Help_Files|Component Help Files]] - How to get access to component help via Flowcode&lt;br /&gt;
*[[Components|Components]] - Component help overview&lt;br /&gt;
*[[Component_Properties|Component Properties]] - Information on how to use component properties&lt;br /&gt;
*[[Component_Tree|Component Tree]] - Information regarding the component tree hierarchy&lt;br /&gt;
*[[Replacing_a_Component|Replacing a Component]] - Replacing one component with another&lt;br /&gt;
*[[CAL_Components|CAL Components]] - Overview of code abstraction layer components&lt;br /&gt;
*[[DSP|DSP Components]] - Overview of digital signal processing components&lt;br /&gt;
*[[GLCD|Graphical Display Components]] - Overview of graphical display components and associated libraries&lt;br /&gt;
*[[Component_Directories|Component Directories]] - Information on creating your own components directories&lt;br /&gt;
*[[Editing_Key_Mappings|Editing Key Mappings]] - Assigning keyboard presses to functionality during simulation&lt;br /&gt;
*[[Remappable_Peripheral_Pins|Remappable Peripheral Pins]] - Assigning pins to peripherals on devices with re-mappable functionality.&lt;br /&gt;
&lt;br /&gt;
==Chip Specifics==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Chip_Specifics&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Compiling_a_Flowchart_to_a_Chip|Compiling a Flowchart to a Chip]] - Information on how to compile a flowchart into machine code&lt;br /&gt;
*[[Internal_Oscillator|Internal Oscillator]] - Specifics on using an internal oscillator&lt;br /&gt;
*[[Phase_Locked_Loop_(PLL)|Phase Locked Loop (PLL)]] - Specifics on using a PLL frequency multiplier&lt;br /&gt;
*[[Interrupts|Interrupts]] - Built in interrupts for your hardware&lt;br /&gt;
*[[Custom_Interrupts|Custom Interrupts]] - Custom interrupts for your hardware&lt;br /&gt;
*[[Supporting_Third_Party_Programming_Tools|Supporting Third Party Programming Tools]] - Using 3rd party programmers such as PICkit and Arduino&lt;br /&gt;
*[[Viewing_Code_Output|Viewing Code Output]] - Viewing the code generated by Flowcode&lt;br /&gt;
*[[Managing_Compiler_Options|Managing Compiler Options]] - Overview of the compiler options settings&lt;br /&gt;
*[[FCD_Data_Collection|FCD Data Collection]] - Chip definition files and how to collect data from them&lt;br /&gt;
&lt;br /&gt;
==Support==&lt;br /&gt;
&amp;lt;span id=&amp;quot;Support&amp;quot;&amp;gt;&amp;lt;/span&amp;gt;&lt;br /&gt;
*[[Dynamic_Updates|Dynamic Updates]] - Getting updates and using older versions&lt;br /&gt;
*[[Reporting_a_Bug|Reporting a Bug]] - How to report a bug in Flowcode&lt;br /&gt;
*[[Licensed_Compiler|Licensed Compiler]] - Compiler specifics and license agreement&lt;br /&gt;
*[[Technical_Support|Technical Support]] - Information on how to get further support&lt;br /&gt;
*[[Migrating_from_older_versions|Migrating from Older Versions]] - Help on updating your projects from previous Flowcode versions&lt;br /&gt;
*[[Version_Updates|Version Updates]] - See what features have been added to Flowcode for each version.&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41327</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41327"/>
		<updated>2024-10-14T12:11:28Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Matrix EBlocks Motor Board */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
Lists pin numbers and corresponding port bit, functions like analog input, power, ground, reset, USART (serial communication), SPI (serial peripheral interface), I2C (inter-integrated circuit), external interrupts, and PWM (pulse-width modulation).&lt;br /&gt;
Detailed breakdown of pin configurations for specific functions like communication protocols and control signals.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
Provides pin details for this Microchip PIC microcontroller, including ports, ADC (analog-to-digital conversion) channels, external clock pins, reset, USART, SPI, I2C, interrupts, PWM, and other input/output control options.&lt;br /&gt;
Emphasis on different analog input capabilities and communication protocol interfaces.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
Describes pin assignments for ADC (analog-to-digital converter), PWM, GPIO (general-purpose input/output), reset, USART, SPI, and I2C for the ESP32 board.&lt;br /&gt;
Lists pin mappings relevant to power management and interfacing with external devices.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
Shows port and bit configurations for various onboard features such as LEDs, switches, 7-segment displays, LCD screens, and analog sound outputs.&lt;br /&gt;
Highlights control over integrated components through the board's ports.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
Outlines the port and bit configurations specifically for controlling servos connected to the motor board.&lt;br /&gt;
Focuses on basic input/output control for servo motors.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41326</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41326"/>
		<updated>2024-10-14T12:11:21Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Matrix EBlocks Combo Board */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
Lists pin numbers and corresponding port bit, functions like analog input, power, ground, reset, USART (serial communication), SPI (serial peripheral interface), I2C (inter-integrated circuit), external interrupts, and PWM (pulse-width modulation).&lt;br /&gt;
Detailed breakdown of pin configurations for specific functions like communication protocols and control signals.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
Provides pin details for this Microchip PIC microcontroller, including ports, ADC (analog-to-digital conversion) channels, external clock pins, reset, USART, SPI, I2C, interrupts, PWM, and other input/output control options.&lt;br /&gt;
Emphasis on different analog input capabilities and communication protocol interfaces.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
Describes pin assignments for ADC (analog-to-digital converter), PWM, GPIO (general-purpose input/output), reset, USART, SPI, and I2C for the ESP32 board.&lt;br /&gt;
Lists pin mappings relevant to power management and interfacing with external devices.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
Shows port and bit configurations for various onboard features such as LEDs, switches, 7-segment displays, LCD screens, and analog sound outputs.&lt;br /&gt;
Highlights control over integrated components through the board's ports.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41325</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41325"/>
		<updated>2024-10-14T12:11:12Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* ESP32 Lolin DOWDQ6 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
Lists pin numbers and corresponding port bit, functions like analog input, power, ground, reset, USART (serial communication), SPI (serial peripheral interface), I2C (inter-integrated circuit), external interrupts, and PWM (pulse-width modulation).&lt;br /&gt;
Detailed breakdown of pin configurations for specific functions like communication protocols and control signals.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
Provides pin details for this Microchip PIC microcontroller, including ports, ADC (analog-to-digital conversion) channels, external clock pins, reset, USART, SPI, I2C, interrupts, PWM, and other input/output control options.&lt;br /&gt;
Emphasis on different analog input capabilities and communication protocol interfaces.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
Describes pin assignments for ADC (analog-to-digital converter), PWM, GPIO (general-purpose input/output), reset, USART, SPI, and I2C for the ESP32 board.&lt;br /&gt;
Lists pin mappings relevant to power management and interfacing with external devices.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41324</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41324"/>
		<updated>2024-10-14T12:11:05Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* PIC16F18877 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
Lists pin numbers and corresponding port bit, functions like analog input, power, ground, reset, USART (serial communication), SPI (serial peripheral interface), I2C (inter-integrated circuit), external interrupts, and PWM (pulse-width modulation).&lt;br /&gt;
Detailed breakdown of pin configurations for specific functions like communication protocols and control signals.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
Provides pin details for this Microchip PIC microcontroller, including ports, ADC (analog-to-digital conversion) channels, external clock pins, reset, USART, SPI, I2C, interrupts, PWM, and other input/output control options.&lt;br /&gt;
Emphasis on different analog input capabilities and communication protocol interfaces.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41323</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41323"/>
		<updated>2024-10-14T12:10:52Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Arduino Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
Lists pin numbers and corresponding port bit, functions like analog input, power, ground, reset, USART (serial communication), SPI (serial peripheral interface), I2C (inter-integrated circuit), external interrupts, and PWM (pulse-width modulation).&lt;br /&gt;
Detailed breakdown of pin configurations for specific functions like communication protocols and control signals.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41322</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41322"/>
		<updated>2024-10-14T12:10:38Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
== Arduino Uno ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41321</id>
		<title>Remappable Peripheral Pins</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41321"/>
		<updated>2024-10-14T12:09:55Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Remappable Pin Table ==&lt;br /&gt;
The [[Remappable Pin Table]] wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
&lt;br /&gt;
[[Remappable Pin Table]]&lt;br /&gt;
&lt;br /&gt;
== Remappable Peripheral Pins ==&lt;br /&gt;
Some of the more powerful Microcontroller devices allow you to re-route the normally fixed pin connections for internal functionality such as PWM, UART, SPI and CAN.&lt;br /&gt;
&lt;br /&gt;
When this remappable functionality is available components will present an extra set of properties to allow you to configure the pin connection that will be used by the peripheral. Not all pins are available to work with the remappable functionality so we list only the compatible pins to help narrow down the selection and guarantee that the selected pin will be ok to work with the functionality. Some remappable pins only work as an input (RPI instead of RP in the device datasheet) so you can use these for example with the SPI data input pin but not the data output pin so be aware that the list of pins may change depending what function you are currently assigning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PWM Component with Remappable pin ====&lt;br /&gt;
&lt;br /&gt;
[[File:PWMPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SPI Component with Remappable pins ====&lt;br /&gt;
&lt;br /&gt;
[[File:SPIPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
If your chosen target Microcontroller device does not support the remappable functionality then the additional properties will be automatically hidden from the user.&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41320</id>
		<title>Remappable Peripheral Pins</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41320"/>
		<updated>2024-10-14T12:09:35Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Remappable Pin Table ==&lt;br /&gt;
The &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
[[Remappable Pin Table]]&lt;br /&gt;
&lt;br /&gt;
== Remappable Peripheral Pins ==&lt;br /&gt;
Some of the more powerful Microcontroller devices allow you to re-route the normally fixed pin connections for internal functionality such as PWM, UART, SPI and CAN.&lt;br /&gt;
&lt;br /&gt;
When this remappable functionality is available components will present an extra set of properties to allow you to configure the pin connection that will be used by the peripheral. Not all pins are available to work with the remappable functionality so we list only the compatible pins to help narrow down the selection and guarantee that the selected pin will be ok to work with the functionality. Some remappable pins only work as an input (RPI instead of RP in the device datasheet) so you can use these for example with the SPI data input pin but not the data output pin so be aware that the list of pins may change depending what function you are currently assigning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PWM Component with Remappable pin ====&lt;br /&gt;
&lt;br /&gt;
[[File:PWMPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SPI Component with Remappable pins ====&lt;br /&gt;
&lt;br /&gt;
[[File:SPIPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
If your chosen target Microcontroller device does not support the remappable functionality then the additional properties will be automatically hidden from the user.&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41319</id>
		<title>Remappable Peripheral Pins</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41319"/>
		<updated>2024-10-14T12:09:11Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some of the more powerful Microcontroller devices allow you to re-route the normally fixed pin connections for internal functionality such as PWM, UART, SPI and CAN.&lt;br /&gt;
&lt;br /&gt;
When this remappable functionality is available components will present an extra set of properties to allow you to configure the pin connection that will be used by the peripheral. Not all pins are available to work with the remappable functionality so we list only the compatible pins to help narrow down the selection and guarantee that the selected pin will be ok to work with the functionality. Some remappable pins only work as an input (RPI instead of RP in the device datasheet) so you can use these for example with the SPI data input pin but not the data output pin so be aware that the list of pins may change depending what function you are currently assigning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== PWM Component with Remappable pin ====&lt;br /&gt;
&lt;br /&gt;
[[File:PWMPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== SPI Component with Remappable pins ====&lt;br /&gt;
&lt;br /&gt;
[[File:SPIPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
If your chosen target Microcontroller device does not support the remappable functionality then the additional properties will be automatically hidden from the user.&lt;br /&gt;
&lt;br /&gt;
== Remappable Pin Table ==&lt;br /&gt;
The &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
[[Remappable Pin Table]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41318</id>
		<title>Remappable Peripheral Pins</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41318"/>
		<updated>2024-10-14T12:08:54Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Remappable Pin Table */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some of the more powerful Microcontroller devices allow you to re-route the normally fixed pin connections for internal functionality such as PWM, UART, SPI and CAN.&lt;br /&gt;
&lt;br /&gt;
When this remappable functionality is available components will present an extra set of properties to allow you to configure the pin connection that will be used by the peripheral. Not all pins are available to work with the remappable functionality so we list only the compatible pins to help narrow down the selection and guarantee that the selected pin will be ok to work with the functionality. Some remappable pins only work as an input (RPI instead of RP in the device datasheet) so you can use these for example with the SPI data input pin but not the data output pin so be aware that the list of pins may change depending what function you are currently assigning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PWM Component with Remappable pin&lt;br /&gt;
&lt;br /&gt;
[[File:PWMPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SPI Component with Remappable pins&lt;br /&gt;
&lt;br /&gt;
[[File:SPIPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your chosen target Microcontroller device does not support the remappable functionality then the additional properties will be automatically hidden from the user.&lt;br /&gt;
&lt;br /&gt;
== Remappable Pin Table ==&lt;br /&gt;
The &amp;quot;Remappable Pin Table&amp;quot; wiki page provides pin mappings and functionality for various microcontrollers and development boards, allowing users to understand the input/output pin assignments and specific features available on each.&lt;br /&gt;
[[Remappable Pin Table]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41317</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41317"/>
		<updated>2024-10-14T12:06:29Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Arduino Uno ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Combo Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! E-blocks connections !!  !!  !!  !!  !!  !!  !!  !! &lt;br /&gt;
|-&lt;br /&gt;
| Port || bit ||  || LED 1 || Switch 2 || 7-seg || LCD || An || Sound&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0 ||  || DP ||  || Light || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || 1 ||  || Com0 ||  || pot || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || 2 ||  || Com1 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || 3 ||  || Com2 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || 4 ||  || Com3 ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || 5 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || 6 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || 7 ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
|  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 0 ||  ||  || 0 || A || Data0 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 1 ||  ||  || 1 || B || Data1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 2 ||  ||  || 2 || C || Data2 ||  || OutL&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 3 ||  ||  || 3 || D || Data3 ||  || OutR&lt;br /&gt;
|-&lt;br /&gt;
| 2 || 4 ||  ||  || 4 || E || RS ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 5 ||  ||  || 5 || F || Enable ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 6 ||  ||  || 6 || G ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || 7 ||  ||  || 7 || H ||  ||  || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Matrix EBlocks Motor Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Port !! bit !!  !! Servo&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 0 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 1 || 1 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 2 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 3 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 4 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 5 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 1 || 7 ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41316</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41316"/>
		<updated>2024-10-14T12:05:15Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Arduino Uno ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 Lolin DOWDQ6 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41315</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41315"/>
		<updated>2024-10-14T12:04:56Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Arduino Uno ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== ESP32 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Mfr. Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || B || 4 ||  ||  || ADC1_0 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO36&lt;br /&gt;
|-&lt;br /&gt;
| 2 || B || 7 ||  ||  || ADC1_3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO39&lt;br /&gt;
|-&lt;br /&gt;
| 3 ||  ||  ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || B || 2 ||  ||  || ADC1_6 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO34&lt;br /&gt;
|-&lt;br /&gt;
| 5 || B || 3 ||  ||  || ADC1_7 ||  ||  ||  ||  ||  ||  ||  ||  ||  || GPIO35&lt;br /&gt;
|-&lt;br /&gt;
| 6 || B || 0 ||  ||  || ADC1_4 ||  || XTAL32N ||  ||  ||  ||  ||  ||  || PWM || GPIO32&lt;br /&gt;
|-&lt;br /&gt;
| 7 || B || 1 ||  ||  || ADC1_5 ||  || XTAL32P ||  ||  ||  ||  ||  ||  || PWM || GPIO33&lt;br /&gt;
|-&lt;br /&gt;
| 8 || A || 25 ||  ||  || ADC2_8 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO25&lt;br /&gt;
|-&lt;br /&gt;
| 9 || A || 26 ||  ||  || ADC2_9 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO26&lt;br /&gt;
|-&lt;br /&gt;
| 10 || A || 27 ||  ||  || ADC2_7 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO27&lt;br /&gt;
|-&lt;br /&gt;
| 11 || A || 14 ||  ||  || ADC2_6 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO14&lt;br /&gt;
|-&lt;br /&gt;
| 12 || A || 12 ||  ||  || ADC2_5 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO12&lt;br /&gt;
|-&lt;br /&gt;
| 13 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 13 ||  ||  || ADC2_4 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO13&lt;br /&gt;
|-&lt;br /&gt;
| 15 || A || 15 ||  ||  || ADC2_3 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 16 || A || 2 ||  ||  || ADC2_2 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || A || 0 ||  ||  || ADC2_1 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO0&lt;br /&gt;
|-&lt;br /&gt;
| 18 || A || 4 ||  ||  || ADC2_0 ||  ||  ||  ||  ||  ||  ||  ||  || PWM || GPIO4&lt;br /&gt;
|-&lt;br /&gt;
| 19 || A || 16 ||  ||  ||  ||  ||  ||  || RX ||  ||  ||  ||  || PWM || GPIO16&lt;br /&gt;
|-&lt;br /&gt;
| 20 || A || 17 ||  ||  ||  ||  ||  ||  || TX ||  ||  ||  ||  || PWM || GPIO17&lt;br /&gt;
|-&lt;br /&gt;
| 21 || A || 15 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  ||  || PWM || GPIO15&lt;br /&gt;
|-&lt;br /&gt;
| 22 || A || 18 ||  ||  ||  ||  ||  ||  ||  || CLK ||  ||  ||  || PWM || GPIO18&lt;br /&gt;
|-&lt;br /&gt;
| 23 || A || 23 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  ||  || PWM || GPIO23&lt;br /&gt;
|-&lt;br /&gt;
| 24 || A || 19 ||  ||  ||  ||  ||  ||  || CTS 0 || MISO ||  ||  ||  || PWM || GPIO19&lt;br /&gt;
|-&lt;br /&gt;
| 25 || A || 22 ||  ||  ||  ||  ||  ||  || RTS 0 || SCL ||  ||  ||  || PWM || GPIO22&lt;br /&gt;
|-&lt;br /&gt;
| 26 ||  ||  || 3V3 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41314</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41314"/>
		<updated>2024-10-14T12:03:33Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Arduino Uno ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC16F18877 ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41313</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41313"/>
		<updated>2024-10-14T12:03:13Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Arduino Uno ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PIC ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! ADC !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM&lt;br /&gt;
|-&lt;br /&gt;
| 1 || E || 3 || VPP ||  ||  ||  ||  || !MCLR ||  ||  ||  ||  || IOCE3 || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || A || 0 ||  ||  || ANA0 ||  ||  ||  ||  ||  ||  ||  || IOCA0 || &lt;br /&gt;
|-&lt;br /&gt;
| 3 || A || 1 ||  ||  || ANA1 ||  ||  ||  ||  ||  ||  ||  || IOCA1 || &lt;br /&gt;
|-&lt;br /&gt;
| 4 || A || 2 ||  ||  || ANA2 ||  ||  ||  ||  ||  ||  ||  || IOCA2 || &lt;br /&gt;
|-&lt;br /&gt;
| 5 || A || 3 ||  ||  || ANA3 ||  ||  ||  ||  ||  ||  ||  || IOCA3 || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || A || 4 ||  ||  || ANA4 ||  ||  ||  ||  ||  ||  ||  || IOCA4 || CCP5&lt;br /&gt;
|-&lt;br /&gt;
| 7 || A || 5 ||  ||  || ANA5 ||  ||  ||  ||  || SS1 ||  ||  || IOCA5 || &lt;br /&gt;
|-&lt;br /&gt;
| 8 || E || 0 ||  ||  || ANE0 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 || E || 1 ||  ||  || ANE1 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 || E || 2 ||  ||  || ANE2 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 12 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 13 || A || 7 ||  ||  || ANA7 ||  || OSC1/CLKIN ||  ||  ||  ||  ||  || IOCA7 || &lt;br /&gt;
|-&lt;br /&gt;
| 14 || A || 6 ||  ||  || ANA6 ||  || OSC2/CLKOUT ||  ||  ||  ||  ||  || IOCA6 || &lt;br /&gt;
|-&lt;br /&gt;
| 15 || C || 0 ||  ||  || ANC0 ||  || SOSCO ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || C || 1 ||  ||  || ANC1 ||  || SOSCI ||  ||  ||  ||  ||  || IOCC1 || CCP2&lt;br /&gt;
|-&lt;br /&gt;
| 17 || C || 2 ||  ||  || ANC2 ||  ||  ||  ||  ||  ||  ||  || IOCC2 || CCP1&lt;br /&gt;
|-&lt;br /&gt;
| 18 || C || 3 ||  ||  || ANC3 ||  ||  ||  ||  || SCL1/SCK1 ||  ||  || IOCC3 || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || D || 0 ||  ||  || AND0 ||  ||  ||  ||  ||  || SDA1/SDI1 ||  || IOCC4 || &lt;br /&gt;
|-&lt;br /&gt;
| 20 || D || 1 ||  ||  || AND1 ||  ||  ||  ||  ||  ||  ||  || IOCC5 || &lt;br /&gt;
|-&lt;br /&gt;
| 21 || D || 2 ||  ||  || AND2 ||  ||  ||  ||  ||  ||  ||  || IOCC6 || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || D || 3 ||  ||  || AND3 ||  ||  ||  ||  ||  ||  ||  || IOCC7 || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 4 ||  ||  || ANC4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 5 ||  ||  || ANC5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 6 ||  ||  || ANC6 ||  ||  ||  || CK ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 7 ||  ||  || ANC7 ||  ||  ||  || RX/DT ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 27 || D || 4 ||  ||  || AND4 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 28 || D || 5 ||  ||  || AND5 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 29 || D || 6 ||  ||  || AND6 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 30 || D || 7 ||  ||  || AND7 ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 31 ||  ||  ||  || VSS ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 32 ||  ||  || VDD ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 33 || B || 0 ||  ||  || ANB0 ||  ||  ||  ||  || SS2 ||  ||  || IOCB0 || CCP4&lt;br /&gt;
|-&lt;br /&gt;
| 34 || B || 1 ||  ||  || ANB1 ||  ||  ||  ||  || SCLK2 ||  ||  || IOCB1 || &lt;br /&gt;
|-&lt;br /&gt;
| 35 || B || 2 ||  ||  || ANB2 ||  ||  ||  ||  ||  || SDA2 ||  || IOCB2 || &lt;br /&gt;
|-&lt;br /&gt;
| 36 || B || 3 ||  ||  || ANB3 ||  ||  ||  ||  ||  ||  ||  || IOCB3 || &lt;br /&gt;
|-&lt;br /&gt;
| 37 || B || 4 ||  ||  || ANB4 ||  ||  ||  ||  ||  ||  ||  || IOCB4 || &lt;br /&gt;
|-&lt;br /&gt;
| 38 || B || 5 ||  ||  || ANB5 ||  ||  ||  ||  ||  ||  ||  || IOCB5 || CCP3&lt;br /&gt;
|-&lt;br /&gt;
| 39 || B || 6 ||  ||  || ANB6 ||  || ICSPCLK ||  ||  ||  ||  ||  || IOCB6 || &lt;br /&gt;
|-&lt;br /&gt;
| 40 || B || 7 ||  ||  || ANB7 ||  || ICSPDAT ||  ||  ||  ||  ||  || IOCB7 || &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41312</id>
		<title>Remappable Pin Table</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Pin_Table&amp;diff=41312"/>
		<updated>2024-10-14T12:01:54Z</updated>

		<summary type="html">&lt;p&gt;HamedA: Created page with &amp;quot;== Arduino Uno == {| class=&amp;quot;wikitable&amp;quot; ! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref....&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Arduino Uno ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Pin no !! Port !! Bit !! Power !! GND !! Analog !! Xtal !! Osc !! RESET !! USART !! SPI !! I2C !! INT !! PCINT !! PWM !! Arduino Ref.&lt;br /&gt;
|-&lt;br /&gt;
| 1 || C || 6 ||  ||  ||  ||  ||  || !RESET ||  ||  ||  ||  || PCINT14 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || D || 0 ||  ||  ||  ||  ||  ||  || RXD ||  ||  ||  || PCINT16 ||  || 0&lt;br /&gt;
|-&lt;br /&gt;
| 3 || D || 1 ||  ||  ||  ||  ||  ||  || TXD ||  ||  ||  || PCINT17 ||  || 1&lt;br /&gt;
|-&lt;br /&gt;
| 4 || D || 2 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT0 || PCINT18 ||  || 2&lt;br /&gt;
|-&lt;br /&gt;
| 5 || D || 3 ||  ||  ||  ||  ||  ||  ||  ||  ||  || INT1 || PCINT19 || PWM || 3&lt;br /&gt;
|-&lt;br /&gt;
| 6 || D || 4 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT20 ||  || 4&lt;br /&gt;
|-&lt;br /&gt;
| 7 ||  ||  || VCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 8 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 9 ||  ||  ||  ||  ||  || XTAL1 || TOSC1 ||  ||  ||  ||  ||  || PCINT6 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 10 ||  ||  ||  ||  ||  || XTAL2 || TOSC2 ||  ||  ||  ||  ||  || PCINT7 ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || D || 5 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT21 || PWM || 5&lt;br /&gt;
|-&lt;br /&gt;
| 12 || D || 6 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT22 || PWM || 6&lt;br /&gt;
|-&lt;br /&gt;
| 13 || D || 7 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT23 ||  || 7&lt;br /&gt;
|-&lt;br /&gt;
| 14 || B || 0 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT0 ||  || 8&lt;br /&gt;
|-&lt;br /&gt;
| 15 || B || 1 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || PCINT1 || PWM || 9&lt;br /&gt;
|-&lt;br /&gt;
| 16 || B || 2 ||  ||  ||  ||  ||  ||  ||  || SS ||  ||  || PCINT2 || PWM || 10&lt;br /&gt;
|-&lt;br /&gt;
| 17 || B || 3 ||  ||  ||  ||  ||  ||  ||  || MOSI ||  ||  || PCINT3 || PWM || 11&lt;br /&gt;
|-&lt;br /&gt;
| 18 || B || 4 ||  ||  ||  ||  ||  ||  ||  || MISO ||  ||  || PCINT4 ||  || 12&lt;br /&gt;
|-&lt;br /&gt;
| 19 || B || 5 ||  ||  ||  ||  ||  ||  ||  || SCK ||  ||  || PCINT5 ||  || 13&lt;br /&gt;
|-&lt;br /&gt;
| 20 ||  ||  || AVCC ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 21 ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 22 ||  ||  ||  || GND ||  ||  ||  ||  ||  ||  ||  ||  ||  ||  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || C || 0 ||  ||  || ADC0 ||  ||  ||  ||  ||  ||  ||  || PCINT8 ||  || 14&lt;br /&gt;
|-&lt;br /&gt;
| 24 || C || 1 ||  ||  || ADC1 ||  ||  ||  ||  ||  ||  ||  || PCINT9 ||  || 15&lt;br /&gt;
|-&lt;br /&gt;
| 25 || C || 2 ||  ||  || ADC2 ||  ||  ||  ||  ||  ||  ||  || PCINT10 ||  || 16&lt;br /&gt;
|-&lt;br /&gt;
| 26 || C || 3 ||  ||  || ADC3 ||  ||  ||  ||  ||  ||  ||  || PCINT11 ||  || 17&lt;br /&gt;
|-&lt;br /&gt;
| 27 || C || 4 ||  ||  || ADC4 ||  ||  ||  ||  ||  || SCL ||  || PCINT12 ||  || 18&lt;br /&gt;
|-&lt;br /&gt;
| 28 || C || 5 ||  ||  || ADC5 ||  ||  ||  ||  ||  || SDA ||  || PCINT13 ||  || 19&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41311</id>
		<title>Remappable Peripheral Pins</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41311"/>
		<updated>2024-10-14T12:01:18Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some of the more powerful Microcontroller devices allow you to re-route the normally fixed pin connections for internal functionality such as PWM, UART, SPI and CAN.&lt;br /&gt;
&lt;br /&gt;
When this remappable functionality is available components will present an extra set of properties to allow you to configure the pin connection that will be used by the peripheral. Not all pins are available to work with the remappable functionality so we list only the compatible pins to help narrow down the selection and guarantee that the selected pin will be ok to work with the functionality. Some remappable pins only work as an input (RPI instead of RP in the device datasheet) so you can use these for example with the SPI data input pin but not the data output pin so be aware that the list of pins may change depending what function you are currently assigning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PWM Component with Remappable pin&lt;br /&gt;
&lt;br /&gt;
[[File:PWMPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SPI Component with Remappable pins&lt;br /&gt;
&lt;br /&gt;
[[File:SPIPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your chosen target Microcontroller device does not support the remappable functionality then the additional properties will be automatically hidden from the user.&lt;br /&gt;
&lt;br /&gt;
== Remappable Pin Table ==&lt;br /&gt;
[[Remappable Pin Table]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41310</id>
		<title>Remappable Peripheral Pins</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Remappable_Peripheral_Pins&amp;diff=41310"/>
		<updated>2024-10-14T12:01:05Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some of the more powerful Microcontroller devices allow you to re-route the normally fixed pin connections for internal functionality such as PWM, UART, SPI and CAN.&lt;br /&gt;
&lt;br /&gt;
When this remappable functionality is available components will present an extra set of properties to allow you to configure the pin connection that will be used by the peripheral. Not all pins are available to work with the remappable functionality so we list only the compatible pins to help narrow down the selection and guarantee that the selected pin will be ok to work with the functionality. Some remappable pins only work as an input (RPI instead of RP in the device datasheet) so you can use these for example with the SPI data input pin but not the data output pin so be aware that the list of pins may change depending what function you are currently assigning.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PWM Component with Remappable pin&lt;br /&gt;
&lt;br /&gt;
[[File:PWMPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
SPI Component with Remappable pins&lt;br /&gt;
&lt;br /&gt;
[[File:SPIPin.jpg]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
If your chosen target Microcontroller device does not support the remappable functionality then the additional properties will be automatically hidden from the user.&lt;br /&gt;
&lt;br /&gt;
[[Remappable Pin Table]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41309</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41309"/>
		<updated>2024-10-11T20:04:56Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Introduction to Microcontrollers Course */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP, PIC16, and Arduino, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP32====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP32====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP32====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP32====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP32====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment ESP32====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC Motor Test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section (section 3 page 28-38) of the [https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf Free Introduction to Microcontroller Programming Course].&lt;br /&gt;
&lt;br /&gt;
This section of the course teaches the following basic concepts about Flowcode:&lt;br /&gt;
&lt;br /&gt;
* '''How to Design a Flowchart:''' Learn how to create flowcharts by dragging and dropping icons, which represent commands and functions, to develop microcontroller applications.&lt;br /&gt;
* &lt;br /&gt;
* '''How to Add and Configure Components:''' Understand how to include and manage external devices, such as LEDs, switches, and displays, by using Flowcode’s extensive component libraries. You will also learn to configure the properties and connections of these components to the microcontroller.&lt;br /&gt;
* &lt;br /&gt;
* '''How to Simulate Programs:''' Explore how to run simulations of your flowchart, allowing you to check the behavior of your application before transferring it to the microcontroller. Flowcode offers real-time variable and macro tracking during simulations.&lt;br /&gt;
* &lt;br /&gt;
* '''How to Compile and Transfer Flowcharts:''' Once your flowchart is complete, you will learn how to compile it into C code and transfer it to the microcontroller for real-world testing and implementation.&lt;br /&gt;
* &lt;br /&gt;
* '''How to Use the Flowcode Interface:''' Gain familiarity with the key panels and toolbars in Flowcode, such as the main workspace for building flowcharts, the 2D Dashboard and 3D System panels for managing components, and the Project Explorer for organizing variables, macros, and components.&lt;br /&gt;
&lt;br /&gt;
By the end of this section of the course, you will have learned how to use Flowcode to create and simulate embedded applications, manage microcontroller interactions, and troubleshoot your programs effectively.&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Glossary&amp;diff=41308</id>
		<title>Glossary</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Glossary&amp;diff=41308"/>
		<updated>2024-10-11T19:55:03Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Here’s a glossary to help general programmers understand Flowcode-specific terms and concepts:&lt;br /&gt;
&lt;br /&gt;
* '''[[Component]]''': A pre-built, modular building block in Flowcode that represents physical hardware (e.g., sensors, motors) or software functionality (e.g., timers, logic gates). Components come with customizable properties and built-in methods for easy integration into projects.&lt;br /&gt;
* &lt;br /&gt;
* '''[[Ghost Technology|Ghost]]''': A feature in Flowcode that visually indicates the potential behaviour or movement of a component or system element during simulation. Ghosts help visualize how parts of a design interact over time.&lt;br /&gt;
* &lt;br /&gt;
*'''[[Ghost_Technology#In-Circuit-Debug_.28Remote_control_of_execution.29|In-Circuit Debug (ICD)]]''': A feature in Flowcode that allows users to debug their program while it is running on the actual hardware. With ICD, users can step through code, set breakpoints, and monitor variables in real-time, directly on the connected device. This helps in identifying and fixing issues that occur during actual hardware execution, making the debugging process more efficient and accurate.&lt;br /&gt;
*&lt;br /&gt;
*'''[[Ghost_Technology#In-Circuit-Test_.28Pin_monitoring.29|In-Circuit Test (ICT)]]''': A method used to test assembled printed circuit boards (PCBs) by checking electrical performance and connections between components. In Flowcode, ICT allows users to simulate or control hardware testing directly, ensuring the correct functioning of components, like resistors, capacitors, and ICs, without removing them from the circuit. This is essential for identifying manufacturing defects and verifying design integrity.&lt;br /&gt;
*&lt;br /&gt;
* '''[[Adding_an_Icon_to_a_Flowchart|Flowchart Icon]]''': A visual representation of an action or decision in Flowcode’s graphical programming environment. Icons are used to build the logic of the program, representing operations like inputs, outputs, loops, and conditions.&lt;br /&gt;
* &lt;br /&gt;
* '''[[Macro Icon Properties|Macro]]''': A subroutine or function in Flowcode that allows the user to encapsulate a block of code, making it reusable across the project. Macros can be created, edited, and imported/exported between projects.&lt;br /&gt;
* &lt;br /&gt;
* '''Simulation Panel''': A visual workspace in Flowcode where users can simulate their embedded systems. Flowcode offers both 2D and 3D panels to visually represent how hardware components interact within a system.&lt;br /&gt;
* &lt;br /&gt;
* '''Properties Panel''': A control window in Flowcode where users can adjust the settings and attributes of a selected component, flowchart icon, or object. This panel allows customization of variables like pin assignments, timing, or scaling factors.&lt;br /&gt;
* &lt;br /&gt;
* '''Ribbon Toolbar''': The top toolbar in Flowcode, providing quick access to various tools, commands, and settings. It organizes functions like creating projects, running simulations, managing components, and setting global options.&lt;br /&gt;
* &lt;br /&gt;
* '''Handles''': Special variable types in Flowcode used to reference and control specific elements within a system, such as graphical objects, panels, or other dynamic components. Handles allow for flexible interaction with these elements during simulation or runtime.&lt;br /&gt;
* &lt;br /&gt;
* '''Panel Object''': An element within a Flowcode simulation panel, such as a sensor or graphical display, that can be manipulated in terms of position, scale, and rotation. These objects help visualize hardware within the simulation environment.&lt;br /&gt;
* &lt;br /&gt;
* '''Icon Grouping''': A feature that allows several flowchart icons to be combined into a single, reusable unit. This is useful for reducing clutter and simplifying complex flowcharts.&lt;br /&gt;
* &lt;br /&gt;
* '''State Diagram''': A graphical representation of a system’s states and transitions, used to model and control flow in an event-driven program. Flowcode supports this coding paradigm for users developing with finite state machines.&lt;br /&gt;
* &lt;br /&gt;
* '''CAL (Code Abstraction Layer) Components''': High-level components in Flowcode that abstract lower-level hardware details, allowing for simpler programming and simulation across different platforms and devices without focusing on specific hardware intricacies.&lt;br /&gt;
* &lt;br /&gt;
* '''DSP (Digital Signal Processing) Components''': Specialized components in Flowcode for handling digital signal processing tasks, including filtering, signal analysis, and audio processing.&lt;br /&gt;
* &lt;br /&gt;
* '''Compiler Toolchain''': A set of tools used to convert Flowcode’s graphical designs into executable machine code for a target microcontroller or hardware platform. Flowcode supports multiple toolchains for different architectures.&lt;br /&gt;
* &lt;br /&gt;
* '''C Code Simulation''': A feature in Flowcode that allows users to simulate C code within their project to observe how it behaves alongside the flowchart-based programming. This is useful for advanced users who wish to combine visual design with custom code.&lt;br /&gt;
* &lt;br /&gt;
* '''Chip View''': A graphical view in Flowcode that shows the pin configuration and layout of the microcontroller being used in the project. It allows users to see how components are connected and adjust pin assignments.&lt;br /&gt;
* &lt;br /&gt;
* '''Code Folding''': A functionality that allows users to collapse sections of working code or flowchart blocks, improving readability and providing more screen space for editing other sections of the program.&lt;br /&gt;
* &lt;br /&gt;
* '''Code Paradigms''': Refers to the different ways users can write code in Flowcode, including flowcharts, block diagrams, pseudocode, or traditional C code.&lt;br /&gt;
* &lt;br /&gt;
* '''Remappable Peripheral Pins''': A feature allowing certain microcontrollers to have flexible pin assignments for peripherals like UART or SPI, providing more flexibility in hardware design.&lt;br /&gt;
* &lt;br /&gt;
* '''Supplementary Code''': User-generated code or script added to a Flowcode project to supplement the flowchart or graphical elements. This allows advanced users to integrate low-level code directly into the project.&lt;br /&gt;
*&lt;br /&gt;
*'''Icon Tear-Off/Tab Tear-Off''': A feature in Flowcode that allows users to drag tabs or groups of flowchart icons to separate windows, enabling efficient multi-monitor development.&lt;br /&gt;
*&lt;br /&gt;
*'''Primitive Objects''': Basic shapes such as cubes, spheres, and cylinders used in Flowcode’s simulation panel to represent simple hardware elements or placeholders in a system.&lt;br /&gt;
*&lt;br /&gt;
*'''Mesh Objects''': Detailed 3D models in Flowcode used to represent complex hardware components for more realistic simulations in the 3D environment.&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41300</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41300"/>
		<updated>2024-10-09T11:15:13Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP, PIC16, and Arduino, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP32====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP32====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP32====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP32====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP32====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment ESP32====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC Motor Test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41299</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41299"/>
		<updated>2024-10-09T11:14:31Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP32====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP32====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP32====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP32====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP32====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment ESP32====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC Motor Test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41298</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41298"/>
		<updated>2024-10-09T11:13:58Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* DC motor test - Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC Motor Test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41297</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41297"/>
		<updated>2024-10-09T11:13:42Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove I2C quad 7-seg ESP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41296</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41296"/>
		<updated>2024-10-09T11:13:35Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove I2C quad 7-seg PIC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41295</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41295"/>
		<updated>2024-10-09T11:13:27Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove I2C quad 7-seg - Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-Segment - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41294</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41294"/>
		<updated>2024-10-09T11:13:06Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove temp hum sensor - Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature and Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41293</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41293"/>
		<updated>2024-10-09T11:12:52Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove I2C temp and hum PIC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41292</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41292"/>
		<updated>2024-10-09T11:12:43Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove I2C temp and hum ESP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Temperature and Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41291</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41291"/>
		<updated>2024-10-09T11:12:07Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41290</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41290"/>
		<updated>2024-10-09T11:06:35Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* ESP32 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Grove I2C quad 7-seg ESP32====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Grove I2C Temperature &amp;amp; Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP32====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Macros ESP32====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt; {{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt; {{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Potentiometer ESP32====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Counter - ESP32====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Flasher - ESP32====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - Servo and Stepper - Uno====&lt;br /&gt;
This project tests motor control functionality for both servo and stepper motors using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - servo and stepper - Uno.fcfx|motor test - servo and stepper - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41289</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41289"/>
		<updated>2024-10-09T11:05:54Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove I2C temp and hum ESP */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Grove I2C Temperature &amp;amp; Humidity ESP32====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt; {{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt; {{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - Servo and Stepper - Uno====&lt;br /&gt;
This project tests motor control functionality for both servo and stepper motors using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - servo and stepper - Uno.fcfx|motor test - servo and stepper - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41288</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41288"/>
		<updated>2024-10-09T11:04:43Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides a comprehensive set of resources to help users get started with Flowcode across multiple platforms, including ESP32, PIC, and Arduino Uno. The page features a variety of beginner-level examples that guide users through controlling sensors, displays, motors, and communication protocols, allowing for a hands-on introduction to embedded systems development.&lt;br /&gt;
&lt;br /&gt;
In addition to microcontroller-focused examples, the page also offers tutorials for web development, PC applications, and Raspberry Pi integration. Projects range from simple flashing patterns and motor control to advanced topics like signal processing, temperature monitoring, and graphical display interfaces.&lt;br /&gt;
&lt;br /&gt;
These examples make it easy for beginners to explore Flowcode's capabilities while also providing the flexibility for advanced users to delve into specific hardware and software integrations. Real-world scenarios such as traffic light control, CNC machines, and MQTT communication further illustrate Flowcode’s application in practical projects.&lt;br /&gt;
&lt;br /&gt;
Flowcode’s platform-agnostic approach ensures users can seamlessly work across ESP32, PIC16F18877, and Arduino Uno, with support for Matrix's EBlocks programmers for each platform.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt; {{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt; {{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - Servo and Stepper - Uno====&lt;br /&gt;
This project tests motor control functionality for both servo and stepper motors using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - servo and stepper - Uno.fcfx|motor test - servo and stepper - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41287</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41287"/>
		<updated>2024-10-09T11:02:08Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Beginner Examples= ==ESP32= */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides resources for users to get started with Flowcode. It includes guides for microcontrollers, web development, PC applications, and using APIs to control Arduino and ESP32.&lt;br /&gt;
&lt;br /&gt;
There are examples for Raspberry Pi, Sysblocks for signal processing, and embedded systems like heat control and power monitoring. Tutorials for touch and graphical displays are also available.&lt;br /&gt;
&lt;br /&gt;
The page includes App Developer projects, such as web-based communication and MQTT integration, along with real-world scenarios like traffic lights and CNC machines.&lt;br /&gt;
&lt;br /&gt;
It’s a comprehensive resource for Flowcode users across multiple platforms.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples= &lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC Motor Test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41286</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41286"/>
		<updated>2024-10-09T10:59:59Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove I2C quad 7-seg - Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides resources for users to get started with Flowcode. It includes guides for microcontrollers, web development, PC applications, and using APIs to control Arduino and ESP32.&lt;br /&gt;
&lt;br /&gt;
There are examples for Raspberry Pi, Sysblocks for signal processing, and embedded systems like heat control and power monitoring. Tutorials for touch and graphical displays are also available.&lt;br /&gt;
&lt;br /&gt;
The page includes App Developer projects, such as web-based communication and MQTT integration, along with real-world scenarios like traffic lights and CNC machines.&lt;br /&gt;
&lt;br /&gt;
It’s a comprehensive resource for Flowcode users across multiple platforms.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples= ==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC Motor Test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C Quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41285</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41285"/>
		<updated>2024-10-09T10:59:38Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* DC motor test - Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides resources for users to get started with Flowcode. It includes guides for microcontrollers, web development, PC applications, and using APIs to control Arduino and ESP32.&lt;br /&gt;
&lt;br /&gt;
There are examples for Raspberry Pi, Sysblocks for signal processing, and embedded systems like heat control and power monitoring. Tutorials for touch and graphical displays are also available.&lt;br /&gt;
&lt;br /&gt;
The page includes App Developer projects, such as web-based communication and MQTT integration, along with real-world scenarios like traffic lights and CNC machines.&lt;br /&gt;
&lt;br /&gt;
It’s a comprehensive resource for Flowcode users across multiple platforms.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples= ==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC Motor Test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41284</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41284"/>
		<updated>2024-10-09T10:59:23Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* Grove temp hum sensor - Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides resources for users to get started with Flowcode. It includes guides for microcontrollers, web development, PC applications, and using APIs to control Arduino and ESP32.&lt;br /&gt;
&lt;br /&gt;
There are examples for Raspberry Pi, Sysblocks for signal processing, and embedded systems like heat control and power monitoring. Tutorials for touch and graphical displays are also available.&lt;br /&gt;
&lt;br /&gt;
The page includes App Developer projects, such as web-based communication and MQTT integration, along with real-world scenarios like traffic lights and CNC machines.&lt;br /&gt;
&lt;br /&gt;
It’s a comprehensive resource for Flowcode users across multiple platforms.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples= ==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove Temperature Humidity Sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41283</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41283"/>
		<updated>2024-10-09T10:58:51Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides resources for users to get started with Flowcode. It includes guides for microcontrollers, web development, PC applications, and using APIs to control Arduino and ESP32.&lt;br /&gt;
&lt;br /&gt;
There are examples for Raspberry Pi, Sysblocks for signal processing, and embedded systems like heat control and power monitoring. Tutorials for touch and graphical displays are also available.&lt;br /&gt;
&lt;br /&gt;
The page includes App Developer projects, such as web-based communication and MQTT integration, along with real-world scenarios like traffic lights and CNC machines.&lt;br /&gt;
&lt;br /&gt;
It’s a comprehensive resource for Flowcode users across multiple platforms.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples= ==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt;&lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41282</id>
		<title>Examples and Tutorials</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=Examples_and_Tutorials&amp;diff=41282"/>
		<updated>2024-10-09T10:55:10Z</updated>

		<summary type="html">&lt;p&gt;HamedA: /* motor test - servo and stepper - Uno */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page provides resources for users to get started with Flowcode. It includes guides for microcontrollers, web development, PC applications, and using APIs to control Arduino and ESP32.&lt;br /&gt;
&lt;br /&gt;
There are examples for Raspberry Pi, Sysblocks for signal processing, and embedded systems like heat control and power monitoring. Tutorials for touch and graphical displays are also available.&lt;br /&gt;
&lt;br /&gt;
The page includes App Developer projects, such as web-based communication and MQTT integration, along with real-world scenarios like traffic lights and CNC machines.&lt;br /&gt;
&lt;br /&gt;
It’s a comprehensive resource for Flowcode users across multiple platforms.&lt;br /&gt;
&lt;br /&gt;
=Beginner Examples=&lt;br /&gt;
==ESP32==&lt;br /&gt;
These ESP32 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the ESP32 platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with ESP32.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/esp32-programmer-board.html EBlocks ESP32 Programmer].&lt;br /&gt;
====Grove I2C quad 7-seg ESP====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C quad 7-seg ESP.fcfx|Grove I2C quad 7-seg ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Grove I2C temp and hum ESP====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Grove I2C temp and hum ESP.fcfx|Grove I2C temp and hum ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====LCDs ESP====&lt;br /&gt;
This example explores how to control and display information on an LCD using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|LCDs ESP.fcfx|LCDs ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Macros ESP====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with ESP32.&amp;lt;br&amp;gt; {{Fcfile|Macros ESP.fcfx|Macros ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Motor Test - ESP32====&lt;br /&gt;
This project tests motor control functionality using the ESP32 as the controller.&amp;lt;br&amp;gt; {{Fcfile|motor test - ESP32.fcfx|motor test - ESP32}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Potentiometer ESP====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Potentiometer ESP.fcfx|Potentiometer ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Counter - ESP====&lt;br /&gt;
A simple counter program that increments values based on input signals using the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Counter - ESP.fcfx|Counter - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
====Flasher - ESP====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the ESP32.&amp;lt;br&amp;gt; {{Fcfile|Flasher - ESP.fcfx|Flasher - ESP}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==PIC==&lt;br /&gt;
These PIC16F18877 Flowcode example projects provide a hands-on introduction to working with various sensors, displays, and control mechanisms using the PIC16F18877 platform. &amp;lt;br&amp;gt;&lt;br /&gt;
From testing motor functionality to interacting with I2C components and creating simple flashing patterns, these examples are ideal for beginners looking to explore embedded systems development with PIC microcontrollers.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-pic-programmer.html EBlocks PIC Programmer].&lt;br /&gt;
&lt;br /&gt;
====Counter - PIC====&lt;br /&gt;
A simple counter program that increments values based on input signals using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - PIC.fcfx|Counter - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - PIC====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - PIC.fcfx|Flasher - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg PIC====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg PIC.fcfx|Grove I2C quad 7-seg PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C temp and hum PIC====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove I2C sensor with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C temp and hum PIC.fcfx|Grove I2C temp and hum PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs PIC====&lt;br /&gt;
This example explores how to control and display information on an LCD using a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs PIC.fcfx|LCDs PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros PIC====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros PIC.fcfx|Macros PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - PIC====&lt;br /&gt;
This project tests motor control functionality using a PIC microcontroller as the controller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - PIC.fcfx|motor test - PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer PIC====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on a PIC microcontroller.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer PIC.fcfx|Potentiometer PIC}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Arduino==&lt;br /&gt;
Arduino Uno&lt;br /&gt;
These Arduino Uno Flowcode example projects provide a hands-on introduction to working with various sensors, motors, and control mechanisms using the Arduino Uno platform.&amp;lt;br&amp;gt; &lt;br /&gt;
From controlling DC motors to interacting with I2C components and creating flashing patterns, these examples are perfect for beginners looking to explore embedded systems development with the Arduino Uno.&lt;br /&gt;
&lt;br /&gt;
These will also work with Matrix's [https://www.matrixtsl.com/webshop/e-blocks2-arduino-shield.html EBlocks Arduino Programmer].&lt;br /&gt;
====Counter - Uno====&lt;br /&gt;
A simple counter program that increments values based on input signals using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Counter - Uno.fcfx|Counter - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====DC motor test - Uno====&lt;br /&gt;
This project tests DC motor control functionality using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|DC motor test - Uno.fcfx|DC motor test - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Flasher - Uno====&lt;br /&gt;
This example creates a basic flashing LED pattern, controlled by the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Flasher - Uno.fcfx|Flasher - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove I2C quad 7-seg - Uno====&lt;br /&gt;
This example demonstrates how to interface with a Grove I2C quad 7-segment display using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove I2C quad 7-seg - Uno.fcfx|Grove I2C quad 7-seg - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Grove temp hum sensor - Uno====&lt;br /&gt;
This program shows how to read temperature and humidity data from a Grove sensor with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Grove temp hum sensor - Uno.fcfx|Grove temp hum sensor - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====LCDs Uno====&lt;br /&gt;
This example explores how to control and display information on an LCD using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|LCDs Uno.fcfx|LCDs Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Macros Uno====&lt;br /&gt;
Learn how to create and use macros to simplify repetitive tasks in Flowcode projects with the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Macros Uno.fcfx|Macros Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Motor Test - Servo and Stepper - Uno====&lt;br /&gt;
This project tests motor control functionality for both servo and stepper motors using the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|motor test - servo and stepper - Uno.fcfx|motor test - servo and stepper - Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
====Potentiometer Uno====&lt;br /&gt;
This example shows how to read analog values from a potentiometer and display them on the Arduino Uno.&amp;lt;br&amp;gt;&lt;br /&gt;
{{Fcfile|Potentiometer Uno.fcfx|Potentiometer Uno}}&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Introduction to Microcontrollers Course==&lt;br /&gt;
&lt;br /&gt;
We recommend going through the Flowcode section of the https://www.flowcode.co.uk/resources/datasheets/Microcontroller%20compete%20course.pdf course.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Embedded Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Embedded_Getting_Started_Guide|Embedded Getting Started Guide]] introduces you to the Flowcode environment and take you though to programming a microcontroller.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Web Developer getting started==&lt;br /&gt;
&lt;br /&gt;
New with the release of Flowcode v10.1 is Web Developer which allows the development of interactive web pages using the Flowcode IDE environment on any platform that supports HTML browsers.&lt;br /&gt;
&lt;br /&gt;
The [[Web_Developer_Getting_Started_Guide|Web Developer Getting Started Guide]] takes you through your first experience of Web Developer and demonstrates how to generate interactive HTML files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==PC Developer Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[PC_Developer_Getting_Started_Guide|PC Developer Getting Started Guide]] takes you through the various stages of creating PC developer code that includes switches, timer and graph logging. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Using PC_Developer APIs to Control an Arduino==&lt;br /&gt;
&lt;br /&gt;
The [[Using_PC_Developer_APIs_to_Control_an_Arduino|Using PC Developer APIs to Control an Arduino]] Takes you through creating HMI (Human machine Interface) Windows-based applications. that can control ESP32, and Arduino hardware in real time.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Raspberry Pi_Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Raspberry_Pi_Getting_Started_Guide|Raspberry Pi Getting Started Guide]] shows you how to set up the Raspberry Pi to enable it to be programmed via Flowcode.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Sysblocks Getting Started Guide==&lt;br /&gt;
&lt;br /&gt;
The [[Sysblocks_Getting_Started_Guide|Sysblocks Getting Started Guide]] take you through signal processing for Music Technology, DSP, Communications and Software Defined Radio.&lt;br /&gt;
&lt;br /&gt;
Sysblocks is an exciting piece of hardware for use with education in mind.&lt;br /&gt;
&lt;br /&gt;
===Examples===&lt;br /&gt;
&lt;br /&gt;
There are loads of examples available.&lt;br /&gt;
To find an example of a component you are interested in.&lt;br /&gt;
Search for the component by selecting the magnifying glass on the left Components Libraries ribbon.     &lt;br /&gt;
Right-click on the component you would like to look at an example for,  then select help.&lt;br /&gt;
If there are no examples available then you can request an example on the [https://flowcode.co.uk/forums/index.php forums].&lt;br /&gt;
&lt;br /&gt;
==Embedded==&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Coarse===&lt;br /&gt;
&lt;br /&gt;
Many modern electronic systems include some form of simple closed loop heat control to function. Some examples include a kitchen oven, a microwave oven, an iron, hair straighteners, electric heater, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then switching on a heating element when the temperature is less then the required temperature. The element is then switched off again when the required temperature is reached. &lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller digital output pin connected to a simple transistor, diode and relay to control the heater element and a thermistor to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Coarse_Control.fcfx|DSP Heater Coarse Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Heat Control - Fine===&lt;br /&gt;
&lt;br /&gt;
More advanced electronic systems may require a bit more fine control of the temperature to avoid overshoot and improve response to load changes. Some examples include a SMD reflow oven, 3D printer hotend, soldering iron, etc.&lt;br /&gt;
&lt;br /&gt;
These devices typically work by monitoring the temperature and then providing an analogue output to a heating element. The analogue value is calculated using a transfer function in this case we are using PID control.&lt;br /&gt;
&lt;br /&gt;
The electronics involved could be a microcontroller PWM output pin connected to logic level FET or TRIAC to control the heater element and a thermocouple to measure the heat.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|DSP_Heater_Fine_Control.fcfx|DSP Heater Fine Control}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Multi-function AC Power Monitor=== &lt;br /&gt;
&lt;br /&gt;
The PZEM-004T is Multifunction AC Power Monitor which uses MODBUS to communicate with the microcontroller.&lt;br /&gt;
&lt;br /&gt;
It can measure Voltage, Current, Frequency Power, Power Factor &amp;amp; Energy used (Resettable).&lt;br /&gt;
&lt;br /&gt;
The power level threshold can be set to give OVERPOWER warning.&lt;br /&gt;
&lt;br /&gt;
Before programming, check LCD address and Power Level Threshold are correct within the 2D Panel Properties.&lt;br /&gt;
&lt;br /&gt;
As the MODBUS uses UART channel on the Arduino Uno, the UART software timer is used to send all the power values.&lt;br /&gt;
Therefore you will require a TTL to USB converter or an analyser that can decode UART. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Arduino_Uno_Mains_PM_LCDv1.2.fcfx|Arduino Uno AC Multi-function Monitor v1.2}}&lt;br /&gt;
&lt;br /&gt;
===Current Sensor (ACS7xx) component===&lt;br /&gt;
ACS7XX range of unidirectional and bidirectional  5, 20, 30, 50, 100, 150 &amp;amp; 200A current sensors&lt;br /&gt;
&lt;br /&gt;
A simple example shows how to use a ASC712 component to measure a current range of +/- 5A.&lt;br /&gt;
The component type can be changed within its properties. &lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Current_measure_ACS7xx.fcfx|ACS712 example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Circular Buffer - Reliable Communications Data===&lt;br /&gt;
&lt;br /&gt;
This example takes bytes received from the Serial UART and uses the circular buffer to store the bytes as they come in using an interrupt. The main routine then forwards the bytes through to a PC using a USB serial connection. &lt;br /&gt;
&lt;br /&gt;
This example would work equally well for creating a bridge between several UARTs or translating Serial to SPI or I2C etc.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|CommsBuffer.fcfx|UART to USB Serial Data Bridge}}&lt;br /&gt;
&lt;br /&gt;
The LCD will retain the contents of the display, for high speed data we only want to have to write to the portion of the display that can change.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|LCDDemo.fcfx|LCD Demo}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|BME280 Barometer plus Altitude v1.0.fcfx|BME280 Barometer plus Altitude v1.0}}&lt;br /&gt;
This example reads and displays the pressure, temperature &amp;amp; humidity.&lt;br /&gt;
If the pressure is increasing then Rise will be displayed.&lt;br /&gt;
&lt;br /&gt;
Alternatively if the pressure is falling, then Fall will be displayed.&lt;br /&gt;
&lt;br /&gt;
The altitude displayed is calculated based on the current pressure reading.&lt;br /&gt;
&lt;br /&gt;
What makes the altitude useful is the ability to tare it, &lt;br /&gt;
then after going up or downstairs for example the feet &amp;amp; meters are displayed.&lt;br /&gt;
&lt;br /&gt;
Note since the altitude is calculated based on pressure, then if the sensor is left at the same height,&lt;br /&gt;
the height displayed can be different each day.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Programming Touch and Graphical Displays===&lt;br /&gt;
These programs are used in the Youtube video Touch and graphical displays parts [https://www.youtube.com/watch?v=AZhRtxvC_uY 1] and [https://www.youtube.com/watch?v=oCxMetjco4k 2]&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_7_for_HGY_480_320_display_spi.fcfx|gLCD Demo for SPI HGY 480 x 320 Display}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Test_card_6_for_Rowland.fcfx|gLCD Demo for Cap Touch Display on Rowland Technology PCB}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_6_Demo_Image.zip|Image for Test_card_6_for_Rowland}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Testcard_7_Demo_Images.zip|Images for Test_card_7_for_HGY_480_320}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Menu_system_02_10_24.fcfx|Menu system example for a gLCD}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|Menu_system_images.zip|Images for Menu system example}}&lt;br /&gt;
&lt;br /&gt;
Place the bitmap files in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
===M5stack dial===&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5stack_Dial_Simple.fcfx|M5stack demo shows you how you can develop a simple test card for the M5 stack dial using Flowcode}}&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|M5Stack_Dial_Safe.fcfx|M5stack demo shows you how you can make an electronic safe project for the M5stack Dial}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_simple_Demo_Image.zip|Image for M5stack_Dial_simple}}&lt;br /&gt;
&lt;br /&gt;
{{Zip|M5stack_Dial_Safe_Demo_Image.zip|Image for M5stack_Dial_Safe}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Place the bitmap file in the same folder as the project file for the simulation to work.&lt;br /&gt;
&lt;br /&gt;
==App Developer==&lt;br /&gt;
&lt;br /&gt;
[[File:freeapp-io-monitor2.png]]&lt;br /&gt;
&lt;br /&gt;
A range of example App Developer projects are available from here: https://www.flowcode.co.uk/app-developer/free-apps/&lt;br /&gt;
&lt;br /&gt;
A simple example that shows how to use some common functions of the potentiometer in conjunction with an LCD.&lt;br /&gt;
&lt;br /&gt;
{{Fcfile|Potentiometer Example.fcfx|Potentiometer Example}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.&lt;br /&gt;
&lt;br /&gt;
This set of 6 projects provides a detailed look at simple communications between an ESP32 device and a web browser using Flowcode to construct both the embedded app and the web app.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20HTTP%20Comms%20v1.0.zip HTTP Comms Worked Example - Web Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to create an embedded project that communicates with a PC via the serial port.&lt;br /&gt;
&lt;br /&gt;
This simple example shows two projects - an embedded app and a PC-based app - that communicate with each other using the serial port, exchanging text messages between the embedded device and the PC.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20Serial%20Comms%20v1.0.zip Serial Comms Worked Example - PC Developer]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A worked example showing how to develop Flowcode MQTT apps.&lt;br /&gt;
&lt;br /&gt;
This project details a simple application for exchanging messages between embedded and non-embedded devices using the popular MQTT protocol. Flowcode is used to create three apps - an embedded app running on an ESP32 device, a PC app running on Windows and a web app running in a browser.&lt;br /&gt;
&lt;br /&gt;
[https://www.flowcode.co.uk/resources/software/Worked%20Example%20-%20MQTT%20Comms%20v1.0.zip MQTT Worked Example - Web &amp;amp; PC Developer]&lt;br /&gt;
&lt;br /&gt;
==Scenarios==&lt;br /&gt;
This page contains a list of the scenarios included with Flowcode.&lt;br /&gt;
&lt;br /&gt;
The corresponding components can be found in the '''Runtime''' section of the component toolbar.&lt;br /&gt;
&lt;br /&gt;
*[[Traffic Light 1-Way]]&lt;br /&gt;
*[[Pedestrian Crossing]]&lt;br /&gt;
*[[Airplane Landing Gear]]&lt;br /&gt;
*[[CNC Machine]]&lt;br /&gt;
*[[Car Seat]]&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Potentiometer_Uno.fcfx&amp;diff=41281</id>
		<title>File:Potentiometer Uno.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Potentiometer_Uno.fcfx&amp;diff=41281"/>
		<updated>2024-10-09T10:54:00Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
	<entry>
		<id>https://www.flowcode.co.uk/wiki/index.php?title=File:Motor_test_-_servo_and_stepper_-_Uno.fcfx&amp;diff=41280</id>
		<title>File:Motor test - servo and stepper - Uno.fcfx</title>
		<link rel="alternate" type="text/html" href="https://www.flowcode.co.uk/wiki/index.php?title=File:Motor_test_-_servo_and_stepper_-_Uno.fcfx&amp;diff=41280"/>
		<updated>2024-10-09T10:53:47Z</updated>

		<summary type="html">&lt;p&gt;HamedA: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>HamedA</name></author>
		
	</entry>
</feed>