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

Project EVE

Hardware
  • 14 Devlogs
  • 20 Total hours

An ESP-32 powered smart assistant device that combines programming, sensors, displays, and a servo-controlled automation into an interactive electronics system capable of scanning its surroundings, detecting objects, and identifying their distance and direction.

Ship #1 Pending review

I made Project EVE, which is a ESP-32 based scanning system that uses an ultrasonic sensor and servo to scan from 30° to 150°, detect objects, track the closest target, and display the results on an OLED radar interface. I also added Wi-Fi connectivity and a live browser dashboard that shows EVE’s sensor and target data. The most challenging part for me was getting the scanning, target detection, radar visualization, target-lock system, and web dashboard to all work together reliably. It took a lot of debugging, but in the end I made it work. I’m proud that I built the system and kept adding different types of features as I learned more about how to program the ESP32, and wire the electronics and components correctly.

To test EVE, connect the hardware, power on the ESP32, and open the IP address shown in the Serial Monitor on a device connected to the same Wi-Fi network. The OLED will show EVE’s Interface while the servo and ultrasonic sensor perform the scan.

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

1h 7m 15s logged

Day 12 - Project EVE
I haven’t been working on any projects for a while, but today I finished Project EVE! I finished up the web dashboard and made it look way better and more organized. I first tested EVE’s /data endpoint to make sure the ESP32 was correctly sending the live distance, scan angle, target distance, and target angle. I then debugged the webpage and found a JavaScript error that was preventing the values from appearing and updating. After fixing the error, I tested it again and successfully got the sensor and target data updating in the browser. With the live dashboard working, I finished the final testing and got Project EVE ready to submit!

0
0
108
Open comments for this post

40m 48s logged

Day 11 - Project EVE
I can only work on Project EVE a very little amount this week; but today, I continued Project EVE’s Wi-Fi system by building out the browser dashboard and connecting it to the ESP32’s sensor data. I added a JSON data endpoint that sends EVE’s current distance, scan angle, target distance, and target angle to the webpage. The dashboard now displays this information in a cleaner interface, creating the foundation for EVE’s browser-based monitoring system. The next step is to finish the automatic live updates and complete the final testing and polish.

0
0
38
Open comments for this post

26m 33s logged

Day 10 - Project EVE
Today I added Wi-Fi connectivity to Project EVE and started building its web interface. EVE can now connect to my Wi-Fi network and host its own webpage, allowing me to view information from the ESP32 through a browser. The webpage currently displays the ultrasonic distance, servo angle, closest detected target, and target angle. I also started setting up a data endpoint for future live updates. Next, I’ll finish automatic webpage updates and turn the interface into a more complete EVE dashboard.

0
0
3
Open comments for this post

1h 22m 39s logged

Day 9 - Project EVE
For the rest of the day, I continued improving Project EVE by making the wiring more organized and clear, because I got new wires! I replaced the original wires with flatter ones which improved the overall layout of the hardware. I also added a new dedicated rescan button that resets the data and allows EVE to start a new scan AFTER it locks on it’s target and goes on the target lock screen. After improving the target-lock system, I moved on to Wi-Fi and successfully accessed EVE through a browser. Next, I’ll build a future web dashboard that has live sensor data, target information, and a larger radar display.

0
0
115
Open comments for this post

1h 5m 3s logged

SOME of day 9 - Project EVE
Today I added a target-lock system to Project EVE. After completing a scan, EVE saves the closest detected object’s distance and angle, and displays the locked information on the OLED. I also added a dedicated target-lock screen showing the target distance, angle, and lock status. This makes the radar system more interactive and gives EVE another step towards more advanced target tracking. Next, I plan to add a bit more to the target lock, add Wi-Fi connectivity, do final testing and polish, then prepare EVE for shipping.

0
0
42
Open comments for this post

29m 38s logged

