Category Archives: Experimental

SIMPLE DIY 18650 BACKUP

#87 A DIY simple 18650 backup ups board

After setting up a CCTV system consisting of multiple WiFi cameras placed over my property I noticed that certain cameras were located in areas far away from AC outlets covered by my backup electrical system.

In this project I used some an old 18650 (LG makes the LGABD11865 ) from a laptop power supply. Also I upgraded my 5v charger to a 1.5A to provide enough charging and running current for the camera. The camera I am using is the EZVIZ C3W 1080p WiFi camera

Since Load-shedding has been increasing dramatically I had the need to find cheap simple and reliable power sources for there cameras (12v DC). One important requirement is that the backup system needs to fit into a small area E.G an electrical box on a pole where the camera is located.

While researching I came across the so called mini dc ups device mainly used for backing up WiFi routers at either 9v, 12v, 15v, 24v. however these devices seemed a bit overkill electronically wise and also price wise.

So I decided to opt-in on a cheaper smaller sized DIY version the components consisting of:

  • LiPo charger +DC-DC step-up module here
  • suitable PCB board here
  • 18650 li-ion battery holder here
  • 18650 battery 3500mah here
  • 5v cellphone charger micro-usb here

The components are all soldered onto a 50mm x 70mm 1 sided PCB board.

I noticed that the 4056 IC gets quite warm but doesn’t burn my fingers. The same goes for the coil. The specification is max 1A and the load I was applying was around 0.33mA – 0.670mA

After testing this particular LiPo charger PCB I noticed a few major problems the first being that the 8-pin 4056 LiPo chip is a copy of a copy… the next critical problem is that there is no protection circuitry besides the overcharge/discharge function in the 4056 chip.

This is a big problem since the chip does not switch off completely when low voltage occurs and as a result the load will periodically switch on and off unreliably before finally switching off completely. This oscillation can damage the load.

A solution will be to use a separate LiPo PCB with protection mosfets and a separate booster board.

A better solution
4056H PCB + protection mosfets and DW01-A
B6289Y (MT3608 booster)

CREATING A DIY RELAY

#81 Building a 12v relay on a cheap PCB board

Completed relay

While working on one of my projects I needed a 12v relay unfortunately I did not have one on hand and was not about to pay for 1 relay plus shipping.

Luckily I had all the components at hand:

1 green and 1 red led
2x 470 ohm resistors
1x 1k resistor
1x 1N4007 diode
1x bc547 transistor
1x 12v relay
Some solid alarm wire
Very cheap rectangular PCB

For a 5 volt version just replace with a 5v relay and 2x 100 ohm resistors for the LEDs.

Unfortunately the PCB I had was very cheap and I could not fit the screw terminals I had so I had to squeeze them in.
I also used thin alarm wire as i did not need to switch high amps but luckily everything worked out in the end.

It was a bit messy but next time I will use a better quality PCB that doesn’t burn tracks when making solder bridge tracks.

The BC547 also allows switching with 3.3 volt logic but remember to supply the 12v

LORA SETUP

#78 Setting up the LoRa T-Beam

Living on a farm I often encounter communication issues coupled with the urgency to communicate when catastrophes strike. Therefore in my quest to find suitable backups and backups to the backups I stumbled upon the LoRa system. Specifically the LoRa boards in the T-Beam configuration using the Meshtastic firmware + Android app which allows text message communication over a few kilometers in my case.

After testing them I came to the conclusion that they do work and reliability, however they can get damaged easily and the quality of boards and components used is not up to the bar of commercial motherboards such as gigabyte PC motherboards as an example.

My final opinion being: they work and I would use them as one of my “coms” layers however I would not put the T-Beam on par with a mobile phone the quality is simply just not there.

ESP32 DEVKIT V1

#76 ESP32 that is Arduino & MicroPython Compatible

ESP-WROOM-32 32-bit 240 MHz microprocessor

The ESP32 has already integrated an antenna and RF balun, power amplifier, low-noise amplifiers, filters, and power management module. The entire solution takes up the least amount of printed circuit board area. This board is used with 2.4 GHz dual-mode Wi-Fi and Bluetooth chips by TSMC 40nm low power technology, power and RF properties best, which is safe, reliable, and scale-able to a variety of applications.

JDY-30 BT RELAY

#75 JDY-30 Bluetooth relay board

JDY-30 Bluetooth

This is a 12V relay that you can switch using the built-in JDY-30 Bluetooth slave module. By using the iq-blue terminal app on your phone, you can wireless open or close the relay by sending simple hexadecimal code to the board.

  1. Provide 12V DC input power to the board
  2. Search for bluetooth device and pair to “JDY-30” (password is “1234”)
  3. Download the IQ-BLue Bluetooth Terminal App
  4. Using hexadecimal, send “A00101A2” (open the relay), “A00100A1” (close the relay)
