Welcome to Week 3

Embedded Programming: Wokwi
My initial idea was to make a simulation of a part I could use in my final project. This would have consisted of a stepper motor that could be controlled through an external website (ultimately an app in the final project) by utilizing wireless connection to WiFi. I aimed to use Wokwi and an ESP32 to program such a project. I ran into an issue, however, with Wokwi and its inablity to connect to any network other than their free guest WiFi. The problem arose when I couldn't connect my device to this network and therefore couldn't access the website thorugh the IP address produced by the ESP32. So basically all the hours of work I did went into the garbage because I can't pay for premium Wokwi. So instead I decided to go in a different direction and instead make a stepper motor that runs every 12 hours and displays a Good Morning and Good Night message on a display screen. The point of this was to simulate the motor opening and closes the blinds of my dorm room.

I first needed to look up the ESP32 data sheet as to better understand the pin numbers, functions, and specifics for the components I inteneded on using. Below is an image of the layout for the speficic ESP32 version I utilized in Wokwi. I also chose the ESP32 because of its WiFi and bluetooth capabilities (even though that ended up not working out). With the new project I intended to use a display that uses a I2C interface, therefore I needed to look up the pins utlizied for such a component. Below is the information I gathered and determined and GPIO pin would do fine.

Original Project Link:

Wokwi


The issue as you can see is that the program keeps trying to connect to my personal hotspot but fails. I am then prompted with a message to use the free guest wifi my laptop and phone aren't unable to conenect to


Final Project Link:

Wokwi

Final Product:




As part of the group project we explored some options beyond what I used. While I utlized an ESP32 there's also the option to have used Arduino or a raspberry pi like RP2040. There's also a varity of languages we could have used like C, C++, and micropython. I also played around a bit in AVR8js as opposed to soley using Wokwi. Personally I preferred Wokwi because it was more beginner friendly.