Day 8 - Project EVE
I did a very little amount of work today, but i improved a bit of the target detection system. I tested the saved closest-target distance and angle and added a larger marker on the radar to make the closest detected target easier to see. I also tested the marker against the target information shown on the status screen. Next, I’ll work on the target lock and start adding Wi-Fi features to the ESP-32.

0
0
80
Open comments for this post

1h 15m 1s logged

Day 7 - Project EVE
I couldn’t do as much as I wanted too today, but I was improving the status screen and making it more useful for the monitoring system. I added live ultrasonic sensor readings so EVE can display the current distance detected by the sonar, along with the servo’s current angle. I also added target information to the screen using the closest distance and angle saved during a scan. This gave the status window more purpose instead of only showing basic system information. I was testing the updated display for the status screen, debugged and worked through the layout and positioning issues with the distance, target, and angle values. Next, I’ll finish improving the target detection system and begin making EVE more reliable at identifying and tracking the objects that are detected.

0
0
106
Open comments for this post

2h 21m 22s logged

Day 6 - Project EVE
Today I continued developing Project EVE’s radar system by improving the way the servo and ultrasonic sensor scan the environment. I changed the servo scan from 1° at a time from 30° to 150°, allowing EVE to collect much more detailed distance data across the scanning area. The radar was also able to move more smoothly, due to it not moving in 10° increments. I also increased the radar display size while keeping the scan focused on the first half of the OLED, adjusted the radar arc to match the servo’s scanning range, and changed the detection points to small pixels to reduce the blob-like appearance. At some parts of the radar, it still looks a bit like blobs but I’m gonna attempt to fix that tomorrow. I also added timestamps to the stored distance measurements so the older detections can fade from the radar instead of constantly staying on the screen. I fixed the scan-memory reset so each new scan starts with fresh new data. Next, I’ll improve the radar’s object detection so EVE can recognize separate objects instead of displaying a continues trail of points, then I’ll try to start working towards a target-lock system.

0
0
97
Open comments for this post

1h 44m 33s logged

Day 5 - Project EVE
Today I continued developing Project EVE by turning the servo and ultrasonic sensor into a radar-style scanning system. I added angle tracking, distance mapping, a moving radar sweep, and detection points on the OLED. I worked on converting the ultrasonic distance and servo angle into X and Y coordinates so the detected objects appear in the correction location on the OLED. I also worked on changing detection sizes based on distance, making closer objects easier to identify on the radar. During testing, I noticed that detections near the edge of the radar blended into the circle, so i was adjusting the distance scaling and display. Next, I’ll continue improving the radar and work on a target-lock system for the closest detected object.

0
0
192
Open comments for this post

2h 29m 43s logged

Day 4 - Project EVE
Today I continued working on Project EVE by developing the scanning system. I programmed the servo to scan from 30° to 150° in 10° increments while the ultrasonic sensor measures the distance at each angle, and I added a system that remembers the closest distance and the angle where it was detected. I also improved the OLED interface so it displays the current angle, distance, closest distance, and object status, along with a Scan complete screen that shows the final result. During testing, I found a timing issue where the servo angle would update before the distance measurement, which caused the scanning to be delayed. I added a timeout to the distance measurement, which fixed the delay and made the angle and distance updates stay synchronized. Now the ultrasonic sensor, OLED, and code are working together as one scanning system. in 10° increments while the ultrasonic sensor measures the distance at each angle, and I added a system that remembers the closest distance and the angle where it was detected. I also improved the OLED interface so it displays the current angle, distance, closest distance, and object status, along with a Scan complete screen that shows the final result. During testing, I found a timing issue where the servo angle would update before the distance measurement, which caused the scanning to be delayed. I added a timeout to the distance measurement, which fixed the delay and made the angle and distance updates stay synchronized. Now the ultrasonic sensor, OLED, and code are working together as one scanning system. 

0
0
72
Open comments for this post

2h 1m 18s logged

