Protective circuit 18650 charger unit


Since I put the 18650 battery in the reverse side of the charger unit twice, I started thinking about how to prevent this. I found a tutorial on the web, where a development is presented, with step by step improvements. The address is:


Vince's thoughts

From this I have only picked out the last protection circuit:



I made myself an isometric picture of this, because I have no idea about the placement of the MOSFET transistor pins.



Here is a photo of the circuit, you can see what kind of leads I have used and how I have soldered the components to the board.



Another photo of the same circuit. I did indeed connect the 18650 correctly first. No fume rose from that. I was quite relieved. I had to gather all my courage before I put the 18650 battery in the wrong way round. Now I have a new multimeter, which also has a current measurement feature. The right way up the charging current was about 14.3 mA, the wrong way up there was no current at all. So it works now. I soldered another copy of this wiring tonight, so if I have two compass belts, I could protect both from inserting the battery the wrong way into the case!





Compass belt


Github Compass belt

I've heard that smart clothing is being developed nowadays. There's a website http://www.plusea.at/ which has surreal suggestions for smart clothing. In real life, for example, there is a smart shirt that detects if a person's back is not straight and then vibrates to remind them to straighten their back. Then there are smart socks that measure the temperature of a diabetic's feet and vibrate to warn if there is risk of infection. So this compass belt is a smart garment that tells me with a vibration which way is the north pole. It also works at night or if I'm totally blind. Through this electronics design, I got my first contact with the so-called I2C bus. To understand it better I put two Arduinos together, for example, so that one Arduino sends a text via I2C bus to the other and the other Arduino acknowledges the text as received. I also tried putting two separate sensors (MPU6050 and QC5883L) on the same I2C bus to the Arduino, and got it to work. In previous Arduino builds, I always put 9V batteries to power the Arduino, but for this project I found that the marketplace has a much better power supply unit with 2 Lithium - 18650 cells as power supply.

I have followed an instruction by Kyle Corry. That seems to be good for me, as I am going to orienteering competionions, even by night. Instructables, Kyle Corry

I would not have been able to write such a program, thumbs up to Kyle Corry! Github, Kyle Corry

My adaption here is still unfinished. Because MPU9250 seems to be not anymore produced, I use BNO055 (after going through QM5883L and MAG3110 and, because they were bad quality sensors, I shift to the better model). I also use logic level shifter, although most tutorials for BNO055 don't use them. I think, even though I connect only GND and 3.3V from Arduino, there still might get 5V from the Arduino through the A4 (SDA) and A5 (SCL) pin. There is a tilt compensation algorithm in compass.cpp with Xm=mag_xcos(thetaRad)-mag_ysin(phiRad)sin(thetaRad)+mag_zcos(phiRad)sin(thetaRad); and Ym=mag_ycos(phiRad)+mag_z*sin(phiRad); following the tutorial by Paul McWortherPaul Mc Worther

In my program the tilt compensation doesn't seem to work. For my own visualization and while testing I add the python program cuboid_draw_ursina_B.py, which reads out the COM6 port and draws a 3D cube like a symbolized arduino on the screen and writes the present orientation of the sensor on the same screen. "N", "NE", "E", "SE", "S", "SW", "W", "NW" So I checked with a compass at the same time, and it seems to work fine. I delete code rows from Kyle's program, which are related to calibration, because the BNO055 (Adafruit) has an own calibration routine.



Materials Used



Arduino Nano Uno (Sertronics Berrybase)

BNO055 (magnetometer) Sertronics Berrybase

coin vibration motors (Aliexpress)

Button switch

10K resistor

USB cable Belt Battery pack

Breadboard

Logic level converter

glue

Soldering kit


Libraries Required


Adafruit_BNO055

utility/imumaths.h

Adafruit_Sensor

Kalman Filter



Instructions: While wearing the belt, make a mark on it every 45 degrees starting with directly in front of you. This is where the motors will be placed. The motor directly behind you is indicating south and the one to the right or left of it are southeast and Southwest. I will refer to all motors by their cardinal direction, assuming the North is the front of the belt. Secure the vibration motors onto the belt where marked. The vibration motors I used had sticky backings which made this easy. Assemble the circuit shown in the following schematic. Put the connected circuit consisting of Arduino Nano, magnetometer, button switch, logic level converter, and Power supply based on rechargable 18650 cells inside a suitable box, and secure the box onto the belt. Note: The schematic shows the vibration motors sharing a common ground wire - this makes attaching to the Arduino easier but is not required. In the photo, the power supply is not there, because at the time when I made this instruction, it was broke, because I inadvertently put the 18650 with wrong polarisation into the box. Some smoke rose and it smelled.



