Giter Club home page Giter Club logo

esp32_sensor's Introduction

ESP32 Sensor Module

This repository outlines an attempt to make a universal ESP32 board to conduct IoT projects with the help of sensors. As such, it is highly customisable and will most likely undergo many revisions.

The goal is to have multiple of these ESP32 sensor modules interact with each other using mesh Wi-Fi to share information with each other.

Table of Contents

Hardware Versions

Each hardware revision will be updated and the version as such. This version system is adopted from v0.0.4 onwards. The convection is as follows:

X.Y.ZA

  • X: Major version number of the design. It is assumed there are major changes to the overall design including PCB, components, fucntionality, purpose, etc.
  • Y: Minor version number of the design. Any increment on this signifies a minor design revision. Most likely an electrical characteristic change and/or component replacement.
  • Z: Revision version number of the design. Any increment on this signifies a commit has been made to the design. Most likely adjustments to facilitate assembly houses, manufacturing and production.
  • A: Alphabetical designation. Used to indicate even more minor adjustments like spelling mistakes and refreshing files.

v0.0.3b

Originally a 4-layer PCB, it was redesigned to a 2-layer PCB in order to meet capstone project deadlines and it is the first iteration that was manufactured, tested and worked (well, most of it anyways). As such, it is noticebly bare-bones and has hardware design flaws. It is not recommended to go with this.

v0.0.3c

Refreshed gerber files, schematics and BOM to be packaged such that it can be used to shop around between assembly houses. No meaningful changes since v0.0.3b.

Known Hardware Issues

Acknowledgements

Thanks to Isaac Tan for helping me design, test and realise this project from the very beginning.

esp32_sensor's People

Contributors

cjinn avatar

Watchers

James Cloos avatar  avatar R0G avatar

Forkers

mfkiwl

esp32_sensor's Issues

IMU Self-Reset with FTDI

The ESP32 should interface with the FTDI hardware pins such that it can auto-reset itself accordingly when being programmed.

See this thread for an example.

Crystal Oscillator missing from Hardware Design

Summary

As noted in the Hardware Design Guidelines on page 6 for the External Clock Source, the ESP32 requires a 40 MHz crystal oscillator in order to run Wi-Fi/Bluetooth firmware. This is an oversight on the hardware design, causing any firmware for Wi-Fi/Bluetooth to fail for v0.0.3b.

Proposed Solution

In the next hardware iteration, include a crystal oscillator into the design.

IMU SDA pin interferes with ESP32 boot up

Summary

In the current hardware design, the ESP32 will not boot up properly if it is connected to the IMU on start-up, specifically the IMU SDA pin with GPIO12 (MTDI) or Pin14 for the ESP32. The ESP32 Boot Mode , when driven high, will have a flash voltage of 1.8V which interferes with the 3.3V SPI Flash as outlined in the ESP32 datasheet.

The current workaround is to not connect the IMU to the ESP32 till after power up.

Proposed Solution

Revise GPIO layout of the ESP32 to connect to IMU.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.