Day 3 - Project EVE
Today I couldn’t do much, but I worked on organizing the wiring for Project EVE and making it easier to work with. I put two breadboards side by side and wired in places which were convenient for me. I connected the ESP32, OLED, ultrasonic sensor, servo, and buttons, and got the buttons working with the menu and scan modes. I also worked on the code for scanning and started adding a bit of a memory system so EVE can remember the closest object it detects and the angle where it found it. I updated the OLED layout to eventually show the current angle and distance along with the closest distance and its angle. It was a shorter session today, but I feel like EVE is starting to come together.

0
0
71
Open comments for this post

49m logged

SOME of Day 3 - Project EVE

For now, I only had about 25 minutes to work on EVE, but I still got some important stuff done. I made a DIY mount for the ultrasonic sensor and servo (because i don’t have any 3d printer), and after some messing around and adjusting it, they both worked consistently. I also improved the scan screen and added decision making too, so EVE can begin figuring out whether something is close enough to count as an object. I also learned more about millis() and lastScanTime and how if and else statements let EVE make decisions based on the data of the sensor. It wasn’t a long session, but the scanner is feeling more like an actual system instead of a bunch of seperate parts.

0
0
73
Open comments for this post

1h 55m 2s logged

Core Interface, Scanning & Navigation

Today I worked on turning Project EVE from a bundle of individual hardware tests into an actual working system

Part 1: Interface

I built the main menu for the OLED and added two-button navigation.

The MOVE button switches between:

  • SCAN
  • STATUS

The Select button opens whichever option is highlighted with an arrow. I also made Select behave differently depending on EVE’s current mode. From SCAN or STATUS, pressing Select returns EVE to the main menu. This taught me how variables like mode and menuChoice can control the behavior of my embedded system.

Part 2: Scanning

The scanning system now uses an ESP32, servo, and ultrasonic sensor altogether. The servo sweeps between 30° and 150°, then reverses direction and sweeps back. At each position, the ultrasonic sensor measures the distance. The OLED displays the current servo angle and measured distance. I also changed the scanning system again to use milliseconds instead of blocking the program with long delays.

Part 3: Status System

I redesigned the STATUS screen to show basic info on the system:

  • SYS: ONLINE
  • SERVO: READY
  • SONAR: READY

It’s still a very simple screen but gives EVE a place to eventually display more useful info.

Part 4: Problems & Learning

One of the biggest problems I ran into was understanding how the buttons and menu variables worked together.

I initially had the menu switching back immediately because my if statements were structured incorrectly. Fixing this taught me why else if matters and how changing a variable can affect the next condition.

Part 5: What’s Next?

The next goal is to make the scanner more intelligent on EVE. Right now, EVE can measure distances at different angles, but doesn’t understand the measurements yet.

Next I want to work toward:

  • Putting the ultrasonic sensor on the servo
  • Organizing the wiring
  • Storing scanner measurements
  • Detecting nearby objects & indicating them on the OLED
  • Improving the interface for the scanner
  • Later on determining where an object is located based on their angle and distance

After that, I’ll continue developing the hardware and physical design of EVE. This is still an early version of EVE, but the core system is starting to come together.

0
0
61
Open comments for this post

1h 52m 57s logged

Devlog #1 - Today I worked on adding servo scanning to Project EVE. I connected the servo and the ultrasonic sensor to the ESP 32. I got them working together so the sensor can measure distances at different angles, but today I could only get to making it work rather than mounting it on top of the servo. I also started learning how to use the millis() function instead of the delay() function and started switching to milliseconds so the scanner can stay responsive while running. I still need to fix the OLED screens and different modes and be able to switch between them with a button. After that, I want to mount the ultrasonic sensor onto the servo in some way, improve the OLED interface, and later on design a proper physical mounting system for the electronics in CAD.

0
0
12

Delete project?

Are you sure you want to permanently delete this project? This action cannot be undone.

All devlogs, followers, and associated data will be removed.

Followers

Loading…