Tinycorder, a Multitool Device to Sense Environment, Test Electrical Signals and More.
by SirGalaxy in Circuits > Gadgets
1530 Views, 17 Favorites, 0 Comments
Tinycorder, a Multitool Device to Sense Environment, Test Electrical Signals and More.













Tinycorder is a small multipurpose device that seeks to pay tribute to the mythical tricorder from the science fiction series Star Trek. It includes several sensors, as well as a high-resolution, low-power screen that allows us to use it as an electronic badge.
It's small (75x85x10mm), light (70gr) and uses very low energy.
Main features:
-Two-piece PLA chassis that are joined together using 4 M3x10 screws.
-Includes hook to hang it from the neck or hand.
-XIAO ESP32C3 MCU from Seeed Studio.
-150mAh Lithium Ion battery.
-Power switch and 3 pushbutton for interface (Up, Down, Enter).
-Sharp Memory Display 400x240px from Adafruit. Very low consumption.
-AS7341 sensor for light measurement in 7 visible and NIR (near IR) bands.
-SCD40 sensor for measuring air quality and CO2.
-BMP280 sensor for measuring temperature, humidity and pressure.
-2 free pins accessible from the front to measure analog signals.
Tinycorder Version 2 (updated July 6, 2025)
The code is completed with the following changes:
- The timer function is completed, allowing you to set blocks from 5 to 120 min. In the 25min block, a "Pomodoro Timer!" message appears. When activated, it starts a countdown and, when finished, notifies with a flashing label on the screen.
- The Dashboard menu is completed, showing CO2, temp, and humidity measurements as a histogram, with measurements every 5 min up to a total of 24 for each variable. The time between samples can be changed in firmware to take a longer total sampling time.
- The "Air Quality" menu presents CO2, temperature, and humidity measurements every 5 seconds continuously, until you return to the main menu.
- The "Spectrometer" menu was already working but has been improved. Now it can display the spectrum as a histogram, lines, or numeric; you can switch between any of them or return to the main menu.
- The "About" menu has been improved in appearance and presents basic information.
- The oscilloscope function has been removed for now. It may be addressed in the future.
- All the text and menus in english
- The changes are update in github. Also uploaded the new .ino file here.
Pending changes:
- Add a small buzzer to give sound to the device.
- Add a time-of-flight sensor to measure distance and perhaps generate a kind of "sonar".
- Optimize power consumption by better managing deep sleep processes.
- Option to enable/disable LED for flashlight, using those on the spectrometer sensor.
- Battery voltage control to see autonomy on screen.
- Try other, more economical displays and redesign the hardware. The Sharp is very good but somewhat expensive.
- Create the PCB. It is currently a perfboard as it is a prototype.
- What else...?
WORK IN PROGRESS
I have decided to enter the "Interactive Signage Contest" promoted by Seeed Studio.
As part of that process I have uploaded a video that has been published on their channel, here is the link. The 14 videos with more likes go to a second phase in which a jury decides the best projects and there will be some prizes, the first one is a paid trip to the maker faire in Shenzen. The jury meets in the second half of August.
Tinycorder is a small, lightweight, low-power data capture device. It records temperature, humidity, CO2 and carries a basic 8-band spectrometer (7 colors + NIR). It also serves as an electronic badge, pomodoro timer, etc. I was inspired by the mythical Tricorder from the Star Trek franchise.
You have to participate before August 15, if you see the video and you like the project, it's as simple as giving it a like, thank you very much!
Supplies

- XIAO ESP32C3 MCU from Seeed Studio.
- 150mAh Lithium Ion battery.
- Power switch and 3 pushbutton for interface (Up, Down, Enter).
- Sharp Memory Display 400x240px from Adafruit. Very low consumption.
- AS7341 sensor for light measurement in 7 visible and NIR (near IR) bands.
- SCD40 sensor for measuring air quality and CO2.
- BMP280 sensor for measuring temperature, humidity and pressure.
- 2 header pins.
Join the Perfboard and Display With Glue or Soldering.

Use this schematic to mount the device. Pay attention: some stuff isn't in Fritzing libraries and could be different. Read the notes.
Wire All the Sensors and Display Following the Schematic

- The display uses 3 pins for SPI and sensors 2 pins for I2C. 3 pins for pushbuttons (up, down, enter). 2 pins are connected in the front to header pins, they are analog pins.
- Solder the XIAO in the topside but take care of align the perfboard holes. XIAO ESP32C3 has two pads in the bottom to connect the battery and you must solder them in the bottom, it's a little tricky.
Glue the Sensors in the Bottom Side, Also the Wiring, See the Picture:

In the Front, Glue the Battery:
.jpg)
Join the Top-bottom Case (PLA) With Nuts & Bolts

I've used M3x10. I've need some iterations to fit all the componentes, this is also tricky. If you made one maybe is better to print the case in first place to align correctly with electronics and glue them later. In my case I didn't follow this way because I designed the pieces after glue components and take the measures, As you can see the design includes a hole for a wrist strap. And the same color than pla, I was lucky with that.
Almost Finished !!

TO-DO:
- Refine the code, main menu, badge and spectrometer are ok, the rest are in construction.
- Monitor battery voltage and display it via an indicator.
- Include a buzzer.
- Add pending functions like tester/oscilloscope.
- New features as they come to mind.