Skip to content

Networking and Communications

the assignment for this week was to design, build, and connect wired or wireless node(s) with network or bus addresses and local input &/or output device(s)

What I want to do

My goals for this week are to connect my camera module with my stepper module. It will have to be wireless, and be high enough bandwidth to be able to transmit the camera data without compression. I also need a phone(or other device) to be able to join into this network, so that I can see the camera output and control the stepper motor.

I want the base stepper (the one not with the camera) to act as the main node in this, as 1. it will probably have less power consumption then the s3, and therefore will turn itself off after the s3, which will ensure no big bugs. 2. The camera is already dealing with enough. From the times I have run the esp32-s3 cam with a working camera and a wifi webserver, it struggled already with that. I think also coordinating the movements of two steppers, as well as managing which network it is connected to would put it over the edge.


I also am hoping, but not expecting it to work, to be able to use OTA updates with my boards. This is because the USB-C kind of just juts out the side, so im hoping to be able to remove it in in the final version, and have a fully portable camera that doesn't even need wires for coding.

What is networking?

networking can be most simply explained as the word to describe the ability for 2 computers to talk with eachother. For my week specifically, the network type im using is wifi, but there are others, like wired with i2c, wired with spi, wireless with ESP-NOW (or other protocols), or wireless with bluetooth. Each of these have their own Pros and Cons, but in general, the wired have the highest bandwidth(which means they can transmit the most data per second) and are much less prone to loosing data or loosing the connection entirely. Wireless is better because, its wireless. the reason that we don't have 1 wireless network to rule them all is because each have their own pros and cons. In general, wifi strikes a good balance of range and bandwith, bluetooth is good at not randomly dropping out, and other specific protocols like ESP-NOW usally have better range than wifi at the cost of less bandwidth/hard to implement. The main reason I decided on wifi above was that phones don't understand the other protocols (natively, maybe someones done something to make them), and bluetooth is simply harder to work with then wifi.

Networking

The esp32 series was made to be a microcontroller with wifi originally, and it excels at that.

MDNS

OTA updates

OTA updates, or over the air updates, are exactly what they sound like. Its a way to change the code on your microcontroller without a cable. It also has other advantages, as if used right, its able to upload faster to a microcontroller then direct cables