Back of the board
Schematic

IO PINS ON PI ZERO W

#74 Operating IO pins on the Raspberry PI Zero W

RaspberryPI Zero W pinout.

While Java programming I started to wonder if I could program a pi board with java. During my research I found out that it is possible and there is the Java ME version that is specifically designed to be used in embedded devices.

Java ME requires the creation of MIDlets which is quite complicated so I decided to start by using the Java SE version and the WiringPi library. I’m using a Raspberry Pi Zero W with DietPi installed.

STEPS

Make sure Java & the WiringPi library is installed on your DietPi.
Now open the dietpi-launcher.

sudo dietpi-launcher

Install Optimized Software > Browse Software > Java

Install Optimized Software > Browse Software > WiringPi

Setting up the APP
Compile the app with Eclipse.
Now build the .class files into a .jar file on windows.
This makes one .jar file and compresses it for easy distribution.
Make sure JavaSE1.8 is selected in Eclipse so that it can run on the PI’s openjdk version "1.8.0_212".

"C:\Program Files\Java\jdk-16.0.2\bin\jar" cvfm GPIOPinTestMain.jar manifest.txt GPIOPinTestMain.class

N.B The manifest file must have an open newline at the end!

Once the .jar file is created you can now upload it to the PI’s usr dir e.g "/usr/bin/a_java_app/gpiotest"

Install OPENSSH to allow Putty connections.

INSTALL ProFTPD so allow sftp://10.0.0.17 connections.

Download the code below

CURSOR ON TARGET

#73 Cursor On Target (COT) protocol

Example flow

Cursor on Target is a simple exchange standard that is used to share information about targets. Its loosely coupled design led to multiple implementations and is used to facilitate interoperability of several systems with already fielded military software. Cursor on Target was originally developed by MITRE in 2002 in support of the U.S. Air Force Electronic Systems Center. Mitre first demonstrated Cursor on Target during a combined joint task force exercise in 2003, during which a Predator unmanned aircraft was able to operate in coordination with manned aircraft.

COT text example

For more detailed info read this and this document.

The COT protocol is used with ATAK to provide an exchange between sensors + coms etc.

MIG WELD ATTEMPT

#72 Learning to MIG weld

While living on the farm I couldn’t help but notice the necessity of a welder. From fixing gates to fixing vehicles and setting up fences. Creating burglar guards and security gates. These are all musts especially in the dangerous rural areas in South Africa.

So I endeavored on my welding journey, looking for the best welder for a beginner. After months of research I decided on the MAC AFRIC 180 A IGBT (MIG & MMA) Industrial welding machine. It has (120A=100%, 150A=60%, 180A=35% ) duty cycles.







I purchased the machine from Adendorff

After setting up and practicing a few beads I got the hang of it, Just need to improve my bead and reduce splatter. More practice.

My first bead… quite a hot mess.
Second bead (on the other side) much better but still needs work…




Very happy with this option as a first timer welding steel.

ESP32-CAM

#71 ESP32-CAM WiFi & Bluetooth Dev Board

The ESP32-CAM, is a fine product of Espressif, and features WiFi + Bluetooth with an onboard Camera and even a built-in flash for complete solutions to IoT, so you can give your IoT systems eyes to “see”, in addition to the many Sensors that allow them to “feel”.

The camera included with this development board is the OV2640 camera, which is surprisingly high quality for the low price that it’s typically offered for. However, the board also allows use with the OV7670 camera too, allowing you to use whichever camera best suits your project – with more than enough computing power to operate a range of different tasks, and multiple sleep modes for impressively versatile power consumption.

This product is comprised of two parts, one of which is the Development Board while the other is the OV2640 camera module. This allows you to utilise these separately, or as a single unit, giving you more freedom to take your projects in whatever direction they need to go.

FREETAKSERVER MANAGER

#70 FreeTAKServer Windows Manager Concept

FreeTAKServer manager control panel concept.

Just a quick C# working example of a FreeTAKServer Manager application for the Windows OS.

WinForms & WPF versions are supported.


The FreeTAKServer Manager C# application was created to make using the current v1.7 of FreeTAKServer more user friendly.

FreeTAKServer Manager has the ability to Start, Stop, Restart, Install and Uninstall the FreeTAKServer & FreeTAKServer-UI.

It can also start on startup, send alert emails, let the user test the API (localhost & custom), allow quick MainConfig.py & config.py edits, Open a portforward testing page.

The App requires Admin privilege in order to run cmd commands effectively.

Remove all previous Python environment variables (if you have them) because they mess up the paths.

N.B the application has been created with the microsoft Visual Studio 2019 Community IDE. (https://visualstudio.microsoft.com/vs/)

API testing form

https://github.com/Cale-Torino/FreeTAKServer_Manager