Coder Social home page Coder Social logo

esp32picoremote's Introduction

ESP32PicoD4_TFT_Remote

WiFi remote based on ESP32 Pico D4 MCU and a beautiful 160x80 pixels mini TFT display. Additionally there is a I2C temperature & humidity sensor as well as an accelerometer on board.

Assembling video is on my Youtube.

The power latching circuit ensures that the ESP32 Pico D4 don't need to be in deep sleep mode while in OFF state. This puts it down to around 3ÂľA during 'sleep', due to the battery protection. It can be woke up only by the middle button. The battery protection occupies reverse voltage protection through the mosfet. Overdischarge voltage of the XB5353A is 2.4volts, which is only for safety reasons. The battery voltage should always be checked with the voltage divider, which gives you an estimation of the battery state.

Main components are:

  • ESP32 Pico D4
  • CP2102N USB to serial bridge
  • 160x80px ST7735 13pin TFT display
  • HDC1080 temperature and humidity sensors
  • LIS3DHTR accelerometer
  • WS2812 LEDs
  • XB5353A battery protection
  • SE7401U polarity
  • MCP73831 charging
  • RT9193 regulator
  • Molex 3D antenna

Circuit & PCB

pico32_remote_v1.0 was the initial schematic of this PCB. Unfortunately it occupies a few mistakes:

  • Button two is connected to the ESP32 directly behind the button, which gives VCC directly to one of the GPIOs of the MCU - meh. The 1k resistor should be between the pulldown and the button.
  • Furthermore the footprint of the LIS3DHTR is mirrored (not visible in the schematics).
  • Last but not least the VUSB of the USB-C connector and the power selection circuit wasn't connected properly because the VUSB on one side was just a label and not the name of connection itself - shame on me.

All these mistakes are fixed in version 1.1. Additionally I have added a USB activation diode, which enables the latching circuit ones a USB cable is plugged into the board. This is nice to have if you want to visualize battery charging. Another advantage is that one of the buttons don't have to be pressed during firmware upload.

Code

Check out the code in the 'code' section. It is used in PlatformIO, but can be shifted to Arduino IDE easily. The code is exactly the same.

The ST7735 display can be used easily with the TFT_eSPI library by Bodmer. This library comes with a User_Setup.h to setup the dedicated display you are using. I have attached this file for this specific board in the code section of this repo.

Another nice library to play little GIFs on that tiny display is the AnimatedGIF library by Larry Bank. He shared a nice tool for converting GIFs to a code array as well.

Milled case

It is not yet optimized but the bottom part is looking great. The top part should move left and right while pushing the buttons, unfortunately it doesn't due to the small holes in PCB and bottom part. An easy solution would be to use two elongated holes in the top part (the screw heads would be visible on the top part).

When you have questions then feel free to ask.

Have fun! :)

esp32picoremote's People

Contributors

morkoen avatar makermoekoe avatar

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.