Sample Projects

This page contains a variety of Flowcode projects that showcase the use of Web Developer and PC Developer to access and control embedded apps. They describe example scenarios that show how Flowcode and App Developer can be used together to create useful real-world applications.

The examples interact with popular hardware platforms such as Arduino and ESP32 running Flowcode-generated embedded apps. They are classified as follows:

Web Developer PC Developer PC Developer Slave Full source code is provided for all aspects of each project allowing you to use these to learn, experiment and modify them for your own purposes.

Vote/Feedback System - Web Developer

Vote system project
Hardware:
ESP32

Communication:
HTTP

Description:
The hardware app displays a customisable question and records user responses collected over time. The associated web app reports on the responses and allows the question to be changed.

These systems have become common in public places such as restrooms where users are asked to rate the cleanliness of the facility. They have a wide range of applications whenever a simple response is required from users.
Download Project
Documentation

Automated Curtains - Web Developer

motorised curtains app
Hardware:
ESP32

Communication:
HTTP

Description:
A web-controlled motorised curtain controller.

An embedded project receives commands from the web app to open and close the curtains. Limit switch inputs are used to ensure the motor stops when curtains are fully open or closed. The web app can link to multiple embedded systems allowing several different rooms or zones to be controlled via the same app.
Download App
Documentation

HTTP Comms Worked Example - Web Developer

HTTP Worked Example
Hardware:
ESP32

Communication:
HTTP

Description:
A basic worked example showing how to use Flowcode to create an embedded project that is controlled via a web app using HTTP.

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.
Download Project
Documentation

MQTT Worked Example - Web & PC Developer

MQTT Worked Example
Hardware:
ESP32

Communication:
MQTT

Description:
A worked example showing how to develop Flowcode MQTT apps.

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.
Download App
Documentation

Environment Monitoring - Web & PC Developer

MQTT Demo screenshot
Hardware:
ESP32

Communication:
MQTT

Description:
An environmental control and monitoring application using MQTT.

An embedded ESP32 app reads the local temperature and humidity using an SHT31 sensor and publishes this data to an MQTT server. This data is received and displayed by a PC Developer app and a Web Developer app. The project also allows communication from these apps to the embedded project to allow the user to modify the environment settings.
Download App
Documentation

Mains Power Monitor - PC Developer

Mains Power monitor
Hardware:
ESP32

Communication:
USB

Description:
An ESP32-based mains power monitor using a PZEM-004T AC power energy meter module.

Data from the monitoring module is sent to a PC Developer app which logs and displays the data with instantaneous readouts and charts.
Download App
Documentation

Carpark Occupancy - PC Developer

control panel of the carpark occupancy app
Hardware:
Arduino

Connection:
Serial via USB

Description:
A PC app and embedded firmware to display carpark occupancy data from an Arduino.

The embedded Arduino app uses 4 inputs and 4 outputs to periodically read a grid of 16 digital values. This information is sent to the PC app, which presents this data as a 4x4 matrix and as a graphic of a carpark.

The apps can easily be extended to read and display more digital values, and the techniques used can be applied to many alternative scenarios where a collection of data values need to be gathered and displayed.
Download App
Documentation

3-Channel Temperature Logger - PC Developer

control panel of the i/o board arduino
Hardware:
Arduino Uno

Communication:
Serial via USB

Description:
A three-channel temperature datalogger using simple thermistors on an Arduino Uno, with an associated PC app to record and display the data.

The embedded app sends serial data to the PC Developer app containing the temperature readings. The PC app displays this data in three separate charts.
Download App
Documentation

Serial Comms Worked Example - PC Developer

Vote system project
Hardware:
Arduino

Communication:
Serial via USB

Description:
A worked example showing how to create an embedded project that communicates with a PC via the serial port.

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.
Download Project
Documentation

General Purpose I/O Board - PC Developer Slave

Control panel for the Arduino slave i/o board
Hardware:
Arduino or ESP32 using Slave Device API

Connection:
Serial via USB

Description:
A general purpose I/O project with 5 analogue inputs, 5 digital inputs, 5 digital outputs, and a single channel PWM control.

Three separate projects are available, each tailored to a different microcontroller target. The hardware is loaded with our API Slave firmware which allows PC Developer apps to take full control over the execution of code in the hardware.
Download App
Documentation (Arduino)
Documentation (ESP32)

Power Monitor - PC Developer Slave

control panel of the power monitor app
Hardware:
Arduino using Slave Device API

Connection:
Serial via USB

Description:
A general purpose power monitor for an Arduino Uno which uses a SparkFun current sensor breakout board ACS723 (SEN-13679)

The Arduino is loaded with our API Slave firmware, allowing a PC Developer app to control it and read data from the current sensor. This data is plotted onto a series of charts in the PC app and is optionally saved to a CSV file.
Download App
Documentation

Component Tester - PC Developer Slave

component tester
Hardware:
Arduino using Slave Device API

Connection:
Serial via USB

Description:
This project uses an Arduino Uno with 5 external resistors to providea testing facility for resistors, capacitors, inductors, transistors and diodes.

The Arduino is loaded with our API Slave firmware, allowing a PC Developer app to fully control program execution. The app will determine the component's value, whether it is working or not, and will even tell you the connections of the transistor or diode.
Download App
Documentation