https://github.com/thingpulse/esp32-cubo
Sample project for the Cubo
https://github.com/thingpulse/esp32-cubo
Last synced: 8 months ago
JSON representation
Sample project for the Cubo
- Host: GitHub
- URL: https://github.com/thingpulse/esp32-cubo
- Owner: ThingPulse
- License: mit
- Created: 2020-11-26T14:21:51.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2024-05-16T12:58:55.000Z (over 1 year ago)
- Last Synced: 2024-05-16T13:53:03.671Z (over 1 year ago)
- Language: C
- Size: 948 KB
- Stars: 2
- Watchers: 4
- Forks: 2
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESP32-Cubo
The ESP32-Cubo is a device based on the Espressif ESP32 and comes with the following hardware:
- ESP32 Wrover-B Microcontroller module with 4MB Flash and 8MB SPIRAM memory
- Good Display 1.54" epaper display with 200x200 Black and White Pixels
- Battery charger and connector for LiPo battery
- USB connector for programming and charging
- CP2104 USB-to-Serial Chip
- 2x User controllable LEDs, red and green
- Inertial Measurement Unit ADXL345
- MAX17055 Fuel Gauge Chip for measuring battery voltage and estimating remaining capacity
- DS3231 Real Time Clock Chip for keeping time, powered by coin cell battery
- Reset Button

## Template for building a cardboard mockup
[Download cardboard template](/images/Cubo_Vorlage.pdf)
## Prerequisites
- esp32-cubo hardware
- usb cable to connect your computer to the device.
- git installed on your command line
- experience in programming the ESP32 by using the Arduino platform
## Install the CP2102 driver
This driver is required to programm the esp32-cubo. It enables your computer to talk to the USB-to-Serial chip on the PCB.
To install the driver please follow the instructions under https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers
## Setup Development environment
This sample code should in theory work with the Arduino IDE. Instead we suggest to use the Platformio IDE since it makes it
much easier to handle the correct libraries.
Platform IO IDE is a plugin for Microsoft's Visual Studio Code Editor. To install the Platformio IDE please follow
these instructions: https://platformio.org/install/ide?install=vscode
## Get the Code
To get the sample code run
```
git clone https://github.com/thingpulse/esp32-cubo
```
from your command line or download the zip file from https://github.com/ThingPulse/esp32-cubo/archive/master.zip and unpack it.
## Components Explained
### The ePaper Display
The 1.54" ePaper display has 200x200 black and white pixels. The display can maintain the state of the pixels even without
supporting power. This makes is a great tool for devices running from batteries since it only consumes energy during updates.
In this sample we use the ThingPulse Minigrafx library to control the display. You can find more information for programming
the display here: https://github.com/ThingPulse/minigrafx/blob/master/API.md
### The ADXL345 IMU
The ADXL345 chip can measure movement/accelereation in three axes. It can wakeup the main processor from deep sleep
when movement is detected. It can also be setup to detect taps or double taps in one of the three axes. This repository
contains a slightly modified copy of a ADXL345 driver by Korneliusz Jarzebski
## Uploading Filesystem
In order to have the files under data/ available they need to be uploaded to the device first. Platformio creates a .bin file
which is then flashed to the device. Everytime you change the content under data/ this needs to be done. To this execute the following
task: env:esp-wrover-kit > Platform > Upload Filesystem Image

## Upload Code
To compile the code you can click on the checkmark icon in VS Code's footer. The arrow to the right will do the same and upload
the binary to the device. To plug icon turns on the serial console to monitor what is happening on the device.

## License
Copyright (c) 2020 - 2024, ThingPulse Ltd., Switzerland. All rights reserved.
Hardware is licensed under Creative Commons [CC BY-SA 4.0](https://creativecommons.org/licenses/by-sa/4.0/).
Software is licensed under MIT License, see [LICENSE](LICENSE).