Jump to content
Electronics-Lab.com Community

All Activity

This stream auto-updates

  1. Today
  2. Software version: Linux 4.19 Design Idea: Detect screen touch events to determine whether the screen is being used or not in an auto-break application. If the screen detects input events, it will remain on. If no touch events are received for a period of time, the screen will transition from on to a dimmed state, reminding the user that it is about to enter the screen-off mode. If no touch events occur after dimming, the screen will enter the screen-off mode. When a touch event occurs again, the screen will transition from screen-off mode to the on state. Currently, the approach to implement automatic screen-off is to treat touch events as a fixed path that can be applied to familiar boards. To enhance convenience in application, two additional alternative approaches are provided below: ▊ The first implementation method You can apply the evtest command to get the path to/dev/input/event1 (event1 is the name of the touch event on my board). You can then pass the path to your program as a parameter. For example, you can modify your program to accept command-line arguments to specify the path of the device file to open int argc, char *argv[]; Opens a file with the passed in parameters as the device file path int fd = open(argv[1], O_RDONLY); You can compile and run the program, passing it/dev/input/event1 as a command-line argument, like this: ./your_program /dev/input/event1 ▊ The second implementation method is to fix the screen touch node in the device tree. Look for the screen touch node in the device tree and note its address. On the I2C bus, the address of the touch node is simply 2-0038 So we can use grep to filter out touch nodes based on their addresses. ls -l /sys/class/input | grep "0038" | awk -F ' ' '{print $9}' | grep "event" The following command is used in the application to find the touch event based on the touch address. char *command_output = exec("ls -l /sys/class/input | grep '0038' | awk -F ' ' '{print $9}' | grep 'event'"); Use the sprintf function to splice the path containing the event, and then read the event. Examples of using Sprintf: int main() { char str[100]; int num = 123; float f = 3.14; //Write the formatted data to the string sprintf(str, "%d%.2f", num, f); //print the generated string printf("The output is. %s\n", str); return 0; }
  3. Yesterday
  4. Last week
  5. Some customers rely on battery power for their products and have limited battery capacity. If a screen is used in the product, the screen will be one of the main sources of energy consumption. Therefore, turning off the screen in time can effectively extend the battery life and improve the user experience. In addition, the auto-screen-off function not only extends the life of the screen but also effectively prevents the risk of information leakage and privacy exposure. Generally speaking, the automatic screen off function plays an important role in improving the performance of the device, saving energy and protecting privacy. Knowledge points involved: 1. Struct input _ event: a data structure used to represent Linux input event This structure usually contains various information of the input event, such as event type, event code, value, etc. When dealing with input devices such as keyboards and mice, you can use this structure to store and pass information about input events. Specifically, the struct input _ event structure typically contains the following fields: Struct timeval time: The timestamp of the event occurrence. Unsigned short type: The type of event (e.g., key press, release, etc.) Unsigned short code: Code of the event (such as which key was pressed). Int value: The value of the event (key press/release, etc.) By defining such a structure, it is easy to package together the various attributes of an input event for processing and passing in the program. When reading the events of the input device, this structure can be used to store the specific information of each event, which is convenient for subsequent analysis and response to the input events. 2. Functions and differences of read function and select function The read () function and the select () function are both functions used in Linux systems to handle I/O operations, but there are some differences in what they do and how they are used. (1)Read () function: The read () function is used to read data from a file descriptor, such as a file, socket, and so on.It is a blocking system call, that is, when there is no data to read, the program will be blocked until there is data to read or an error. The read () function reads data from the file descriptor into the specified buffer and returns the actual number of bytes read, or -1 if an error occurs. (2)Select () function: The select () function monitors multiple file descriptors to determine whether they are in a readable, writable, or abnormal state. Through the select () function, multiplexing can be achieved, that is, one of multiple file descriptors is selected for I/O operation without blocking and waiting. The select () function blocks the process until at least one of the specified file descriptors is in a readable, writable, or exception state, or the specified timeout has passed. The select () function is usually used to listen to multiple file descriptors at the same time, so that when any file descriptor is ready, the corresponding read and write operations can be performed to improve the efficiency of the program. In summary, the read () function is a blocking operation to read data from a single file descriptor, while the select () function is a function to multiplex the state of multiple file descriptors to help the program manage multiple I/O operations more efficiently. The select () function is typically used in situations where you need to listen to multiple file descriptors at the same time. In the program, events are read from the input device through the read () function. If no event is reported, the read () function blocks the program and does not return until an event occurs or an error occurs. Therefore, if there is no event reported, the program will stay at the read () function and will not perform subsequent printing operations. If an event is reported, the read() function reads the event data and returns the number of bytes of the event. In this case, the program performs a subsequent print operation to print out the event information. This is why messages are printed only when there is an event reported and not when there is no event reported. To print the information even if no event is reported, you can set a timeout before reading the event. If no event is reported within the timeout period, the prompt information will be printed. This can be done using the select() function. In this modified code, we use the select() function to wait for the file descriptor to be ready for a read operation, and if it is not ready within the timeout period, it returns 0, at which point we print "No event reported within 1 second". If ready, read the event and print the appropriate message. This will print a reminder message every 1 second even if no events are reported. 3. Character devices for /dev/disp Switch for controlling display device The method of operation of a string device is disp _ fops: In fact, only two functions, disp _ ioctl () and disp _ mmap (), have concrete implementations.ioctl can refer to: "T507_Display_Module_Use_Documentation.pdf". 4. Sleep Mode / /sys/power/state freeze freeze: In the Freeze sleep state, the system will suspend CPU operation, but memory and devices will remain active to resume working faster. Mem: In the Mem sleep state, the system saves everything to memory and turns off unnecessary devices to save power. The CPU stops running, and the memory and some necessary devices continue to be active. In general, the freeze sleep state is relatively shallow, and the system can recover to the working state more quickly, but the power consumption is relatively high, while the mem sleep state is deeper, and the power consumption is lower, but the recovery time may be slightly longer. According to the actual needs and system requirements, the appropriate sleep state can be selected to balance power consumption and performance.
  6. Hellow guys, sorry then Can I get how these projects can be made, please.... 1. Design a circuit that removes the entire audio frequency range (approximately 20Hz to 20kHz, for human hearing) but amplifies the signal voltage of all other frequencies by a factor of 20. 2. Depending on which song you are listening to, your MP3 player sometimes provides too little bass, even when the appropriate setting is maximized. Design a filter that allows you to vary the gain real-time of all signals less than 500Hz before reaching your earphones. Include a diagram of the overall system
  7. In the world of embedded systems and IoT devices, power consumption is a critical factor that can make or break the success of a product. The Nordic Power Profiler Kit II (PPK 2) is an indispensable tool for developers looking to optimize the power usage of their devices. While the official nRF Connect Power Profiler provides a user-friendly GUI, there’s a growing need for automation in power monitoring. This is where Python comes into play, offering a way to control PPK 2 programmatically. Unofficial Python API for PPK 2 An unofficial Python API for PPK 2 has been developed to fill the gap left by the official tool. This API allows for automated power monitoring and data logging within Python applications, making it possible to integrate power profiling into automated test environments. Key Features Real-time power measurement: The API enables real-time measurement of device power consumption, which is crucial for identifying power spikes and optimizing energy usage. Data logging: It supports data logging in user-selectable formats, allowing for long-term power consumption analysis. Cross-platform support: The API is designed to work across different platforms, ensuring that developers can use it regardless of their operating system. Get PCBs for Your Projects Manufactured You must check out PCBWAY for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto PCBWAY to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop. Also, check out this useful blog on PCBWay Plugin for KiCad from here. Using this plugin, you can directly order PCBs in just one click after completing your design in KiCad. Let's start with UNIHIKER: The UNIHIKER is a single-board computer that boasts a 2.8-inch touchscreen, providing a tactile and visual interface for your applications. It’s powered by a Quad-Core ARM Cortex-A35 CPU and comes with 512MB RAM and 16GB Flash storage. The board runs on Debian OS, ensuring a familiar and versatile environment for Linux enthusiasts In this tutorial, we are going to automate the power profiling with the UNIHIKER Single Board Computer. Install Python API in UNIHIKER: Connect UNIHER to the PC and open the Mind+ IDE. Next, connect the UNIHIKER to Mind+ via serial port. Next, run the following command in the terminal and install the ppk2 library. pip install ppk2-api Now you can see the zip file in the UNIHIKER file storage. Once installed, you can start by importing the necessary classes and initializing the PPK2_API object with the appropriate serial port. Here’s a basic example to get you started: import time from ppk2_api.ppk2_api import PPK2_API # Initialize the PPK2_API object with the correct serial port ppk2_test = PPK2_API("/dev/ttyACM3") # Replace with your serial port # Set up the power profiler ppk2_test.get_modifiers() ppk2_test.use_source_meter() # Set source meter mode ppk2_test.set_source_voltage(3300) # Set source voltage in mV # Start measuring ppk2_test.start_measuring() # Read measured values in a loop for i in range(0, 1000): read_data = ppk2_test.get_data() if read_data != b'': samples = ppk2_test.get_samples(read_data) print(f"Average of {len(samples)} samples is: {sum(samples)/len(samples)}uA") time.sleep(0.001) # Adjust time between sampling as needed # Stop measuring ppk2_test.stop_measuring() This script sets the PPK 2 to source meter mode, starts measuring, and prints out the average current consumption over several samples. It’s a simple yet powerful way to begin automating power profiling for your projects. Demo Let's unzip the zip file and open the folder so that you can see the example sketches. here is the example script. In this sketch, it will automatically detect the connected PPK2 devices and it will power up the DUT as well as measure the 100 samples. import time from ppk2_api.ppk2_api import PPK2_API from unihiker import GUI # Import the unihiker library import time # Import the time library from pinpong.board import Board # Import the Board module from the pinpong.board package from pinpong.extension.unihiker import * # Import all modules from the pinpong.extension.unihiker package ppk2s_connected = PPK2_API.list_devices() if(len(ppk2s_connected) == 1): ppk2_port = ppk2s_connected[0] print(f'Found PPK2 at {ppk2_port}') else: print(f'Too many connected PPK2\'s: {ppk2s_connected}') exit() ppk2_test = PPK2_API(ppk2_port, timeout=1, write_timeout=1, exclusive=True) ppk2_test.get_modifiers() ppk2_test.set_source_voltage(3300) ppk2_test.use_source_meter() # set source meter mode ppk2_test.toggle_DUT_power("ON") # enable DUT power ppk2_test.start_measuring() # start measuring for i in range(0, 100): read_data = ppk2_test.get_data() if read_data != b'': samples, raw_digital = ppk2_test.get_samples(read_data) print(f"Average is:{sum(samples)/len(samples)}uA") final=sum(samples)/len(samples) time.sleep(0.01) ppk2_test.toggle_DUT_power("OFF") # disable DUT power ppk2_test.stop_measuring() Conclusion The Nordic PPK 2, combined with the power of Python and UNIHIKER, opens up new possibilities for automated power profiling. Whether you’re looking to integrate power profiling into your CI/CD pipeline or simply want to streamline your testing process, the unofficial Python API for PPK 2 is a valuable addition to your toolkit. I hope this blog post provides a clear overview of how to control the Nordic Power Profiler Kit II with Python and UNIHIKER. If you have any questions or need further assistance, feel free to ask!
  8. The UNL2003 IC contains 7 High Voltage, High Current NPN Darlington Transistor Arrays each rated at 50V, 500mA in a 16-pin DIP package. You can connect the IC directly to a digital logic (like Arduino or Raspberry Pi, TTL or 5V CMOS device) without an external dropping resistor. This IC features "common-cathode flyback diodes" for switching inductive loads. The ULN2003 is known for its high current and high voltage capacity. The Darlington pairs can be "paralleled" for higher current Output. The inputs are capable with TTL and 5v CMOS logic. Now, let's deep-dive and check out the internals of the IC and how it can be used in our projects. Pin Configuration and Functions The notch on the top indicates the starting and stopping points of the numberings of the chip. Starting from left to right going counterclockwise this is the Pin number 1 of the IC. * On the left hand side Pin 1 to 7 are the Base Inputs. * On the right hand side Pin 10 to 16 are the Collector Outputs. * Pin 9 is the Common Cathode node for flyback diodes (required for inductive loads). * And, Pin 8 is the Common Emitter shared by all channels of the IC. This pin is typically tied to ground. Detailed Description Inside the IC is the arrays of the 7 NPN "Darlington Transistors". Darlington Transistors were first invented in 1953 by Sidney Darlington. A Darlington pair is a circuit consisting of two Bipolar Transistors with the Emitter of one transistor connected to the Base of the other transistor. In this setup, the current amplified by the first transistor is further amplified by the second transistor. The collectors of both transistors are connected together. This configuration has a much higher current gain than each transistor taken separately. A small base current can make the pair switch to a much higher current. It appears as if it is just a single transistor, with only one base, one collector, and one emitter. Creating a high current gain approximately to the product of the gains of the two transistors: β Darlington = (β 1 * β 2) + β 1 + β 2 Since, β1 and β2 are high enough, we can write the above statement as: β Darlington ≈ β 1 * β 2 This connection creates the effect of a single transistor with a very high-current gain. The 7 outputs are all "Open Collector". By Open Collector, we mean a collector that is not attached to anything. It's just open. In order for an open collector output device to work, the open collector has to receive sufficient power. In order for an NPN transistor to work, the collector and the base both need to receive sufficient power. The base turns the transistor on, and then a much greater current flows from collector to emitter, but only if the collector has sufficient positive voltage. So if you want to connect a load to the Output of the chip with an open-collector-output, you must attach the load to a positive voltage source that is sufficient enough to drive the load. Hence, the +ve side of the load connects to the +ve voltage rail and the -ve side connects to the OUTPUT pin of the IC. Hence, when the Base current goes HIGH, the current flows from the collector to emitter and the Output logic goes LOW turning ON the LED (load) connected to the OUT pin of the IC and vice-versa. The maximum Output Current of a single OUTPUT pin is 500mA and the total emitter-terminal current is 2.5A as per the datasheet. Now, let's have a closer look at a single Darlington pair (internal circuit diagram) of the ULN2003 IC. The GPIO input voltage is converted to base current through a series base 2.7kΩ resistor connected between the Input and Base of the Darlington NPN junction. This allows the IC to connect directly to a digital logic (like Arduino, Raspberry Pi, TTL or 5V CMOS device) without the need of external dropping resistors operating at supply voltages of 5V or 3.3V. The 7.2kΩ and the 3kΩ resistors connected between the Base and the Emitter of each respective NPN transistor acts as pulldown resistors preventing floating states and suppressing the amount of leakage that may occur from the input. To maximize the effectiveness, these units contain "Suppression Diodes" for inductive loads. The diode connected between the OUT pin and the COM pin (PIN 9) is used to suppress the "kick-back voltage" from an inductive load which is generated when the NPN drivers are turned off and the stored energy of the coils causes a reverse flow of current. A reverse biased suppressing diode is also placed between the Base-Emitter and the Collector-Emitter pair to avoid the Parasitic nature of the NPN transistors. Pin 8 is connected to the GND. Device Functional Modes Inductive Load In case of an inductive load, when the COM pin is tied to a coil, the IC is able to drive inductive loads and suppress the kick-back voltage through the internal free-wheeling diodes. Resistive Load When driving a resistive load, a pullup resistor is needed in order for the IC to sink current and maintain a logic HIGH level. In this case the COM pin can be left floating (not connected). This device can operate over a wide temperature range between –40°C to 105°C. Applications Now, lets hook this IC to a circuit. As we know, the ULN2003 IC can easily drive a high-current or high-voltage (or both) device, which a Microcontroller or a Logic Device cannot tolerate. Hence, they are widely used in driving inductive loads like motors, solenoids and relays. 1. In my first example, I am going to light up a few LEDs using this IC I have connected 7 LEDs to the 7 OUT Pins of the IC via 220Ohm resistors. On my left, are the 7 digital inputs directly interfaced to either a Microcontroller or a TTL Digital Logic. When a logic HIGH is sent to the input pin the corresponding OUT pin goes LOW lighting up the LED. 2. In my second example, I am driving a Unipolar Stepper Motor using this IC In this setup, I am using Pin 1~4 for INPUT and Pin 13~16 for OUTPUT. Each OUT pin is rated at 500mA. Pin 9 has the spike suppressor diode, and is connected to the +ve terminal. By sending combinations of 0's and 1's to the 4 input pins we can rotate our stepper motor. I have used this setup in my award winning Video Tutorial: "NodeMCU Based - 3D Printed Indoor Gauge Thermometer" the link is in the description below. 3. In my third example, I am going to light-up a few AC Lightbulbs using this IC For high voltage applications, we can use RELAYS to control motors, heaters, lamps or AC circuits which themselves can draw a lot more electrical voltage/current and therefore power. We can hook up a maximum of 7 Relays to this IC. In my setup, I have connected 4 Relays to the 4 OUT pins of the IC. An AC Lightbulb is connected to the NO-pin of the relay. When we send a Digital HIGH to the INPUT pin the corresponding OUT pin goes LOW and current flows through the coil pulling the armature, completing the circuit and hence lighting up the 220V Light Bulb. Same as the previous setup, Pin 9 with the suppressor diode is tied back to the +ve terminal. 4. In my 4th example, I am going to show you guys how to obtain more than 500mA at the OUTPUT As we know that each of the OUT Pins are rated at 500mA, then how can I drive a 1Amp device? All we have to do is, tie 3 of the OUTPUT pins on the OUT side, and tie 3 of the corresponding INPUT Pins on the INPUT side. Now the 3 INPUT pins act like a single INPUT Pin. So basically, we can parallel the inputs to get a higher amplified value of paralleled output. You may ask, why did I combine 3 INPUTS and OUTPUTS and not just 2? As per the datasheet each pin is rated at 500mA but the total output is 2.5A (*** Page 4 of datasheet ****). Hence, 2.5A / 7 Pins = 0.36 Approx. So, 0.36 * 3 = 1.07Amp Approx. which is what we want. Areas of Application The ULN2003A produced by Texas Instruments can be used for: 1. Driving motors and solenoids 2. Can be used as a Relay Driver for high voltage application (7 relays at the max) 3. To drive high current loads using Digital Circuits 4. To drive high current LED's 5. To create a water level indicator circuit 6. As a LED and Gas Discharge Display Drivers 7. Can also be used as a logic buffer in digital circuits and more... For more information about the packaging and the material used, please have a look at the datasheet. The link is in the description below. Always consult a manufacturer's datasheet before assuming industrial conventions, no matter how intuitive or obvious they may be. "In the face of ambiguity, refuse the temptation to guess." - Zen of Python Thanks Thanks again for checking my post. I hope it helps you. If you want to support me subscribe to my YouTube Channel: https://www.youtube.com/user/tarantula3 Video: Watch Full Blog Post: Visit References DataSheet: Download Darlington transistor: View Open Collector Output: View Transistor–Transistor Logic: View Parasitic Structure: View Related Videos NodeMCU Based - 3D Printed Indoor Gauge Thermometer: View Acronyms TTL: Transistor–Transistor Logic CMOS: Complementary Metal–Oxide–Semiconductor Support My Work BTC: 1Hrr83W2zu2hmDcmYqZMhgPQ71oLj5b7v5 LTC: LPh69qxUqaHKYuFPJVJsNQjpBHWK7hZ9TZ DOGE: DEU2Wz3TK95119HMNZv2kpU7PkWbGNs9K3 ETH: 0xD64fb51C74E0206cB6702aB922C765c68B97dCD4 BAT: 0x9D9E77cA360b53cD89cc01dC37A5314C0113FFc3 LBC: bZ8ANEJFsd2MNFfpoxBhtFNPboh7PmD7M2 COS: bnb136ns6lfw4zs5hg4n85vdthaad7hq5m4gtkgf23 Memo: 572187879 BNB: 0xD64fb51C74E0206cB6702aB922C765c68B97dCD4 MATIC: 0xD64fb51C74E0206cB6702aB922C765c68B97dCD4 Thanks, ca again in my next tutorial.
  9. Hi am new here, i recently bought the kit, its ok to use schema and part list rev 7 for 3A with two output transistors ? I plan to use a pair of 2N3055 or there is a better choiche ? Thanks
  10. Earlier
  11. Nobody answer what is the equivqalent of BF494,BF495
  12. In modern cities, the medical rescue system is crucial for urban safety. Emergency centers command rescue operations, essential for saving lives. With the advancement of IoT technology, many cutting-edge technologies are gradually integrated into the medical emergency system, enabling ambulances to be networked, digitized, and intelligent. Thus, 5G smart ambulances emerge. 5G-enhanced ambulances look similar to regular ones in appearance. However, by integrating 5G networks into the vehicle, developers instantly endowed it with additional "superpowers". For instance, 5G-enhanced ambulances can achieve synchronized transmission of multiple high-definition live videos, leveraging 5G's high bandwidth, low latency, and reliability. Based on this, it can synchronously return the medical images, patient signs, illness records and other information of emergency patients to the hospital emergency center without damage, which is convenient for the emergency center to grasp the patient's condition in advance and give professional guidance to the rescuers on the bus. Forlinx's 5G Smart Gateway FCU2303 provides reliable support for medical ambulance. Rapid transmission of information Bridge the gap for medical device information transmission. Modern ambulances are equipped with advanced medical equipment such as electrocardiogram monitors, ventilators, and defibrillators to enhance rescue efficiency. Various types of diagnostic and therapeutic equipment can efficiently transmit physiological data to the Hospital Information System (HIS) through the multiple Ethernet ports, serial ports, and DI/DO of the FCU2303 industrial-grade smart gateway. This meets the data collection and transmission requirements of ambulances. Enabling high-definition audio and video consultations Medical imaging equipment such as cameras, microphones, displays, and ultrasound machines are deployed on the ambulance. Through the FCU2303 industrial-grade smart gateway, information is transmitted, providing real-time, lossless transmission of audio-visual images from the ambulance to the hospital emergency center. This setup offers a high-bandwidth, low-latency, and highly connected secure network, meeting the remote video consultation needs of the ambulance. It aims to secure more time for patients by implementing a rapid rescue and treatment mode where patients essentially “Be in the hospital” upon boarding the ambulance. Enabling reliable integration of multiple technologies FCU2303 Smart Gateway, designed based on the NXP LS1046A processor, features a quad-core CPU with a high clock frequency of 1.8GHz. With a fanless design, it ensures stable operation of medical rescue systems for extended periods in environments ranging from -40°C to +85°C; It supports 5G and 4G modules, which can be easily switched with a single DIP switch. It provides users with high bandwidth, low latency, and large connectivity services. It also supports dual-band Wi-Fi, enabling both STA and AP modes; FCU2303 supports expandable device storage with PCIe 3.0 high-speed interface, enabling support for solid-state drives (SSDs) using the NVMe protocol (M.2 interface). This meets the requirements for small size, large capacity, and fast speed; It comes standard with 8 x Gigabit Ethernet ports (flexible configuration of 2/4/6/8 ports, all with independent MAC addresses), 4 RS485 ports, 4 RS485/RS232 multiplexing interfaces, 2 DI (Digital Input), 2 DO (Digital Output), and 1 USB HOST 3.0 port. This ensures the connectivity of various medical devices, enabling full vehicle networking for ambulances; The software integrates a variety of third-party components including Samba, Lighttpd, Docker, IPSEC, OpenSSL, and Python 3 or higher versions. It supports protocols such as TCP/IP, UDP, DHCP, TFTP, FTP, Telnet, SSH, Web, HTTP, IPtables, and provides an open system API for easy user customization and development. In the future, smart ambulances based on 5G technology will undoubtedly provide better full-process services for patients, including pre-diagnosis, during diagnosis, and post-diagnosis. Forlinx Embedded FCU2303 Smart Gateway, which supports the 5G smart ambulance system, fully leverages the leading advantages of 5G technology, including high bandwidth, low latency, and large connectivity. It will undoubtedly effectively and efficiently guarantee the transmission of information for various medical devices. This will assist medical emergency centers in further improving the efficiency and service level of emergency rescue work, enhancing service quality, optimizing service processes and modes, and winning time for rescuing patients’ lives, thereby better-safeguarding health and life.
  13. A Power Circuit from 2008 showed high voltage line with its 5 turns coil wrapped with 7 turns coil from the low volts line with amps. Core steel rod was not under the low volts coil as electromagnet. There is a 90-120volts of crossover leakage induction volts transferred to 7 turns and is to increase the 12v line to about 100 volts, as the induction is IN SERIES with the 12v. Was this actually used in 2008 to raise up the power supply 12v to 120 volts for passage of the 10 amps to load? I measured this actual 120v RECENTLY with a new type variable/ multiple neon bulbs voltmeter on the market. The main line load in 2008 was about 10 ohms resistance. The ground was the same for both inputs. The writer said that his circuit required 100v and 10 amps, and a high voltage IGNITION line. What do you think?
  14. A Power Circuit from 2008 showed high voltage line with its 5 turns coil wrapped with 7 turns coil from the low volts line with amps. Core steel rod was not under the low volts coil as electromagnet. There is a 90-120volts of crossover leakage induction volts transferred to 7 turns and is to increase the 12v line to about 100 volts, as the induction is IN SERIES with the 12v. Was this actually used in 2008 to raise up the power supply 12v to 120 volts for passage of the 10 amps to load? I measured this actual 120v RECENTLY with a new type variable/ multiple neon bulbs voltmeter on the market. The main line load in 2008 was about 10 ohms resistance. The ground was the same for both inputs. The writer said that his circuit required 100v and 10 amps, and a high voltage IGNITION line. What do you think? Desperate!
  15. O'Reilly offers a wide selection of technical books, including books on electronics and DIY projects.
  16. Xe Ghép Giá Rẻ là đơn vị chuyên cung cấp dịch vụ xe taxi ghép tiện chuyến Vĩnh Phúc đi Hà Nội và ngược lại được nhiều hành khách yêu thích và tin tưởng lựa chọn nhờ chất lượng dịch vụ cao, mức giá phải chăng, tiết kiệm chi phí, thoải mái và tiện lợi.

  17. I purchased the HW-391 module under the impression that it supported both charging and balancing functions. I intended to use a 9V input voltage, which I believed was within the acceptable range for charging. However, I'm having second thoughts now. Has anyone successfully constructed the circuit mentioned in the original post using a 9V input voltage?
  18. Purpose of Trimming Customers sometimes have certain requirements for the boot time after power-on, so it is necessary to tailor the kernel to optimize the boot time and reduce it.Low system power consumption. Brief Introduction to Makefiles, Kconfig and .config Files Makefile: A file in text form that compiles the source files Kconfig: A file in text for the kernel's configuration menu. .config: The configuration on which the kernel is compiled Kconfig and Makefile files are usually present in the directory structure of the Linux kernel. Distributed at all levels of the catalogue Kconfig constitutes a distributed database of kernel configurations, with each Kconfig describing the kernel associated with the source files of the directory to which it belongs. Configuration menu. Read out the configuration menu from Kconfig when the kernel graphically configures make menuconfig, and save it to.config after the user finishes the configuration. When the kernel is compiled, the main Makefile calls this.config to know how the user has configured the kernel. Introduction to Makefile and Kconfig Syntax ● Makefile The Makefile subdirectory is contained by the top-level Makefile. It is used to define what is compiled as a module and what is conditionally compiled. (1) Direct compilation obj-y +=xxx.o It means that xxx.o is compiled from xxx.c or xxx.s and compiled directly into the kernel. (2) Conditional compilation obj-$(CONFIG_HELLO) +=xxx.o The CONFIG_XXX of the .config file determines whether a file is compiled into the kernel or not. (3) Module compilation obj-m +=xxx.o It means that xxx is compiled as a module, i.e. it is compiled when make modules is executed. ● Kconfig Each config menu item has a type definition. bool: boolean type, tristate: three states (built-in, module, remove), string: a sequence of characters, hex: hexadecimal, integer: a whole number Function: determine the menu item displayed when make menuconfig. 1) NEW _ LEDS: The name of the configuration option. The prefix "CONFIG _" "is omitted. 2) tristate: Indicates whether the item is programmed into the kernel or into a module. The display as < >, if selected to compile as a kernel module, it will generate a configuration CONFIG_HELLO_MODULE=m in .config. Choosing Y will directly compile into the kernel, generating a configuration CONFIG_HELLO_MODULE=y in .config. 3) bool: This type can only be checked or unchecked. It is displayed as [ ] when making menuconfig, that is, it cannot be configured as a module. 4) dependon: This option depends on another option, only when the dependon is checked, the prompt message of the current configuration item will appear to set the current configuration item. 5) select: Reverse dependency, when this option is checked, the item defined after select is also checked. 6) help: help information. tristate and bool followed by strings are the configuration item names displayed in make menuconfig. Definitions in Kconfig like "menuconfig NEW_LEDS" or "menu "Video support for sunxi"" are typically top-level directories of a directory, where in menuconfig you can directly trim the corresponding driver by searching for that configuration item. Catalogue Hierarchy Iteration : In Kconfig, there are statements like "source "drivers/usb/Kconfig"" used to include (or nest) new Kconfig files, allowing each directory to manage its own configuration content without having to write all those configurations in the same file, making it easier for modification and management. Partially Driven Tailoring 1. Tailoring Ideas Taking the GPADC function as an example, the location of the driver in the source code kernel is:drivers/input/sensor/sunxi_gpadc.c, So we can go to the Kconfig file in that path, and directly search for "menu” in the Kconfig file, which generally corresponds to the top-level directory of that driver. We can see that the configuration option is named INPUT_SENSOR, corresponding to the name "Sensors" in menuconfig. Afterwards, we can directly search for this configuration option in menuconfig. Execute make menuconfig at the kernel path ARCH=arm64 Enter the graphical configuration interface: On this screen, type /, then INPUT_SENSOR, and press Enter. As shown in the figure, this item is configured under the Device Drivers ---> Input device support path, and the Generic The "input layer (needed for keyboard, mouse, ...)" configuration option is set to "y" (yes). Cancel the configuration for Sensors, then save and exit as a .config file. Afterwards, go back to the OKT507-linux-sdk path, compile the kernel separately, and then package the image. forlinx@ubuntu:~/work/OKT507-linux-sdk$ ./build.sh kernel forlinx@ubuntu:~/work/OKT507-linux-sdk$ ./build.sh pack 2. Partial Drive Path Device Location of the driver in the source kernel Device Name Path in Menuconfig Wifi Wifi wlan0 Device Drivers ---> Remove:Network device support Network card drivers/net/ethernet/allwinner/ /sys/class/net/eth* Hdmi drivers/video/fbdev/sunxi/disp2/hdmi2/ /dev/fb1 Device Drivers ---> Graphics support ---> Frame buffer Devices ---> Video support for sunxi --->Remove: HDMI2.0 Driver Support(sunxi-disp2) (not yet fully modified) Usb-U disk drivers/usb/storage/ /dev/sdx Device Drivers ---> USB support ---> Remove:USB Mass Storage support USB-4G drivers/usb/serial/ /dev/ttyUSB* Device Drivers ---> USB support --->Remove:USB Serial Converter support Usb-camera drivers/media/usb/uvc/uvc_video.c Device Drivers ---> Multimedia support ---> Media USB Adapters --->Remove:USB Video Class (UVC) Usb-camera drivers/media/usb/uvc/uvc_video.c Device Drivers ---> Multimedia support ---> Media USB Adapters --->Remove:USB Video Class (UVC) Watchdog drivers/watchdog/sunxi_wdt.c /dev/watchdog Device Drivers ---> Remove:Watchdog Timer Support Bluetooth drivers/bluetooth/ Networking support ---> Bluetooth subsystem support ---> Bluetooth device drivers --->Uncheck all (remember to record the original configuration) Audio sound/soc/sunxi /dev/snd/ Device Drivers ---> Sound card support ---> Advanced Linux Sound Architecture ---> ALSA for SoC audio support ---> Allwinner SoC Audio support --->Uncheck all (remember to record the original configuration) Pwm drivers/pwm/pwm-sunxi.c /sys/class/pwm/ Device Drivers ---> Remove:Pulse-Width Modulation (PWM) Support OV5640_DVP drivers/media/platform/sunxivin/modules/sensor/ov5640.c /dev/video* Device Drivers ---> Multimedia support ---> V4L platform devices --->Remove:sunxi video input (camera csi/mipi isp vipp)driverOpen OKT507-linux-sdk/kernel/linux-4.9/drivers/media/platform/Makefile,comment out obj-y += OV5640_MIPI drivers/media/platform/sunxivin/modules/sensor/ov5640_mipi.c TP2854M drivers/media/platform/sunxivin/modules/sensor/tp2854_mipi.c sunxi_car_reverse/ Device Location of the driver in the source kernel Path in Menuconfig Device Name GT911 touch drivers/input/touchscreen/gt911.c Device Drivers ---> Input device support ---> Touchscreens --->Remove:Goodix I2C touchscreen gt911、Goodix I2C touchscreen gt928、TSC2007 based touchscreens /dev/input/event*View event with evtestCorresponding name, for example:The corresponding name of GPADC issunxi-gpadc0sunxi-gpadc1sunxi-gpadc2sunxi-gpadc3 GT928 touch drivers/input/touchscreen/gt928.c TSC2007 touch drivers/input/touchscreen/tsc2007.c LRADC drivers/input/keyboard/sunxi-keyboard.c drivers/input/keyboard/sunxi-keyboard.c GPADC drivers/input/sensor/sunxi_gpadc.c Device Drivers ---> Input device supportRemove:Sensors IR drivers/media/rc/sunxi-ir-dev.c Device Drivers ---> Multimedia support Remove:Remote controller decoders、Remote Controller devices RTC drivers/rtc/rtc-rx8010.c Device Drivers ---> Remove:Real Time Clock /dev/rtc0 The above is the trimming of one of the drivers, other functions can be trimmed following the methods mentioned earlier.
  19. Creating a voice-controlled lighting system can add a touch of magic to any environment. In this blog, we’ll explore how to integrate the DFRobot Gravity: Offline Language Learning Voice Recognition Sensor with a Neo Pixel light strip, all controlled by a Beetle ESP32 C3 microcontroller. Introduction to DFRobot Gravity Voice Recognition Sensor The DFRobot Gravity: Offline Voice Recognition Sensor is a powerful module designed for voice command projects. Here are its key features: Offline Operation: Unlike cloud-based solutions, this sensor works without an internet connection. It’s built around an offline voice recognition chip, making it ideal for applications where internet connectivity is not available or desired. Built-in Command Words: The sensor comes with 121 fixed command words preloaded. These cover a wide range of common instructions, eliminating the need for users to record their voices. Custom Commands: Additionally, the sensor supports the addition of 17 custom command words. This flexibility allows you to train it to recognize specific sounds or phrases, such as whistling, snapping, or even cat meows. Self-Learning Function: The self-learning feature enables you to teach the sensor new commands. For example, you could use it in an automatic pet feeder. When your cat emits a meow, the sensor recognizes it and triggers the feeder to provide food promptly. User-Friendly Design: With its straightforward interface, the sensor simplifies voice interaction projects. Whether you’re building smart home appliances, toys, lighting fixtures, or robotics, this sensor provides a flexible solution. Key Features: Offline Operation: Works without the need for an internet connection. Custom Commands: Supports adding custom voice commands. Compatibility: Can be used with Arduino, Raspberry Pi, Python, and Beetle ESP32 C3. Get PCBs for Your Projects Manufactured You must check out PCBWAY for ordering PCBs online for cheap! You get 10 good-quality PCBs manufactured and shipped to your doorstep for cheap. You will also get a discount on shipping on your first order. Upload your Gerber files onto PCBWAY to get them manufactured with good quality and quick turnaround time. PCBWay now could provide a complete product solution, from design to enclosure production. Check out their online Gerber viewer function. With reward points, you can get free stuff from their gift shop. Also, check out this useful blog on PCBWay Plugin for KiCad from here. Using this plugin, you can directly order PCBs in just one click after completing your design in KiCad. Neo Pixel: A Symphony of Lights Neo Pixel LEDs are individually addressable RGB LEDs, which means each LED’s color and brightness can be controlled independently. This makes them ideal for creating dynamic and colorful lighting effects. Why Choose Neo Pixel? Individual Addressability: Control each LED separately. Vibrant Colors: Create a spectrum of colors with RGB LEDs. Energy Efficient: Low power consumption with bright output. The Beetle ESP32 C3 Controller: The Brain Behind the Operation The Beetle ESP32 C3 is a small, powerful development board ideal for IoT projects. It features: A RISC-V 32-bit single-core processor for efficient performance. A coin-sized design, making it highly portable. Up to 13 digital I/O ports for various connections. Onboard battery management for direct li-ion battery connection. Wi-Fi and Bluetooth 5 (LE) support for versatile networking. Compatibility with Arduino IDE, ESP-IDF, and MicroPython, and supports C and Python programming. An expansion board for additional power sources and a GDI for screens. Operates at 3.3V with a Type-C input of 5V DC and a charging current of 400mA. Suitable for a wide range of temperatures, from -40 to 105°C. It’s a compact yet feature-rich board that’s adaptable for a variety of applications. Advantages of Beetle ESP32 C3: Connectivity: Wi-Fi and Bluetooth ready. Powerful: Enough processing power to handle complex tasks. Versatile: Compatible with various programming environments. Bringing It All Together To create a voice-controlled Neo Pixel light system, we’ll need to connect the DFRobot Gravity sensor to the Beetle ESP32 C3 and then to the Neo Pixel strip. The Beetle ESP32 C3 will listen to voice commands through the sensor and control the Neo Pixel lights accordingly. Adding Custom Commands in DFRobot Gravity Voice Recognition Sensor Let’s dive into the process of adding custom command words: First, let's upload the following sketch to the Beetle board, this sketch will show you the exact command ID which is related to the custom voice instructions. /*! * @file i2c.ino * @brief Control the voice recognition module via I2C * @n Get the recognized command ID and play the corresponding reply audio according to the ID; * @n Get and set the wake-up state duration, set mute mode, set volume, and enter the wake-up state * @copyright Copyright (c) 2010 DFRobot Co.Ltd (http://www.dfrobot.com) * @licence The MIT License (MIT) * @author [qsjhyy]([email protected]) * @version V1.0 * @date 2022-12-30 * @url https://github.com/DFRobot/DFRobot_DF2301Q */ #include "DFRobot_DF2301Q.h" //I2C communication DFRobot_DF2301Q_I2C DF2301Q; void setup() { Serial.begin(115200); // Init the sensor while( !( DF2301Q.begin() ) ) { Serial.println("Communication with device failed, please check connection"); delay(3000); } Serial.println("Begin ok!"); /** * @brief Set voice volume * @param voc - Volume value(1~7) */ DF2301Q.setVolume(4); /** * @brief Set mute mode * @param mode - Mute mode; set value 1: mute, 0: unmute */ DF2301Q.setMuteMode(0); /** * @brief Set wake-up duration * @param wakeTime - Wake-up duration (0-255) */ DF2301Q.setWakeTime(15); /** * @brief Get wake-up duration * @return The currently-set wake-up period */ uint8_t wakeTime = 0; wakeTime = DF2301Q.getWakeTime(); Serial.print("wakeTime = "); Serial.println(wakeTime); /** * @brief Play the corresponding reply audio according to the command word ID * @param CMDID - Command word ID * @note Can enter wake-up state through ID-1 in I2C mode */ // DF2301Q.playByCMDID(1); // Wake-up command DF2301Q.playByCMDID(23); // Common word ID } void loop() { /** * @brief Get the ID corresponding to the command word * @return Return the obtained command word ID, returning 0 means no valid ID is obtained */ uint8_t CMDID = 0; CMDID = DF2301Q.getCMDID(); if(0 != CMDID) { Serial.print("CMDID = "); Serial.println(CMDID); } delay(3000); } Now let's talk to our sensor and add custom voice commands. First, we need to use this "Learning command word" command to add a new command. Here I have added 4 different commands. These are the commands and their related command IDs. Lights on = 5 Lights off = 6 Lights to red = 8 Lights to green = 7 Integrate Neo Pixels with Voice Sensor Here’s a simple example that tests our neo pixel led: // NeoPixel Ring simple sketch (c) 2013 Shae Erisson // Released under the GPLv3 license to match the rest of the // Adafruit NeoPixel library #include <Adafruit_NeoPixel.h> #ifdef __AVR__ #include <avr/power.h> // Required for 16 MHz Adafruit Trinket #endif // Which pin on the Arduino is connected to the NeoPixels? #define PIN 0 // On Trinket or Gemma, suggest changing this to 1 // How many NeoPixels are attached to the Arduino? #define NUMPIXELS 8 // Popular NeoPixel ring size // When setting up the NeoPixel library, we tell it how many pixels, // and which pin to use to send signals. Note that for older NeoPixel // strips you might need to change the third parameter -- see the // strandtest example for more information on possible values. Adafruit_NeoPixel pixels(NUMPIXELS, PIN, NEO_GRB + NEO_KHZ800); #define DELAYVAL 500 // Time (in milliseconds) to pause between pixels void setup() { // These lines are specifically to support the Adafruit Trinket 5V 16 MHz. // Any other board, you can remove this part (but no harm leaving it): #if defined(__AVR_ATtiny85__) && (F_CPU == 16000000) clock_prescale_set(clock_div_1); #endif // END of Trinket-specific code. pixels.begin(); // INITIALIZE NeoPixel strip object (REQUIRED) } void loop() { pixels.clear(); // Set all pixel colors to 'off' // The first NeoPixel in a strand is #0, second is 1, all the way up // to the count of pixels minus one. for(int i=0; i<NUMPIXELS; i++) { // For each pixel... // pixels.Color() takes RGB values, from 0,0,0 up to 255,255,255 // Here we're using a moderately bright green color: pixels.setPixelColor(i, pixels.Color(0, 150, 0)); pixels.show(); // Send the updated pixel colors to the hardware. delay(DELAYVAL); // Pause before next pass through loop } } Here is the neo-pixel response. Finally, let's integrate the voice sensor with our neo-pixel. #include "DFRobot_DF2301Q.h" #include <Adafruit_NeoPixel.h> #define PIN 0 // Neo Adafruit_NeoPixel strip = Adafruit_NeoPixel(8, PIN, NEO_GRB + NEO_KHZ800); //I2C communication DFRobot_DF2301Q_I2C DF2301Q; void setup() { Serial.begin(115200); strip.begin(); strip.setBrightness(100); strip.show(); while ( !( DF2301Q.begin() ) ) { Serial.println("Communication with device failed, please check connection"); delay(3000); } Serial.println("Begin ok!"); DF2301Q.setVolume(7); DF2301Q.setMuteMode(0); DF2301Q.setWakeTime(15); uint8_t wakeTime = 0; wakeTime = DF2301Q.getWakeTime(); Serial.print("wakeTime = "); Serial.println(wakeTime); DF2301Q.playByCMDID(23); // Common word ID } void loop() { uint8_t CMDID = 0; CMDID = DF2301Q.getCMDID(); if (0 != CMDID) { Serial.print("CMDID = "); Serial.println(CMDID); } if (CMDID == 5) { strip.clear(); // Set all pixel colors to 'off' for (int i = 0; i < 12; i++) { // For each pixel... strip.setPixelColor(i, strip.Color(255, 255, 255)); strip.show(); } } else if (CMDID == 6) { strip.clear(); for (int i = 0; i < 12; i++) { // For each pixel... strip.setPixelColor(i, strip.Color(0, 0, 0)); strip.show(); } } else if (CMDID == 7) { strip.clear(); for (int i = 0; i < 12; i++) { // For each pixel... strip.setPixelColor(i, strip.Color(255, 0, 0)); strip.show(); } } else if (CMDID == 8) { strip.clear(); for (int i = 0; i < 12; i++) { // For each pixel... strip.setPixelColor(i, strip.Color(0, 255, 0)); strip.show(); } } } This script sets up the Beetle ESP32 C3 to control a Neo Pixel strip and changes the color based on voice commands received from the DFRobot Gravity sensor. Conclusion Integrating the DFRobot Gravity Voice Recognition Sensor with Neo Pixel lights controlled by a Beetle ESP32 C3 offers endless possibilities for creating interactive and responsive environments. Whether it’s for home automation, art installations, or educational purposes, this combination of technology brings both functionality and creativity to your projects. I hope this blog post inspires you to create your voice-controlled lighting system. If you have any questions or need further guidance, feel free to reach out!

    ElectronicSpices.com is india's largest Electronic component online store for selling electronic items at best price. We offer products from a wide range of categories, like resistors, capacitors, inductors, switches, and sockets. Sensors etc. Placing an order with us is simple and hassle-free.

  21. WANTED: Chicago transformer with a base mount and side terminals in working condition. 3500v test. Primary: 120 volts 50/60 Hz Secondary: 960 volts @ 313mA Apparent Power: 300 VA Dimensions: 6" x 6-1/2" x 7-1/4"H URGENT Please get in contact! We are ready to pay a $75 fee for finding this product (in stock) and its distributor.
  22. Coverage: Zigbee: Zigbee operates on a mesh network, allowing devices to relay signals to extend coverage throughout your home. It's particularly effective for larger homes with multiple floors and rooms. Z-Wave: Similar to Zigbee, Z-Wave also utilizes a mesh network for extended coverage. Both Zigbee and Z-Wave are suitable for multi-room and multi-floor setups. Wi-Fi: Wi-Fi offers excellent coverage but may experience interference in densely populated areas or larger homes with thick walls. Bluetooth: Bluetooth's coverage is typically limited to a single room, making it less ideal for expansive smart home setups. Energy Consumption: Zigbee: Zigbee devices are known for their low power consumption, leading to longer battery life for battery-operated devices. Z-Wave: Z-Wave devices also boast low power consumption, contributing to extended battery life. Wi-Fi: Wi-Fi devices tend to consume more power compared to Zigbee and Z-Wave, potentially leading to more frequent battery replacements. Bluetooth: Bluetooth Low Energy (BLE) is designed for energy efficiency, but battery life can still vary depending on device usage. Some smart home hubs support multiple wireless protocols, allowing you to integrate devices using different standards. This provides flexibility and compatibility but may require additional setup and configuration.The best wireless protocol for your smart home depends on your specific requirements, including coverage, energy efficiency, security, and future expansion plans. Consider factors such as the size of your home, the types of devices you plan to connect. Here is an example of a wifi-based home automation project. https://www.pcbway.com/project/shareproject/Alexa_Control_Smart_Home_Automation_Using_Arduino_Nano_ESP32_45d0b79a.html
  23. Lithium battery packs have revolutionized the way we power our devices, offering higher energy density, longer lifespan, and faster charging capabilities compared to traditional batteries. Understanding the intricacies of lithium batteries is crucial for maximizing their benefits while ensuring safety. In this comprehensive guide, we delve into the world of lithium battery packs, covering everything from their chemistry to disposal. Chemistry of Lithium Batteries Lithium batteries operate based on the movement of lithium ions between the positive and negative electrodes. This unique chemistry allows for high energy density and efficient energy storage. Types of Lithium Batteries There are several types of lithium batteries, including lithium-ion (Li-ion), lithium-polymer (LiPo), and lithium iron phosphate (LiFePO4). Each type has its own advantages and is tailored for specific applications. Advantages over Other Batteries Lithium batteries outperform traditional lead-acid and nickel-based batteries in several aspects, including higher energy density, lower self-discharge rate, and longer lifespan. They are also more lightweight, making them ideal for portable devices. Safety Considerations Overcharging Risks Overcharging lithium batteries can lead to thermal runaway, a potentially dangerous situation where the battery overheats and catches fire or explodes. Implementing proper charging protocols and using quality chargers is essential for preventing overcharging incidents. Thermal Runaway Thermal runaway occurs when the internal temperature of a lithium battery rises uncontrollably, leading to rapid degradation or catastrophic failure. Thermal management systems and temperature monitoring can help mitigate this risk. Safe Handling Practices To minimize the risk of accidents, it's crucial to handle lithium batteries with care. Avoid exposing them to extreme temperatures, puncturing or crushing them, and using damaged batteries. Follow manufacturer guidelines for safe usage and storage. Common Applications Consumer Electronics Lithium battery packs power a wide range of consumer electronics, including smartphones, laptops, cameras, and wearable devices. Their compact size and high energy density make them ideal for portable gadgets. Electric Vehicles The automotive industry has embraced lithium battery technology for electric vehicles (EVs) due to its superior energy efficiency and environmental benefits. Lithium batteries enable longer driving ranges and faster charging times, driving the transition towards sustainable transportation. Renewable Energy Storage Lithium battery packs play a crucial role in storing energy generated from renewable sources such as solar and wind power. They provide a reliable and efficient solution for grid stabilization and off-grid energy storage applications. Factors Affecting Performance Temperature Extreme temperatures can significantly impact the performance and lifespan of lithium batteries. Operating them within recommended temperature ranges and implementing thermal management systems is essential for optimal performance. Charge and Discharge Rates Lithium batteries perform best when charged and discharged at moderate rates. Rapid charging or discharging can degrade battery health and lead to reduced capacity over time. Cycle Life The number of charge-discharge cycles a Lithium-Ion Battery can undergo before reaching the end of its usable life varies depending on factors such as depth of discharge, operating conditions, and battery chemistry. Proper maintenance and usage practices can extend the battery's cycle life. Maintenance and Care Storage Guidelines When storing lithium batteries for an extended period, it's essential to store them at partial charge in a cool, dry place. Avoid fully charging or discharging the batteries before storage to prevent capacity loss and degradation. Usage Tips To maximize the lifespan of lithium batteries, avoid deep discharges and extreme temperatures during usage. Implementing regular maintenance routines, such as firmware updates for electronic devices, can also help optimize battery performance. Disposal and Recycling Environmental Impact Improper disposal of lithium batteries can have significant environmental consequences, as they contain toxic chemicals that can leach into the soil and water. Recycling lithium batteries helps minimize environmental pollution and conserves valuable resources. Recycling Processes Lithium battery recycling involves separating battery components, such as lithium, cobalt, and nickel, for reuse in new battery production or other industries. Advanced recycling technologies are continuously being developed to improve efficiency and minimize waste. Conclusion Lithium battery packs offer a compelling combination of high energy density, long lifespan, and fast charging capabilities, making them the preferred choice for powering modern devices and vehicles. By understanding the chemistry, safety considerations, and best practices for usage and disposal, consumers can harness the full potential of lithium batteries while minimizing risks to the environment and personal safety.
  24. The project looks really great. Here is another good ESPhome project https://www.pcbway.com/project/shareproject/homeThing_S3_2b3ac3ac.html HomeThing is a universal remote platform that works with any smart home. Now faster, with Voice Assistant, and easier to set up.
  25. Problems Description: When using the Forlinx RK3588 SoM and a homemade carrier board, the system enters MaskRom mode as soon as it's powered on. The difference between the Forlinx carrier board and the homemade carrier board lies in the value of the ground capacitors in Figure 1, where one is 10uF and the other is 100nF. Solutions: The MaskRom mode of OK3588-C can only be pulled low to GND by the BOOT _ SARADC _ IN0 when the CPU starts to detect. The OK3588-C development board enters MaskRom mode by tapping the BOOT _ SARADC _ IN0 to GND. As shown in the figure 1: This part of the circuit has a 100 nF capacitor C3 to ground. If this capacitor is replaced with a larger one, such as a 10 uF capacitor, it will cause the development board to enter MaskRom mode as soon as it is powered on. Figure 1 This is because capacitors have the property of blocking direct current while allowing alternating current to pass, and they also exhibit charging and discharging characteristics. When the power is turned on, the capacitor charges instantaneously, and the voltage across the capacitor cannot change abruptly. Initially, the voltage across the capacitor is zero while it charges, and then it rises exponentially according to a certain pattern until it reaches a steady state. Entering a steady state is equivalent to an open circuit. The charging process is shown in Figure 2. Figure 2 The charging and discharging time of a capacitor increases as its capacitance value increases. A 10uF capacitor has a longer charging time, and it enters a steady state slowly. When the OK3588-C SoM starts up, if the CPU detects that the signal level of the BOOT_SARADC_IN0 pin is within the low voltage range, it assumes that this pin is pulled to GND, thus entering MaskRom mode. The solution is to remove the 10uF capacitor or replace it with a 100nF capacitor.
  26. Greetings! I hope everyone is doing well. I am looking for the name of this electronic component if someone knew please reply and tell. It is located on the cold side part of the PCB inside my E-bike charger. Thank you in advanced!
  27. Pressure displacement analyzer is a professional instrument used to measure the deformation of materials under force. It can measure the pressure, strain, displacement and other mechanical parameters of the material, and analyze and process the parameters through the built-in software system and algorithm, so as to obtain the mechanical properties of the material. Pressure and displacement analyzer is widely used in material science, machinery manufacturing, construction engineering, aerospace and other fields. With the continuous progress of science and technology and the rapid development of industrial manufacturing, the requirements for the mechanical properties of materials in industrial production are also rising, so more accurate and reliable measuring instruments are needed to meet the demand. The emergence of stress-strain displacement analyzers fills the gap in material mechanics performance testing equipment, greatly enhancing the accuracy and efficiency of material testing. The characteristics of stress-strain displacement analyzers to be considered during use include: High-precision measurement: It can measure the displacement change of the object under the action of pressure with high precision to ensure the accuracy and reliability of the measurement results; High reliability: It can measure stably for a long time under extreme conditions, and is suitable for various complex environments and application scenarios; The operation is simple, and the complex measurement task can be realized through simple operation, so that the work efficiency is improved; Multi-functional: It can perform various functions such as automatic recording, data processing, result analysis, and report generation to meet the needs of different application scenarios; Intuitive display: Pressure displacement analyzers usually have LCD displays, which can intuitively display measurement results and parameters, making it easy for users to carry out real-time monitoring and data analysis; Convenient data processing: Measurement data can be stored in the internal memory or external devices, and support a variety of data format export, convenient for users to carry out later data processing and analysis. Forlinx Embedded recommends using FETMX8MM-C as the product implementation solution. In this solution, the main functions of the i.MX8MM-C SoM are: The human-machine interaction module displays real-time data transmitted from the MCU via MIPI, and performs drawing and data display; Data processing and storage is achieved through USB interface conversion to ULPI LINK for communication with the MCU end. Data is received and stored in TF cards or USB drives, then processed to output in a more concise and understandable form; Network transmission and remote control are facilitated through a Gigabit Ethernet port, allowing for remote monitoring of screens, network backups, and system parameter restoration. Advantages: Equipped with an ARM Cortex-A53 quad-core CPU running at 1.8GHz and paired with 2GB of DDR4 RAM, it offers high performance and computational power, providing a significant advantage in data processing; The compact size of only 56mm * 36mm meets the requirements of miniaturization and portability of equipment and reduces the size of products; Support 4-line mipi display, maximum 1.5g bps transmission, high-definition output image; Long supply cycle, join NXP product long-term supply plan, guarantee at least 10 years of supply period; The operating environment temperature ranges from -40°C to 85°C, meeting the requirements for industrial and general industrial applications. The above is the pressure displacement curve analysis solution provided by Forlinx Embedded based on the FETMX8MM-C SoM. We hope it can assist you in your selection process.
  28. Looking for an Assistant: Which wireless protocols are best for home automation? Hello, everyone! I am planning to upgrade my home to a smart home system, involving lighting, security, temperature control and other aspects. But there is some confusion when it comes to choosing the right wireless protocol, because there are so many choices on the market, and each seems to have its own advantages and limitations. Mainly considering Zigbee, Z-Wave, Wi-Fi and Bluetooth protocols as they seem to be the most popular on the market. Here are a few questions, hoping to get some advice from everyone: For a home system covering multiple rooms and floors, which wireless protocol is better at providing stable and wide coverage? Which protocol is more efficient when it comes to energy consumption management? Because I want to reduce the frequency of battery replacement as much as possible. Which protocol will be more secure in terms of compatibility and future expansion? If you have experience using multiple protocol integration solutions, can you share the pros and cons? If you have relevant experience or know some industry insights, please share your knowledge and advice. I'm really looking forward to getting some practical solutions out of this community. Thank you all so much for your time and help!
  29. HMI (Human-Machine Interface) is a medium for interaction and information exchange between systems and users. It is essential in fields involving human-machine communication and can be seen in many industries. As technology advances, HMI continues to evolve. In addition to data collection, control, and display, future HMI will incorporate new interactive forms to enable machines to operate more intelligently and interact more efficiently with humans. The increasing demand for more intelligent human-machine interactions also raises higher requirements for processors used in HMI applications. To assist engineers with terminal development requirements in selecting the main controller, in this article, the author will provide a detailed explanation of the three key elements that will influence the next generation of HMI. Smarter Interaction AI support will help the new generation of HMI achieve more powerful functions. For example, AI face recognition can be used to realize human access to devices, and AI gesture recognition can also be used to realize contactless control between people and devices. At the same time, it also allows the equipment to monitor and analyze the current system status more accurately. For example, in the medical field, intelligent HMI systems can allow doctors to interact with medical devices through gestures. Balance of Power Consumption And Performance AI function support puts forward higher requirements for the performance of processors, and the high integration and performance improvement of chips will inevitably increase power consumption and generate more heat. For devices with limited size to be able to adapt to a more diverse and complex environment, it is very important to have multiple power consumption mode options - the freedom to choose between high power consumption, low power consumption, and ultra-low power consumption modes. This not only allows performance to be properly optimized, but also helps to better control costs, achieving a balance between power consumption and performance. Enhanced Communication Capabilities The increase in real-time industrial communication protocols has also brought new challenges to the new generation of HMI applications. For example, the HMI applied in the smart factory not only needs to carry the task of exchanging information between people and equipment, but also needs to complete the function of communicating with other machines and equipments, which means that the HMI needs to have a stronger connection and control function. FET6254-C SoM launched by Forlinx Embedded not only meets the traditional HMI's human-computer interaction needs but also can realize the three key elements mentioned above, empowering the new generation of HMI. FET6254-C System on module is built on the TI Sitara™ AM6254 industrial-grade processor, featuring a quad-core Arm Cortex-A53 architecture with a maximum frequency of up to 1.4GHz. It enables edge AI capabilities, making the HMI smarter and more intelligent. During the development process, rigorous environmental temperature testing, pressure testing, and long-term stability testing were conducted to ensure that it can operate stably in harsh environments. Not only the performance is guaranteed, but also the power consumption can be very low. Through a simplified power architecture design, the AM62x processor exhibits extremely low power consumption performance, with power as low as 5mW in deep sleep mode. With a core voltage of 0.75V, the operating power can be kept below 1.5W, greatly reducing system power consumption. AM62x processor, as the next-generation MPU product in the TI Sitara™ product line, offers richer resource interfaces compared to the previous generation classic processor, the AM335x. It includes features such as 2 x Gigabit Ethernet with TSN support, 3 x CAN-FD, 9 x UART, 2 x USB 2.0, 2 x LVDS interfaces, RGB, camera, audio, and more. This enhances the product's scalability and flexibility for various applications. In addition to the advantages mentioned above, Forlinx Embedded has also ported a Chinese input method for the Linux system on the FET6254-C SoM. This makes it more convenient to invoke applications and helps users simplify their development workload. Moreover, the FET6254-C embedded board supports system burning via USB flash drive or TF card and can replace Uboot, Kernel, and device tree in the operating system, making it easy to achieve remote updates for products and helping users save on-site maintenance costs. The combination of stable quality and rich functionality allows Forlinx Embedded's FET6254-C core board to demonstrate unique advantages in next-generation HMI applications, empowering HMI across industries such as industrial control, power, transportation, and healthcare. This enables machines to operate more intelligently and interact more efficiently with humans. The above is the HMI solution recommendation based on the Forlinx Embedded FET6254-C SoM. We hope it can be helpful for your product design.
  1. Load more activity
  • Create New...