Fix the cables with electric tape. For the best results, get electrical shrink tube with equal width as the belt and wrap the whole belt, leaving just a USB cable exposed for the Arduino. Upload the sketch to the Arduino after installing the required libraries. Press the button to toggle between discrete mode (small pulse toward North only when direction changes) or always on mode (always vibrate toward North).



The vibration motors are very fragile, and the cables are hair-thin and the smallest pull destroys the connection. It is therefore necessary to protect the vibration motors against mechanical damage. For this, I glue vibration motor to a plastic base, which protects the vibration motor connectors. The plastic base is U-shaped. I use a soldering iron to make little holes in the side of the U-profiles, through which I braid the wires. I tie a knot in the ends of the wires so that the tension is not transferred to the soldering points. Then I solder the vibration motor to the supply cable and the ground cable.



I cut off the tips of an old glove and sewed these tips at regular intervals onto the rubber band, creating "nests" for the vibration motors. Then I first use Teflon tape to tape the motors inside the protection and cables firmly to the plastic base. The Teflon tape allows me to dismantle one of the motors later in case of a failure. (A normal scotch tape is very sticky and when unraveling scotch tape, one has to use scissors, and then it's easy to unintentionally cut the cables) I put a few more turns of surgical tape on top of the Teflon. Surgical tape is not so sticky, but yet strong.



This is what the test board looks like with the MLX90393 sensor, Arduino Uno and a voltage level shifter. This also shows the start end of the rubber band belt, where I sewed the buckle, and the "nest" of the first vibration motor. You can also see that I protected the belt with a bicycle inner tube. The black cable is the grounding cable that runs to each vibration motor. Powering the unit are two rechargeable 18650 cells. I have a lot of these 18650 cells because the night vision headlamps work with them, I also have a decent charger for them because of that. The power supply unit has one toggle switch "Normal" - "Hold" and its position must be "hold". On the other side is a white push button, and when you press it, the LED lights on the power supply unit turn on. Most of the time the LED lights don't switch on anyway, then I briefly plug in the USB cable, then it should turn on. The edge of the power supply unit has 3V pins on one side, and 5V pins on the other. In this setup, I attach the 5V pins to the 5V side of the arduino. Basically, this power supply unit also works as a charger, you just have to plug in the USB cable. Note that the cells must be inserted in the right way, otherwise the device will break with a bang and smoke will rise. That's why I taped the 18650 cells with white tape on the plus side, and the same for the unit with white tape. I destroyed two such units already. I think it's better to use a voltage level shifter, because the internal voltage level of most sensors is 3.3V rather than 5V, and 5V can break the sensors.



breadboard with the basic components: BNO055, logic level convertor, switch between continuous-intermittent and Arduion Nano. Clearly arranged so that it is easier to reproduce the electronic circuit.



The electronics box opened in a horizontal position, with the Arduino nano, logic level converter, power supply and IMU sensor, which is now horizontally. I don't think, it is possible to change the code so that the BNO055 can be in a vertical position, it is not meant to be like this, internal calibration of BNO055 will not work.



The vibration motor fixed to a leather belt in a simple fashion. To make the vibration more noticable, I put wadding under the vibration motor. If the vibration motors would be glued directly to the leather belt, the vibration doesn't feel so well.



Whole configuration of a haptic compass belt based on a leather belt, and the electronics box directly fixed in vertical position to the leather belt. In the vertical position, the box will swing very much, and it causes much distortion, but it is easier to put on, because everything is in one piece. Simple, but in practice this version is not that good.



The haptic compass belt with textile rubber band on the hips, and opened. I cut the breadboard, so that the BNO055 can be in the horizontal position. the vibration of the motors can be clearly felt on the skin because the textile elastic band holds the vibration motors gently on the skin. The fact that the box with the electronics is horizontal means that the electronics are less likely to be shaken when running quickly through the bushes and there are fewer signal errors. This means that there are fewer sudden tilting movements of the sensor, for example when you jump off a rock or stumble and fall. it is also better that all the electronics are separate from the actual haptic compass belt.



Elastic textile band variant, with bicycle inner tube as protection and a plastic quick-release buckle. The electronics are in the electronics box within a hip pocket. The conductors go from the belt to the hip pocket. To protect this section with small electrical conductors, a silicone tube is cut into a spiral with a knife and then wrapped it around the electrical conductors so that they cannot get tangled up in the bushes and on the branches of shrubs. I still want to leave the electronics on the breadboard, because I'm still not quite sure whether I want to stick with the BNO055 sensor, or whether it might be possible to switch to a circuit with a simpler and cheaper magnetometer without an acceleration sensor. (i.e. a full scale IMU sensor)



Cutting the flat cable

I am not happy with single wires from the arduino to each vibration motor. It creates a mess. Flat cable solution seems to be the cleaner solution. The distance from the bucke should reflect more the true directions, but as the waist of the human is not true round, but more like an ellipse, adjust the distances between the motor points. In case, other people with bigger waist want to use the compass belt, I use a waist circumference of 110cm. The point is, I want to make 2 vibration belts, so I do everything so , that I get 2 identically cutted flat cables. Everything is symmetrical around the center mark. All the cable ends I furbish with dupont connectors, and - very important - I test all cables, to be able to know, that there are no faults, and each and every wire is conducting from connector to connector.



The flexible textile band with sewed on buckle, a tape measure and the flat cable laid on the ground. I mark the middle point. On the flexible textile band, there are trial "nests" for the vibration motors, laid down in the distance.



The end of the female part of the buckle. In fact, the buckle is wider then the normal distance between two vibration motors, so there will be some mistake.



The ends of the flat cables are taped to the floor, so the flat cable is stretched straight. The number of wires on the flat cable is 26, so I leave the outer 3 wires without a cut. The cut point is marked first with felt-tip pen according to the table with cut length. Then, after all marks are done and also checked (from both sides, it should be symmetrical)



After all single wires are marked, I use a knife to slit the flat cable around the marked spot. I go through all the marked points.



This is the last stage. When the slittling has been done, continue the slitting so that finally the both symmetrical cutted flat cables come apart. Finally make the cuts with cutting pliers.



The vibration motors come with JST-SH male connectors. I therefore purchase the appropriate female connectors. These need to be soldered. The connector pins are very small.



It is better to use only a little tin to keep the wire strands as flexible as possible. The soldering point is more brittle and does not take as much bending.



I scraped open the earthing cable with a hot soldering iron under a magnifying glass. I firmly clamped the flat cable with the stand and the clamps. I pushed a piece of sheet metal into the gap between the earthing cable and the other cable as a base. Then carefully scrape away the cable sheathing with a hot soldering iron, taking care not to break off the strands. Also run the soldering iron under the strands. I stripped the connecting cables all together beforehand. When soldering, clamp the wires firmly and solder under a magnifying glass. Once you have managed to get the first solder joint right, the next solder joints are much easier because you only ever have to move the cable.



It is clear that soldered joints break off easily if a cable is constantly exposed to slight bending back and forth, as will certainly be the case with a compass belt. That's why I glued all the soldered joints firmly with epoxy glue (2-component adhesive). So first I wrapped a scotch tape around the plug to form a kind of “trough”. And then all the cable ends with the plugs are firmly glued to the table with Scotch tape so that nothing can move. Then I mix the epoxy glue and fill all the solder joints as well as I can with epoxy glue.And then I wait a day for everything to set. The next day I remove the Scotch tape and wrap insulating tape around the two conductors.



a diagram of the circuit. The picture shows an Adafruit BNO08x, but I actually have a BNO085 slimeVR. The interfaces are the same. The protection diodes are used to eliminate the sudden voltage spike in the inductive load when the supply current is interrupted. Indeed here the current spike is apparently small enough, the Arduino has not yet broken.



the picture shows how the flatcable is attached with two clamps. Below, a wire brush, which I used to remove the melted plastic from the soldering iron. Supporting the stable soldering iron with another bendable goose neck. I first look past the magnifying glass to make sure the soldering iron is roughly on target, then look through the magnifying glass.



the yellow wire is attached to the second goose neck clamp from below. The soldering iron rests on the second goose neck. Be sure to smear the soldering point with soldering fluid. I try to be sparing with the tin, as tinned wire is fragile, so it's best to have as short a length as possible tinned. Soldering with magnetic flexible goose collar clips speeds up the job, as you will be needing more than two hands.



The picture shows how I wrapped electrical tape around the outlet wires to the vibration motors to keep them neatly together. There may also be a shrink tube at this point.



The picture shows the entire flatcable. At this stage, it is important to test everything to make sure that all solder points are conducting electricity. I think this is a much neater solution than the previous one with separate wires, resembling spaghetti.



3D- printing try-out


In connection with the flower watering arduino experiments, I wanted the same amount of water to always go to the four flower pots. I imagined it would be easy to do, but it's not. For some reason, the water always goes to one flower pot too much, and the other flower pot has nothing. I imagined that if I made holes of the same size, it would work. First, I made a trial version out of plastic blocks by gluing, and by poking with a needle I made holes of the same size as possible, a bit similar idea to hospital infusion drip devices. It didn't work, always a hole was a little bigger and then the water only went to one pot. That's why I decided that if I tried 3D printing, the holes should be precise. It still didn't work. What it looked like on the inside looked like half.



That's what the stl model looked like from the outside. I saved the "stl" file of that 3d model to the Cloud server, because the file was too big, I could not sent it as an email attachment. When I drew the model with the Unigraphics program, nowadays the name of the program is "Siemens NX", it was also a nice exercise in 3d modeling for me. For example, I had to remember that a 3d printer cannot have arbitrary protrusions, because it always prints a layer of plastic on top of another layer, and when that plastic is a bit hot, it might clump up a bit and lose its shape. Siemens NX is very suitable for modeling special wavy and curved surfaces.



I found the printing service on the www.tori.fi website. www.tori.fi is mainly an online sale of used goods, similar to what the yellow pages used to be. The 3-d model cost me about 15 Euro, and it came by mail quite quickly. Anyway, that 3d printing experiment wasn't worth the effort because my principle doesn't really work. The water dispenser must have a different shape. A functioning shape is on the website:


Ribbit flow splitter


LIDAR light detection and ranging





As an impulse buy, I bought a very cheap LIDAR. Partly also becuase I already saw from a youtube blogger that it is possible connect some lidars to the arduino. And even though the construction of the robot still seems like a too large project for me, well, I can still have dreams. ... to use servo motors, an arduino and other sensors to make such a nimble looking toy that can drive around my flat, and of course the Lidar would be the eye of the robot, so that it would not crash into doors and hurt himself, but my robot would always stop safely before any obstacle. This is still a complete dream. The hindrance is a lack of time and maybe also patience. I would probably need quite many weeks in a row to focus only on this, but I can't spend all weekends on this, after all, I have many other hobbies and other mandatory household chores. Anyway, this little project could be one little step forward on the long road to making my own robot. This is the link to where I bought this wonder device.


laser radar 360 degree laser radar scanning distance measuring sensor diy wireless transmission infrared data transmission

When I bought this LIDAR, I still imagined that I would connect it directly to an Arduino, at least that's what the Swiss blogger did, where he had a completely different converter, which I also bought, but which is now still awaiting its destiny while lying around among in the heap of my other electronic stuff. But actually this connection directly to the USB port of the computer is at least for me already easy, because the programming tool Visual Studio Code, and python is pre-installed and reasonably familiar to me. The required plug-in module for the computer's USB port can be found at the following link. According to wikipedia TTL stands for Transistor-Transistor Logic, the name means that transistors, bascially 2 circuits in series both amplifiy and performs logical functions. I don't think it means anything, but it's a converter between the USB port and the RS232 serial signal. I still remember that the abbreviation RS232 appeared with the C64 computer. Link:



High Quality FT232RL FT232 FTDI USB 3.3V 5.5V to TTL Serial Adapter Module Mini

There is also a reference on Lidar's sales site to find the right program snippets for decoding the signal. This Discord discussion group came into the public eye because an American posted secret photos and other information about the war in Ukraine, apparently just bragging how much he knew. On that specific channel named mb_1e2tydlidar-s4b there is a man called VIDICON who has been investigating this lidar deeply. Apparently the seller has not provided any documentation about this device. Not to say that it is not untypical of Chinese vendors. VIDICON apparently has the appropriate signal analysers to gradually work out what all the its and bytes of data packet means that the device is putting out. Wow, I have great respect that such gurus like VIDICON are around in this world. By the way, even though the code comes from github, that for me it was not exactly a one-to-one, but I had to experiment a bit, what kind of baud-rate it works with, turned out to be 153600. Fortunately my computer already had python installed with VS Code, but I had to add the additional modules pygame, serial, math and enum. I can't remember, something similar like sudo apt-get install -y enum was necessary or maybe the equivalent on a windows machine.



discord discussion channel radar_mb_1r2t_ydlidar-s4b

Not black Magic link

MiniCubeRoot link

The program as listed here is not exactly the same as the github program, but in addition to baudrate, I changed the pygame command set_at, which produces only a very faint dot on the screen, and replaced it with a rectangle pygame.draw.rect, which is much better visible. I also tried pygame.draw.circle, but it's just too slow, makes a lot of horizontal lines on the screen. I also changed the magnification factor, distancef = distance / 40 then when I want more details to be highlighted, my own face profile as an example, then I set this factor to 3. However, I am quite unfamiliar with pygame and the whole program is like Hebrew to me, especially this class State(Enum). I'll still have to get familiar with it.




LIDAR connection scheme to computers USB port




Testing the LIDAR by walking around in my flat







Arduino Microcontroller



web page related to book Kimmo Karvinen

Arduino irrigation automation

This seems to be a pretty common type of Arduino project. I’m terribly lazy to water my flowers, often forgot for weeks, and I want the flower to be watered automatically with a pump whenever the water runs out. The setup includes an Arduino Uno, water pump, water hose, water level sensor and Arduino adapter card, and a blue relay.



Arduino program code



I took some program example from the Internet as a starter. I tried to find a challenge for myself. There is a delay command in the original program example, which prevents the pump from starting immediately the sensor detects that the water level has gone dry. But at that point, the program cycle is interrupted. In my program version, the program cycle is never interrupted, but sensor signal change doesn't cause any immeditae raction, but 2 different counters are triggered and then increased during every program cycle, until a time threshold triggers again. The first counter starts when the sensor state goes from wet to dry. The counter then waits a longer time before the pump starts, because it does not matter that the flower is dry for a short time, but it is more important that the pump battery does not run out because the pump is starting all the time, and then running only few seconds. On the other hand, as soon as the pump has started and starts filling the water pot, the pump must be switched off quickly when the sensor detects the water, otherwise the plate under the flower pot would overflow and the water will spill to the floor and cause damage. Therefore, the second counter shuts off its pump immediately when the sensor detects water in the plate under the flower pot. For the first time I used a relay, so in principle Arduino can also connect the right mains devices, such as a lamp, socket, radiators, radio, etc. it feels very exiting, to hear the relay click! But this still feels a bit dangerous, so all devices at this stage only run on battery. later addition: The problem with the first circuit and program is that the tank from which the water is taken, can be empty. Therefore, when the pump starts, it is necessary to prevent the pump from running continuously and the supply battery of the pump would be discharged unneccessary, even if there is no hope that the pump will add water to the flowers. Because in this case the pump runs empty, and only pumps air. Therefore, when the pump is started, a seperate counter starts, and when the counter has reached the limit value, the pump switches off and at the same time the red LED lights up. Then from the red LED I can see, that I have to add water to the water tank. After that, I press a reset button. The reset button will turn off the red light and puts the pump runtime counter to zero. So the next time the sensor indicates that the flower is dry, the pump will start rotating again. But unless water is added to the tank, the pump will not run as it would be a waste of battery energy. This counter should be so, that within counter time, the reservoir is emptied in any case.

a small python utility program for watching serial ports

even in this ever so small project, debugging was the most time consuming of all. I was really bothered by the feature of Arduino's built-in Serial monitor that I can't clear the screen there with the "clear" command. From Internet I found a small Python utility that displays the serial port signal to the terminal window and after each cycle the terminal window is cleared with the "clear" command. It makes it much more easy to follow the flow of events.

Bicycle hub generator USB charger



Originally, I had an women’s bike with well equipped electrics. It had an LED front light and an LED back light with a parking light function. The light is needed only in winter, but in winter the roads are quite choppy due to the snow and ice, so that the tail light came off in the vibrations, after only few months. Moreover, I always replace the hub generator for the summer with a hub without generator, which is running with less resistance. During that I also have to remove the headlight. But unfortunately I broke it during this changing operation. Only then did I notice that in that LED light is all the built-in electronic circuits that convert the current from the hub generator into a DC suitable for the LED light. I was thinking first of buying an identical LED that can be connected directly to a Hub generator, but I couldn’t find anything in Internet (so there are lots of lights but nothing which clearly states, that it can be connected to a hub generator). But I found a guide to the USB charger online. And there are quite a lot of LED lights available for USB charging. I had the idea, I could charge my smartphone, too, on the longer cycle trips, so it is more universal. I ordered parts online (Farnell, Conrad) and soldered together on the kitchen table. And I also ordered a USB LED light from China, but they didn't deliver the right type, so I used a normal LED flashlight instead, and clamped the cable directly to where the battery would sit. One winter, I cycled with it, but now I've lost it again the LED light. So I have to look around again for a light. PS: Now I ordered one model from Ebay: Union LED Headlight Sidelight Sensor Lux for Hub Dynamo".


Link to DIY instruction of USB charger


circuit diagrams for bicycle LED's

My smartphone screen shattered

I was sometimes proud of my Lumina smartphone. But it didn’t take long and it dropped to the floor. And as the sandwich always drops with the butter side to the floor, so this handset crashed with its face to the floor. It happened maybe 2 weeks after buying, I couldn’t stand the idea of buying a new phone right away. Fortunately, a coworker advised that these smartphone screens can be purchased online, and repair is possible DIY, because with screen comes also the necessary tools. That's what I did. Yes, there were a few moments of horror. It needs a heat blower to loosen those double-sided tapes. And you have to be really patient an no use of force.


instruction to change Lumia screen

Many thanks to to youtuber, I was able to disassemble the smartphone




Fortunately, I still had another phone available during that time, so I was able to watch the instructions over and over again while tackling the diverse problems





The connectors are really made of microscopically small pins. After the repair I had to press the smartphone tight at the place of one connector, to get the picture on the screen back. The motor for vibration is size of a russin. The battery is glued with a double-sticking tape, and only by heating it with a hot air gun and at the same time using the plastic tool to get it out, it was getting loose very slowly. Also the screen was really tight and getting it loose took maybe half an hour. And of course, the new screen has to be glued with two side tape again, so I have to cut 2mm strips out of a normal tape roll.






In the library I stumbled upon Tero and Kimmo Karvinen's book Sulautetut = Embedded. Reading the book didn’t cause any immediate enthusiasm, but it was a bit like start of a slowly smoldering fire in my mind. Later I notices that the evening college was organizing a course on it. The course did get enough participants, but I bought this starter kit. Let's see where it will lead to.


ESP 32 CAM timelapse



I've made time-delay videos on my smartphone. The obvious problem is that the time delay cannot be set, and another is that the camera still needs to be standin there all the time, and somebody might steal it. The setup requires: 1. ESP32CAM ( for instance Alibaba) 2. any kind of 5V power supply pack (I bought from Tokman) 3. USB cable, cut it and use only the male connector (Clas Ohlson) 4. Two wires, one side female connector suitable for these ESP32 CAM needle-like outlets, the other side crocodile clamps. 5. SD card reader + compatible USB cable 6. SD card. I found online instructions on how to make a little box for ESP32 with a 3-D printer. I don't have this, but it also works with a plastic box from my bike repair kit. I glued various wooden pieces to the inside of the box with glue, so that the ESP32 fits neatly inside. I still have to carve small notches into the wooden pieces with a knife, because otherwise the Rst and flash button will interfere.



At the back of the box I made a hole for the 5V and for the ground cable, their plugs are unfortunately a little too long. The frontcover has the hole for the camera, it can be done with a drill or knive. The ESP 32 needs to sit pretty tight, otherwise it will sag and the picture will be skewed.



I was afraid that rain will happen during shooting, so I put ESP 32 inside the windshield of a candlelight. The wind was always pretty strong, the windshield can also prevent the ESP32 CAM from flying away by the wind.



After the shot is done, I take the ESP 32 CAM inside the house and stop it, either via Wifi or just pull the 5V cable off, take out the SD card and read the SD card through this card reader. That card reader was a leftover of an old pixel camera, which I had sometimes. But the cable was special, with a narrow USB mini-A connector.



Instruction of ESP32CAM timelapes

Python program to create a video of the camera picture series

This guide is now a bit like for myself.
Remember:
Mobile Wifi must be turned on. Settings -> Wireless and Networks -> tethering and Portable hotspot-> Portable Wifi hotspot
The computer must be connected to the mobile's Wi-Fi Ctrl + X -> Wifi -> show available networks -> Connect
The Wifi address only works with Firefox browser at http://192.168.43.209/
(no https)
Launch the Arduino ino program. Inside the program also adjust Wifi ssid and password correctly.

load the Timelapse program

Connect the ESP32CAM to the computer with an USB cable. The ESP32CAM device does not have problems even if it is connected to the power supply at the same time. (the battery voltage may be less then USB cable voltage)

Check Port COM3 or COM7

Arduino Tools-> check all settings correct .

At least:

Wifi101 / WiFiNINA Firmaware Updater

Board ESP32 Wrover module

Upload speed 115200

Flashmode QIO

Partition scheme Huge APP (3MBNo OTA / 1MB

Core debug Level .None

Programmer AVR ISP

Press upload in Arduino.
Hold down the RST and flash pushbuttons. When the upload starts, i.e. when .... ---- ....---- appears on the program's command screen, release the rst button. Then the blue LEDs should go on.

This will rarely work first time. Only when the blue LEDs turn on, do things start to work out.

At that point, I flip between COM 7 and COM 3. Oddly enough, the program always shows the ESP32 Wover Module to COM7 or COM3. As I write this, it was COM7.

I still open the serial monitor. and I press the reset. In this context, the size of the SD card should also be shown in the monitor.

SD Card Type: SDHC
SD Card Size: 32000MB

Total space: 31936MB
Used space: 0MB
.........
WiFi connected
Starting web server on port: '80'
Starting stream server on port: '81'
Camera Ready! Use 'http://192.168.43.209' to connect

Then only the Firefox browser can be opened and enter its address there.
Then I plug in the 5V and GND wires and unplug the USB cable, and try to see if the stream still works.

I set the timelapse to 3000-6000 ms.
Resolution CIF (400x296) when I put it more closely, there were unpleasant disturbances in the image.

I take everything, my computer, cell phone, and ESP 32 Cam to the place where I intended to make the time delay video.
Then I place the ESP CAM as horizontally as possible, and for this I use the still image function, and make sure the image is correct. The V-flip may also needed. Only then do I press the timelapse image.

You can then let it running, many times I leave it out for an hour. I take back my computer. The radius of the Wifi antenna may reach 10m. During the timelapse, no Wifi necessary





Now there is another ESP32: it does not have a built-in opacity device, but an external device called CP2102 USB to TTL Serial Converter Module It also comes with a Wifi antenna, thanks to which the range is already 15m or more. In the programming phase, the cables must be as shown. The program will be transferred from the Arduino IDE at the same time as before. But then after the program is transferred, you must first disconnect the cable that connects GPIO0 and GND. Then I press reset, and then I get to read the device address on the Arduino serial monitor, which is http://192.168.43.40. After that I can also take the RX and TX iodines off. The device only needs 5V and GND to work. First I put the Cell Phone Settings- Tethering & Portable hotspot - Portable Wifi hotspot - ... ON. Then I put in the smartphone Web Browser first "New incognito tab" in the top right corner, where are three dots. Then in the browser address field, I enter the address of ESP32 cam device. If the device is turned on, you should already have see camera image. If not, I still press the reset button. And then I can start a series of time delays on my cell phone. That's how it should be working.



When I install ESP32 for programming, I have to go to Arduino IDE Tools manage Library, and there I should be able to find bitluni ESP32Lib



File- Preferences



https://dl.espressif.com/dl/package_esp32_index.json/
http://arduino.esp8266.com/stable/package_esp8266com_index.json/

Upload speed 115200
Flashmode QIO
Partition scheme Huge APP (3MBNo OTA /1MB
Core debug Level .None
Programmer AVR ISP r this, I will be able to select in tools  Board  Board ESP32 Wrover module
]]>