Posts

Showing posts from May, 2023

ESP32 Based Pulse-Oximeter using MAX30102

Image
Code for Arduino IDE used in the video is listed below. It targets the Wemos D1 R32 ESP32 board, but can be modified to suit. // Tinker Foundry // Accompanying video: https://youtu.be/xjwSKy6jzTI // Code for ESP32 to interface with MAX30102 breakout board and report blood oxygen level // Refer to https://github.com/DKARDU/bloodoxygen - below code is simplified version // https://www.analog.com/media/en/technical-documentation/data-sheets/MAX30102.pdf // Connections from WEMOS D1 R32 board to MAX30102 Breakout Board as follows: //  SCL (ESP32) to SCL (breakout board) //  SDA (ESP32) to SDA (breakout board) //  3V3 (ESP32) to VIN (breakout board) //  GND (ESP32) to GND (breakout board) #include <Wire.h> #include "MAX30105.h" //sparkfun MAX3010X library MAX30105 particleSensor; double avered    = 0 ; double aveir     = 0 ; double sumirrms  = 0 ; double sumredrms = 0 ; int    i         = 0 ; int    Num       = 100 ;  // calculate SpO2 by this sampling interval int

Tinkering with FPGAs

Image
  In this video, I present a high-level overview of the Digilent Arty-S7 board with Xilinx Spartan 7 FPGA, targeted towards hobbyists and makers. It includes a walk-through of the process of creating and implementing a digital design in an FPGA from writing RTL (in Verilog), simulation, synthesizing, implementing and uploading the bitstream to the device using Xilinx Vivado. Links to some related Digilent and Xilinx resources: https://www.xilinx.com/products/boards-and-kits/1-pnziih.html https://digilent.com/reference/programmable-logic/arty-s7/start Verilog HDL Code for the example design featured in this video: `timescale 1ns / 1ps ////////////////////////////////////////////////////////////////////////////////// // Company:   Tinker Foundry // Engineer:  Tinker Founder //  // Create Date: 05/06/2023 01:39:13 PM // Module Name: tinker // Target Devices: Arty-S7 Board // Description:  // Example design that will increment a 4-bit counter if SWITCH0 is off, and // decrement the counter