Solutions to the Exercise 3: Switches Exercise 1: This is very similar to switching a LED on or off. Again a single GPIO line is used. This time however the pin in...
BMP180, the temperature and barometric pressure sensor The BMP180 The BMP180 is an I2C sensor by Bosch Sensortec, measuring the ambient temperature and the barometric...
Accessing the Python interpreter MicroPython MicroPython implements the Python 3.4 syntax. It is Open Source and can be downloaded from its GitHub repository . There...
Exercise 9: ADC and DAC Introduction The ESP32 comes with two 12 bit ADCs and two 8 bit DACs. In this exercise we will see how to use them and what their limitations...
Analogue to Digital (ADC) and Digital to Analogue (DAC) conversion Introduction The ESP32 has two 12 bit SAR (Successive Approximation Register) Analogue to Digital...
LEDs and NeoPixel Introduction The ESP32 has 2 LEDs on board. The first one indicates power while the second one is user programmable. The user programmable built...
Lecture 4: DHT11 Temperature and Humidity Sensor CSC 321: Embedded Sysytem First Semester 2020/2021 The DHT11 PINOUT: The DHT11 has only 3 pins: Vcc...
Virtual Instruments Introduction Measurement instruments like multi meters, pulse generators or oscilloscopes can be rather costly and the requirements for the IoT...
Infrared remote control Introduction The WeMos D1 mini series of sensor board includes an IR receiver and transmitter. On its back you can define the GPIO...
Lecture 2: LEDs and NeoPixel CSC 321: Embedded Sysytem First Semester 2020/2021 The ESP32 WROVER B MCU CPU Pinout Please note: The pin numbers IOxx on...
Lecture 1: Basic Python Programming Lecture 2: LED and Neopixels Lecture 3: Switches with ESP32 Lecture 4: Temperature and Humidity with DHT11 Lecture...
The weather app Introduction Several weather servers provide weather data and forecasts that can be used by a weather app . Here are the two I had a look into:...
The T Watch Graphical User Interface and how to add your own applications and settings Introduction The ` firmware` is developed by Dirk Brosswick. It is a rather...
Solutions to exercise 10: TFT display Introduction The exercises on the TFT display can be implemented on the 1.4` display with its ST7735 controller or on the...
Exercise 10: A TFT Display and the ST7735 display controller Introduction The ST7735 is described in TFT Display on this TWiki. It comes with a big bunch of demo...
Graphical User Interface on the IoT node Introduction The 2.4 ` display has a pixel resolution of 320x240 pixels. It is controlled by an ili9431 display driver and...
LVGL on the T Watch 2020 Introduction Since the t watch 2020 has a rather high resolution screen in combination with a touch panel, it is possible to run Graphical...
The st7789 lvgl display driver The display driver for the t watch is extremely simple. It provides a frame buffer for lvgl to draw into and it has a flush method to...
The T Watch 2020 hardware devices The LilyGo t watch 2020 is a smart watch, based on the ESP32, which you must program yourself. If you want a fully functional smart...
The ttgo module The ttgo module is again a pure MicroPython module used to initialize the t watch hardware. It contains two classes: Watch Motor and...
The AXP202 Power System Management driver The axp202 driver is a pure MicroPython driver written by Lewis He found on github: https://github.com/lewisxhe/AXP202 PythonLibrary...
The driver for BMA423 Triaxial Acceleration Sensor The MicroPython layer in bma423 from was not working because it uses deprecated calls to I2C in MicroPython. However...
The T Watch 2020 sound system The t watch has an integrated loudspeaker which is driven by a PCM Input Class A Audio Power Amplifier. This system allows us to play...
The Driver for the PCF8563 Real time Clock and Calendar This is a pure MicroPython driver written by Lewis He, which can be found on https://github.com/lewisxhe...
The Buzzer and Vibration Motor This device is simply connected to GPIO 4 and starts buzzing and vibrating when the bit is set to logic one. The demo program buzzer...
Seven Segment Display and Keypad The Seven Segment Display and its TM1637 controller There is a nice and simple seven segment display controlled by a TM1637 controller...
Solutions to exercise 13: Seven Segment display and Keypad The Seven Segment Display and the TM1637 controller chip Exercise 1: The driver and its test program Writing...
TFT Displays Introduction A wide range of displays is available for use with the Arduino system. For the WeMos D1 mini system I found 3 display boards. Each of them...
Using a second Serial Port On the ESP32 UART0 is normally reserved for interactive use with REPL. Sometimes we need a UART to communicate with external devices. Typical...
Compiling Micropython Forcing the correct module versions When trying to compile the ESP32 port of MicroPython on an Ubuntu 20.04 system, I see the following error...
Internet access Once we have collected data from the sensors, we want to get access to them. This can be accomplished most easily by transferring the data over the...
Writing Scripts A file system layout It is not always easy to keep tidy a file system and many students don`t really understand why this is necessary. During your...
Introduction The Internet of Things The Internet of Things or IoT for short is one of the major subjects in computer science these days. Micro controllers with Internet...
MQTT and Cayenne Introduction Cayenne claims to be the world`s first drag and drop IoT builder. It provides a dash board on which the user can set up predefined widgets...
MQTT and Cayenne Exercise 1: Install mosquitto on your machine. On Ubuntu Linux this can very easily be accomplished with apt. Try the mosquitto communication:...
The Neo 6M GPS receiver Most GPS receivers use a UART to communicate with their hosts and the Neo 6M is no exception. The ESP32 has 3 hardware UARTs with the following...
Exercise 9: GPS receiver Introduction Most GPS receivers use a simple serial interface for communication and provide their data in form of NMEA sentences to the host...
Exercise 8: RTC and data logging Introduction The ESP32 has a real time clock implemented on chip. This will however only work as long as the ESP32 is powered. It...
Exercise 4: The DHT11 Temperature and Humidity Sensor Introduction The DHT11 is a digital temperature and humidity sensor featuring its own proprietary communication...
A WEB Server on the ESP32 A `Hello World!` WEB server Writing a WEB server from scratch is not a trivial task, but then the need of a WEB server is so common that...
Solutions to Exercise 2: LEDs Exercise 1: Here is the screen dump of a REPL session switching the builtin LED on and off: Exercise 2: This is the most simple program...
Solutions to exercise 4: The DHT11 Temperature and Humidity Sensor Exercise 1: The solution to the exercise is quasi already given in the manual. All you need to...
Solutions to Exercise 1: REPL and standard Python programming Exercise 1: Use of REPL The screen shot shows the REPL session Exercise 2: A simple calculator In the...
Solutions to Exercise 9: Real Time Clock and Data Logging Exercise 1: Since connecting to the Internet through WiFi is a very common task, we develop a module doing...