Esp-idf related code
- Get minimal arduino dependency set.
- Get this working without hacks to arduino code.
(See the README.md file in the upper level 'examples' directory for more information about examples.)
This is the simplest buildable example. The example is used by command idf.py create-project
that copies the project to user specified path and set it's name. For more information follow the docs page
We encourage the users to use the example as a template for the new projects. A recommended way is to follow the instructions on a docs page.
The project sample_project contains one source file in C language main.c. The file is located in folder main.
ESP-IDF projects are built using CMake. The project build configuration is contained in CMakeLists.txt
files that provide set of directives and instructions describing the project's source files and targets
(executable, library, or both).
Below is short explanation of remaining files in the project folder.
├── CMakeLists.txt
├── main
│ ├── CMakeLists.txt
│ └── main.c
└── README.md This is the file you are currently reading
Additionally, the sample project contains Makefile and component.mk files, used for the legacy Make based build system. They are not used or needed when building with CMake and idf.py.
The original hardware used for this is:
- ESP32-S2 Feather w.FL Or
- ESP32-S2 Feather integrated antenna
- SparkFun Micro 6DoF IMU Breakout - LSM6DSV16X (Qwiic)
I am currently working on a more capable hardware configuration that supports local storage and better power management.
The main change is adding a microSD card, by switching to a Sparkfun Thing Plus.
- SparkFun Thing Plus - ESP32-S3
- SparkFun Micro 6DoF IMU Breakout - LSM6DSV16X (Qwiic) - same as above
- Flexible Qwiic Cable - 100mm
- Lithium Ion Battery - 2Ah
The Thing Plus board has an integrated antenna, which limits the WiFi performance, but the intent is to separate data collection during ringing from data download when the bell is stationary.
I may instead pursue using the Adafruit Metro since I had the best success with the Adafruit product the first time around last year. It is a larger board (2.1" x 2.7"), but can be stacked with the battery, so there is no real penalty for the larger size. They also have a compatible 2500 mAh battery, which is a bit more cost effective than the SparkFun, with dimensions 1.9" x 2.3" x 0.29" - just a little smaller than the Metro board.
In addition, the components have to be firmly attached to the headstock, either with magnets or with foam tape.
- Rectangular Magnets 45 lbs Force 1.57" x 0.53" x 0.20" OR
- Rectangular Epoxy Coated Magnet
- Double Sided Tape Heavy Duty Foam Tape, 3M VHB Tape If magnets are used, the same foam tape can be used to attach the components to the magnets, except for the sensor, which should be glued to the magnet (or headstock), to minimize acoustic noise coupling from the air. (It may be that the tape is perfectly adequate, but this needs to be tested). A small amount of butyl rubber between the magnet and headstock will eliminate any rocking caused by non-flat surfaces.
A tape such as this applied over the sensor may further help reduce acoustic noise, but this has not been tested. It also may improve performance to secure a suitable size bottle cap over the sensor, attached directly to the headstock with butyl rubber. These ideas need to be evaluated in actual belfry conditions with all bells ringing.