You are browsing as a guest. Sign up (or log in) to start making projects!

Manula

@Manula

Joined May 31st, 2026

  • 4Devlogs
  • 2Projects
  • 1Ships
  • 0Votes
I'm an intermediate maker who just started creating their own personal projects instead of using tutorials. I really want a raspberry pi (and 3D printer but that's really hard)
Ship Pending review

Sleep Helper is a box that sits by your night stand and provides you data about your sleep environment when you wake up the next day! You can then see this data the next day and adapt your sleeping environment. E.g. too hot? Turn on a fan or AC.

This project uses an ESP32 with BLE (Bluetooth Low Energy) with hardware including an OLED display (SSD1306), rotary encoder module, DHT11 module, big sound sensor module and LDR. Data collected from these sensors is sent to a webpage which displays it in graphs to evaluate your environment in the morning. It can also act as an alarm.

Disclaimers:
If you watch the video I have adapted an old iteration with a current iteration, this is because I accidentally cracked my oled display 😭😭😭. It will still work exactly like my earlier iteration (only it would actually display on the screen). Please understand this as you watch my demo.

##What was challenging?

My code spans 500+ lines and my Arduino UNO did not have enough sRAM to keep up so I had to switch to a ESP32.

Finding a way to display data was really challenging and I spent a lot of unrecorded hours researching how to display my data: I tried using an SD card on an old Ethernet Shield and making an app.

I was really sad when I broke my display trying to record the demo :(. What happened was I accidentally put pressure on a bottom corner of the glass (or maybe its transparent plastic) and it cracked, this is where the connections go through so I broke it :(.

KEY Features 🚀

  • Set the time with a rotary encoder on the display (24hr time)
  • Prompts an alarm clock to be set the same way
  • Switch between current mode times and real time temp & humid readings (DHT11)
  • If a loud sound is detected the OLED will display (LOUD NOISE!)
  • LDR is constantly monitoring light
  • Active buzzer will go off if the alarm time is reached
  • Temp, humidity, sound and light data are all sent to the webpage
  • Webpage builds on existing graphical data and works continuously while saving data
  • Clear data, clears data
  • Fan can be turned on and off through the webpage
  • Can zoom in and pan on graphs (this can be reset too)

HOPE YOU LIKE MY PROJECT!! This is my first project I did all by myself!

  • 3 devlogs
  • 39h build
Video of Project → See source code →
Open comments for this post

9h 25m 38s logged

**Sleep Helper **
Devlog 4

I have finished my project!! Unfortunately, I don’t have a 3D printer and my access to a 3D printer has come up short in recent months so I can only submit a video of my project working.

What I have done since Devlog 3:

  • I have fixed my SD card and Arduino Uno problems with a ESP32 which has more SRAM and can handle my program. (I decided to get rid of my SD card and display my data another way, keep reading)
  • I used the switch button on my rotary encoder to switch modes between time and temp&humidity readings
  • I added a motor to my design to act as a cooling fan
  • Instead of the SD card collecting data I instead used the BLE capability of the ESP32 (Bluetooth low energy). This meant that every reading would be sent to the device hosting the website every 2 seconds (or however long I chose).
  • Using the data from my project I displayed it on my website with graphs, adding a baseline to each variable (e.g. temp and light)
  • Added a button on my website that if pressed sends a signal to the ESP32 to turn on the fan/motor, this way even if it doesn’t reach a temp threshold I could still use the motor as white noise or more cooling.
    (P.S. my website is local only)
  • Finally I built 3D models for my parts which I won’t be able to print but would theoretically work to fit my components! ( I used fusion 360 for this).
0
0
26
Open comments for this post

12h 41m 5s logged

Devlog3 - Sleep Helper

What I did:

  • Added a photoresistor for light levels + LED
  • Added code to set an alarm + buzzer
  • added a relay that would cause a motor to spin if the temperature got past ideal sleeping temps
  • Added an extra button to stop/set alarm
  • Added an ethernet shield because it has a microSD card slot
  • Used microSD card to create a CSV file with timestamps, temp & humidity data, light etc.
  • microSD card can then be removed from ethernet shield and opened to see data in an EXCEL spreadsheet (check how your sleeping environment was after waking up)
  • added a capacitor to deal with voltage dips
  • Debugged during Argentina vs England (🐐)
  • Free up space for SRAM on Arduino UNO

(this has taken too long.)

MAJOR PROBLEMS:

  • Arduino Uno doesn’t have enough SRAM to manage OLED, DHT and SD libraries at once and doesn’t have adequate space to Open a file on an SD card for a write function

Moving forward:

  • finding a solution to manage everything without voltage dips becoming an issue + managing SRAM
  • adding motor
  • Creating 3D printed housing
  • Shipping
0
0
4
Open comments for this post

17h 23m 15s logged

Sleep Helper Devlog 2

Can’t sleep? Well maybe the problem is your sleeping environment!

I’m building an Arduino-powered sleep device that watches over my room while I sleep. Helping me improve my sleeping environment and get quality sleep. So far it tracks temperature, humidity and noise.

Things I have done so far:

  • Made an ‘Alarm Style’ clock setup
  • Read temp and humidity
  • Change between clock and temp modes
  • Detect Loud sounds

Next steps:|

  • Adding more features
  • Polishing off Arduino code
  • Creating 3D printed housing

I hope you all like it! :)

0
0
12

Followers

Loading…