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!
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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:
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:
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:
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.
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.