New Tech Tuesdays: Choosing Reliable Power Supply for High-Tech Applications

Submitted by Staff on

Join Rudy Ramos for a weekly look at all things interesting, new, and noteworthy for design engineers.

In today's digital era, power is essential for operating our technological infrastructure. Whether through AC or DC electricity, it sustains vital functions across homes, businesses, hospitals, educational institutions, and industrial manufacturing, ensuring seamless operation for all. Without power, technology as we know it ceases to operate, so securing reliable power sources is imperative for sustaining our progress and fostering innovation.

While all these power uses are essential, some are more critical than others. Certain business-critical applications demand the most reliable power sources. When it comes to the need for high-performance power supplies, the XP Power HPF3K0 AC-DC Power Supplies stand out. These power supplies are integral to demanding applications like medical imaging, semiconductor manufacturing, and advanced industrial equipment, where extreme precision, reliability, safety, and efficiency are paramount.

In this week’s New Tech Tuesday, we'll explore the features and benefits of the XP Power HPF3K0 series and why it's ideal for these advanced applications.

The Newest Products for Your Newest Designs

The XP Power HPF3K0 AC-DC Power Supplies series is packed with cutting-edge features that make it a top contender in the power supply market. The HPF3K0 series is designed to meet various high-tech industries' stringent and business-critical needs. The highly flexible, digitally controlled HPF3K0 series offers up to 3kW of power density from four variants with nominal single output voltages of 24, 36, 48, and 60VDC. Moreover, for applications requiring more power, up to five power supply units wired in parallel via a single wire bus may current share, providing up to 15kW of highly flexible power (Figure 1).

Upto 5 HPF3K0 Power Units Connected Together

Figure 1: Up to five power supply units can be paralleled simultaneously with current share accuracy ±3 percent of a single unit maximum current rating. (Source XP Power)

At the core of this versatile power solution lies a digital signal processing “engine” equipped with advanced control and monitoring capabilities. This enables dynamic adjustment of power configurations and performance, featuring constant current and constant voltage operation, variable overload characteristics, and alarm functions.

Medical Imaging Applications

The healthcare manufacturing sector requires stringent safety certifications. XP Power’s HPF3K0 power supply solutions meet these high standards to ensure patient safety and well-being, making them the preferred choice for precise and reliable power supply in medical imaging systems.

Medical imaging equipment, such as magnetic resonance imaging (MRI) and computed tomography (CT) scanners, demands precise power delivery to function accurately. The HPF3K0's stable output voltage ensures that imaging devices operate smoothly, providing clear and accurate results. Consistent power is crucial in medical diagnostics to avoid artifacts or errors in imaging, which can lead to misdiagnosis or the need for repeat scans.

The HPF3K0 series meets IEC60601-1 Ed. 3 standards with 2×MOPP (Means of Patient Protection) and is approved to EN55011/EN55032 for EMC Class B (conducted) and Class A (radiated), and EN61000-4-x for immunity. It also holds ITE IEC62368-1 Ed. 2 approval.

Semiconductor Manufacturing Applications

Semiconductor manufacturing is another industry where the HPF3K0 series shines. Its robust design and high efficiency make it perfect for powering complex semiconductor equipment and fabrication processes.

Semiconductor manufacturing involves processes that require stable and precise power. Power variation can lead to defects in semiconductor wafers, which can be costly and time-consuming. The HPF3K0 features the programmable constant current and constant voltage needed for equipment used in delicate semiconductor manufacturing processes, ensuring high-quality production (Figure 2).

Semiconductors

Figure 2: Semiconductor equipment manufacturers rely on stable process power to ensure precision, repeatability, and reliability in their equipment, thereby minimizing wafer defects and enhancing yield. (Source: xiaoliangge/stock.adobe.com)

The HPF3K0's user-defined digital controls and alarms help reduce downtime and improve overall productivity in semiconductor manufacturing plants. Its high efficiency contributes to lower energy costs and reduces environmental impact, aligning with the industry's goals for sustainable manufacturing.

Tuesday’s Takeaway

XP Power's HPF3K0 AC-DC Power Supplies series combines digital control and configurable functionality in a compact, high-efficiency, and robust design, perfect for demanding business-critical applications. Its digital architecture, scalability, high power density, and comprehensive medical safety approvals highlight its exceptional features, making it an ideal choice for medical, semiconductor manufacturing, and advanced industrial equipment applications.

Original Source:  Mouser

About the Author

Rudy is a member of the Technical Content Marketing team at Mouser Electronics, bringing 35+ years of expertise in advanced electromechanical systems, robotics, pneumatics, vacuum systems, high voltage, semiconductor manufacturing, military hardware, and project management. As a technology subject matter expert, Rudy supports global marketing efforts through his extensive product knowledge and by creating and editing technical content for Mouser's website. Rudy has authored technical articles appearing in engineering websites and holds a BS in Technical Management and an MBA with a concentration in Project Management. Prior to Mouser, Rudy worked for National Semiconductor and Texas Instruments.

Have any question realated to this Article?

Ask Our Community Members

How smart farming solutions are manufactured in India? | Mobitech Wireless Solutions | Tech Tour

Smart farming is revolutionizing the farming industry by incorporating technology into standard practices. Mobitech Wireless Solutions located in Tamil Nadu is leading this transformation by offering solutions that improve productivity and sustainability. In this article will delve into how Mobitech is reshaping the landscape of smart farming with its advanced products and technologies.

How to build AI and Machine Learning Projects Using Maxduino

In a previous article, we looked into the Maixduino Development kit and learned how to use it with the Arduino IDE. In this article, we will learn how to use Micropython in the Maixduino development kit. First, we will learn how to flash the Micropython firmware to the Maixduino and then how to set up Sipeed’s Maixpy IDE and use AI and Machine Learning with the board.

What is MaixPy?

MaixPy is a port of Micropython specifically for the K210 SoC. It not only supports generic MCU functions but also integrates hardware-accelerated AI machine vision and microphone array-related algorithms. Keep in mind that the Maixduino supports the MaixPy V1, but there is another version of MaixPy called MaixPy V4 which is for the newest Sipeed product called MaixCam and doesn’t support Maixduino. The main benefit of using MicroPython is that it is much easier and faster to do development. So let’s start with the basics and learn how to prepare the Maixduino board to use with MaixPy.

Installing the USB driver

As we know the Maixduino features two SoCs onboard a K210 AI SoC and an ESP32-Wroom Module. Since both of these doesn’t have any native USB support, the manufacturers used a USB to UART bridge for communication and firmware updates. Since we need two separate UARTs for the SoC, Sipeed chose a custom solution that uses a CH552 MCU with dual serial firmware. By doing this they were able to implement the communication between the computer and both of the onboard SoCs through a single USB port. Since they are using a custom solution, it is necessary to install any required drivers for it to be able to communicate with the computer.

In a Linux environment, we don’t need to install any drivers. The operating system will automatically detect the hardware and assign a generic driver that is already a part of the Linux system. All we need to do is note the port numbers. For that open the terminal window and type the following command ‘ls /dev/ttyUSB*’ and hit enter. A list of available USB devices and corresponding ports will be displayed. Note down the appropriate port number for further use. In Windows, it is necessary to install the specific driver. For that go to the USB driver download page, and download the driver file. There will be multiple files on the download page. The easier method would be to download the zip file with the setup in the name, extract it, and run the driver installer. It will automatically install the driver. Another way is to download the driver files from the download page and manually install the driver from the device manager. Once the driver is successfully installed and the MAxiduino is connected to the computer, open the device manager and expand the Ports (COM and LPT) section. You will find two comports that will be shown only when the Maxiduino is still connected to the PC. Note down the port number, by default the first port number will be for the K210 SoC and the second will be for the ESP32.

Installing the MaixPy firmware

So before coding, we must install the Maixpy firmware to the Maxiduino so that it will accept the micropython code and execute it. For the first make sure you have installed the driver as per the instruction above and note down the port number. In Linux and Mac OS execute ls /dev/ to see the port numbers and in Windows use the device manager. So to start with we need to download the precompiled firmware file. For that first go to the MaixPy firmware page. In there, select the latest version folder and in it, you will find multiple firmware files with either .bin or .kfpkg extensions. Use the following table to select the appropriate firmware for your application. Once selected download the firmware binary to your computer

File name

Remark

maixpy_*.bin

Normal firmware, with

* basic api

* kmodel V4 support

* no LVGL support

* NES emulator support

* AVI format video support

* IDE support

maixpy_*_minimum.bin

Minimal function firmware, with

* basic api

* only few OpenMV's APIs, some APIs like find_lines are not included

* only kmodel V3 support

* no LVGL support

* no NES emulator support

* no AVI format video support

* no IDE support

maixpy_*_minimum_with_kmodel_v4_support

Minimal function firmware with

* add kmodel v4 support

maixpy_*_openmv_kmodel_v4_with_ide_support

Minimal function firmware with

* add kmodel v4 support

* IDE support

maixpy_*_minimum_with_ide_support.bin

Minimal function firmware with

* IDE support

maixpy_*_with_lvgl.bin

Firmware with lvgl support, including

* basic api

* only kmodel V3 support

* LVGL support

* NES emulator support

* AVI format video support

* IDE support

maixpy_*_m5stickv.bin

Firmware especially for the M5StickV board, with functions the same as the normal firmware

maixpy_*_amigo*.bin

Firmware especially for the Amigo board, with functions the same as the normal firmware

Once the firmware file is downloaded, the next step is to download the firmware flashing utility. For flashing or upgrading the firmware we are going to use the kflash_gui, for that download it from the kflash_gui download page. Extract the firmware and run the kflash_gui application. For Windows, it is recommended to run it using “run as administrator”.

Once the app is opened select the previously downloaded firmware. As you may observe the address range will be automatically populated and you don’t need to change it. Select the proper COM port(by default the first COM port of the two that will appear when the board is connected.) and click on download the flash utility will flash the firmware to the board and once it's done the board will reset and the MaixPy splash screen will be displayed on the LCD display.

Installing the MaixPy IDE

The next step is to install the MaixPy IDE. For that go to the MaixPy IDE download page and download the appropriate binary for your operating system. For Windows run the installer as usual and follow the onscreen instructions. For Mac use the DMG file and install the application. For Linux use the following commands to give permission and to install the IDE.
chmod +x maixpy-ide-linux-x86_64-0.2.2.run
./maixpy-ide-linux-x86_64-0.2.2.run

Once installed open MaixPy IDE, and select the model of the development board in the Tool menu. And click on the connect button in the bottom left corner of the IDE window. It will automatically connect to the Maixduino board.

When opening the IDE for the first time it opens with a test code already in it. So to test the code just click on the Run button located below the Connect button as shown below. The code will be loaded into the Maixduino board and executed. The example code initializes the camera module and display and continues to display the video stream from the camera on the display. You can also see the video preview in the MaiixPy IDE.

To stop running the code click on the stop button(same as the run button). To upload the files to the board use the Send file option from the Tools menu.

Using the Maixduino With Serial Terminal

After flashing the MaixPy firmware we can also use the Maixduino through any serial terminal without the need of the IDE if needed. For this, we can use any serial terminal that we are comfortable with, for example in Windows we can use Putt, mobaxterm , xshell , or mpfshell-lite and in Linux we can use the pyserial. The MaixPy IDE itself has a built-in serial terminal and we can also use that too. Sipeed recommends mpfshell-lite and more details about how to use them can be found on the mpfshell-lite page. If we want to run a micropython script, open the serial terminal, press CTRLl+E and paste the following code

import sensor, lcd

sensor.reset()
sensor.set_pixformat(sensor.RGB565)
sensor.set_framesize(sensor.QVGA)
sensor.run(1)
sensor.skip_frames()

lcd.init(freq=15000000)

while(True):
    lcd.display(sensor.snapshot())

Press Ctrl+D on the keyboard to start running the code. In the code, you can see that we imported the necessary libraries for the camera and display using the import function. Later we initialised the camera and configured it. After that, we have initialised the display. Then using the while loop we display the live video feed from the camera on the TFT display.

Maixduino File System

The Maixduino has a total of 16MB of onboard storage and an SD card slot for external storage. The file system structure of the Maixduino is illustrated in the image below. 

The internal storage is divided into three parts: namely the MaixPy.bin firmware area, the xxx.kmodel model area, and the file system area. As the name suggests the MaixPy.bin area is for the MaixPy firmware storage and the xxx.kmodel area usually starts at 0x300000 and is used for the trained AI model. For the generic filesystem, the Maixduino uses SPIFFS. The SD card must be formatted with FATFS for the Maixduino to be able to access it. If the trained model is larger than the xx.kmodel area, we can also use the SD card to store it.

Managing the File System and Uploading the Code

As we know in micropython all the scripts are stored as .py files, to modify the scripts it is necessary to have filesystem access for creating, editing or deleting those files. So with Maixduino, we have multiple ways to do these file handlings. The first method includes using the Micropython Editor (pye) editor which is built into the MaixPy firmware. We can use the serial terminal for the Pye editor. You can use os.listdir()to view the files in the current directory and pye("hello.py")to create a file and enter edit mode. After editing the file you can press Ctrl+S to save, and Ctrl+Q quit editing. You can find more details about the Micropython editor on the Micropython editor GitHub repo.

The second method is for when we are using the MaixPy IDE. In the IDE we can choose to save the opened file as boot.py from the tool menu to save the content in the IDE windows as the boot.py file.

The third method is to use uPyLoader. The uPyLoader gives you an FTP client like user interface where you can add, remove or execute very easily.

If you face any error when trying to transfer the file for the first time use the Init transfer files from the file menu. 

Executing the Python Scripts

If you want to execute a Python script in the flash memory you can do that in various ways. The first way of course is through the serial terminal. For that first goto the directory where the file is stored using the os.chdir() command, for example, os.chdir("/flash"). Then you can execute the scripts using the import command, for example, import helloworld. This method is simple and easy to use, but it should be noted that the import command can only be used once. If we use the import command for the second time, the file will not be executed again.

Another way is to use the exec() function to execute. Here is a sample code snippet that shows the use of the exec() function.

with open("hello.py") as f:
    exec(f.read())

Another way is to run the program from the MaixPy IDE as we have mentioned before. But with this method, the program is only temporarily running, it will not be saved on the device. You can also execute codes using the uPyLoader. After connecting, select the file and click execute the button to execute the file.

Automatically Running the Code on StartUp

The system will create the boot.py file and main.py in the /flash or /sd (preferred) directory. When booting, it will automatically execute boot.py first, and then main.py (if the SD card is detected, the file in the SD card will be executed). Edit the contents of these two scripts to achieve self-starting. If you write an infinite loop (While True) program in boot.py, main.py will not be able to run. Conventionally, the boot.py is mainly used to configure hardware and only needs to be configured once and the main.py is used for running the main program. So edit those scripts according to your needs.

Board Configuration File

To make the programming much easier we can use the board configuration file. It is nothing but a board definition file with pin mapping for easier understanding. Even though it is not necessary it will help the programming much easier when using the GPIO and onboard peripherals. To use it all you need to do is to run the config_maix_duino.py script once. Which will create a config.json file within the flash and can be used later. Using it is much easier, just import the board_info parameter from the config file and you are good to go. Here is an example where we are turning on the red element of the onboard RGB LED, the pin connected to the red is defined as LED_R in the config file. We can directly use it without checking the schematics for the exact pin number.

from Maix import GPIO
from fpioa_manager import fm
from board import board_info
print(board_info.LED_R)
fm.register(board_info.LED_R, fm.fpioa.GPIO0, force=True)
led_r = GPIO(GPIO.GPIO0, GPIO.OUT)
led_r.value(0)

Similarly, all the pins are mapped in a more convenient manner and can easily be used in our code. To know the exact pin mapping you can either open the config_maix_duino.py or the config. You can also refer to the image below, where it shows the Arduino like pin map.

Maixduino MicroPython Bacis

Covering all the basics of Maxduino MicroPython would take multiple articles and nonetheless Sipeed has detailed documentation about that. You may refer the the Sipeed’s Maixduino Specific MaixPy basics documentation for more details about it.

Maixduino AI Neural Network Applications

As we know the main selling points of the K210 AI SoC that is used in the Maixduino are its AI capabilities including Convolutional Neural Network based machine vision and machine learning. So to understand the AI capabilities of the Maixduino board we will look at some AI examples using the pre-trained AI models Sipeed provides.

Face Detection Example

As the name suggests, in this example we will look at the face detection AI model that Sipeed provided. The model will find a face in a picture and frame it and it uses YOLO V2 to detect the faces. To use it make sure to flash the normal or default MaixPy firmware to the Maixduino as instructed in the MaixPy firmware installation section. The next step is to download the pre-trained AI model. For that go to Sipeed’s AI model download page and download the face_model_at_0x300000.kfpkg model file. Once the file is downloaded, download it to the Maixduino’s flash memory using the kflash_gui utility or put it in an SD card. Since reading from the flash memory is always faster than reading from the SD card, it is recommended to load the AI model file to the flash memory, as long as the model file size is within the limit. 

Once it's done we can move forward with the micropython script. You can load the AI model using task = kpu.load(0x300000). In this, the memory address is specified since the model is stored in the flash memory. If you are using the SD card to store the AI model, you can load the AI model into the script using task = kpu.load(0x300000). Then you can set the anchor points as anchor = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025). The anchor point parameter is consistent with the model parameter. For each model, this parameter is fixed and bound to the model (determined when the model is trained). It cannot be changed to other values. Later you can initialize the kpu network object using kpu.init_yolo2(task, 0.5, 0.3, 5, anchor). Since this model is used YOLO V2, we used init_yolo2 to initialize the model. This function has a total of five parameters. Those parameters are:

  • kpu_netKPU.load(): kpu network object, that is, the returned value of the loaded model object

  • threshold: Probability threshold. The result will be output only if the probability of this object is greater than this value. The value range is: [0, 1]

  • nms_value: box_iou threshold, in order to prevent the same object from being framed by multiple boxes, when two boxes are framed on the same object, if the ratio of the intersection area of ​​the two boxes to the total area occupied by the two boxes is less than this value, the box with the highest probability is selected.

  • anchor_num: The number of anchor points, fixed here as len(anchors)//2

  • anchor: As mentioned earlier this parameter is fixed and bound to the model

After the initialisation, you can input the image data and run the model as follows.

code = kpu.run_yolo2(task, img)

This will analyse the given image data and will give you the result. Here is a full example code in which the Maixduino will detect the face from the camera feed in real-time and creates a frame on the preview displayed in the LCD display.

import sensor, image, lcd, time
import KPU as kpu
import gc, sys

def lcd_show_except(e):
    import uio
    err_str = uio.StringIO()
    sys.print_exception(e, err_str)
    err_str = err_str.getvalue()
    img = image.Image(size=(224,224))
    img.draw_string(0, 10, err_str, scale=1, color=(0xff,0x00,0x00))
    lcd.display(img)

def main(model_addr=0x300000, lcd_rotation=0, sensor_hmirror=False, sensor_vflip=False):
    try:
        sensor.reset()
    except Exception as e:
        raise Exception("sensor reset fail, please check hardware connection, or hardware damaged! err: {}".format(e))
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.set_hmirror(sensor_hmirror)
    sensor.set_vflip(sensor_vflip)
    sensor.run(1)

    lcd.init(type=1)
    lcd.rotation(lcd_rotation)
    lcd.clear(lcd.WHITE)

    anchors = (1.889, 2.5245, 2.9465, 3.94056, 3.99987, 5.3658, 5.155437, 6.92275, 6.718375, 9.01025)
    try:
        task = None
        task = kpu.load(model_addr)
        kpu.init_yolo2(task, 0.5, 0.3, 5, anchors) # threshold:[0,1], nms_value: [0, 1]
        while(True):
            img = sensor.snapshot()
            t = time.ticks_ms()
            objects = kpu.run_yolo2(task, img)
            t = time.ticks_ms() - t
            if objects:
                for obj in objects:
                    img.draw_rectangle(obj.rect())
            img.draw_string(0, 200, "t:%dms" %(t), scale=2)
            lcd.display(img)
    except Exception as e:
        raise e
    finally:
        if not task is None:
            kpu.deinit(task)

if __name__ == "__main__":
    try:
        main( model_addr=0x300000, lcd_rotation=0, sensor_hmirror=False, sensor_vflip=False)
        # main(model_addr="/sd/m.kmodel")
    except Exception as e:
        sys.print_exception(e)
        lcd_show_except(e)
    finally:
        gc.collect()

After running this code you can see the result on the LCD display as shown below

 

You can download the python script for this example from our GitHub Repository. https://github.com/Circuit-Digest/Maixduino-AI-Projects/tree/main/Face%20Detection  

Object Classification Example

For this example, we need to load the minimal firmware to Maixduino since the model itself is a little bigger in size. This model can classify up to 1000 different objects, since the bigger model. After flashing the minimal firmware, download the mobilenet_0x300000.kfpkg model from the download page. Once the file is downloaded, download it to the Maixduino’s flash memory using the kflash_gui utility. Also, download the labels.txt file and save it to the file system. Since the minimum firmware does not support IDE, you can use uPyloader to download the file to the flash. We also need to reduce GC heap size. To do so just run the following script.

from Maix import utils
import machine

utils.gc_heap_size(256*1024)
machine.reset()

Once it's done we can move forward with the main micropython script. Use the following script.

import sensor, image, lcd, time
import KPU as kpu
import gc, sys

def main(labels = None, model_addr="/sd/m.kmodel", lcd_rotation=0, sensor_hmirror=False, sensor_vflip=False):
    gc.collect()

    sensor.reset()
    sensor.set_pixformat(sensor.RGB565)
    sensor.set_framesize(sensor.QVGA)
    sensor.set_windowing((224, 224))
    sensor.set_hmirror(sensor_hmirror)
    sensor.set_vflip(sensor_vflip)
    sensor.run(1)

    lcd.init(type=1)
    lcd.rotation(lcd_rotation)
    lcd.clear(lcd.WHITE)

    if not labels:
        raise Exception("no labels.txt")

    task = kpu.load(model_addr)

    try:
        while(True):
            img = sensor.snapshot()
            t = time.ticks_ms()
            fmap = kpu.forward(task, img)
            t = time.ticks_ms() - t
            plist=fmap[:]
            pmax=max(plist) 
            max_index=plist.index(pmax)
            img.draw_string(0,0, "%.2f\n%s" %(pmax, labels[max_index].strip()), scale=2, color=(255, 0, 0))
            img.draw_string(0, 200, "t:%dms" %(t), scale=2, color=(255, 0, 0))
            lcd.display(img)
    except Exception as e:
        sys.print_exception(e)
    finally:
        kpu.deinit(task)

if __name__ == "__main__":
    try:
        with open("labels.txt") as f:
            labels = f.readlines()
        main(labels=labels, model_addr=0x300000, lcd_rotation=0, sensor_hmirror=False, sensor_vflip=False)
        # main(labels=labels, model_addr="/sd/m.kmodel")
    except Exception as e:
        sys.print_exception(e)
    finally:
        gc.collect()

As you can see, at first we imported all the necessary modules, including sensor, image, LCD and time libraries. Along with that we have also imported the KPU neural network module, garbage collector and system modules. Later you can see the function called main is being declared. This function handles all the image processing and neural network procedures. When the script is run it will first read the labels.txt files is first read and the listed labels from the file is loaded into an identifier called labels. After that the main function is called with five arguments. The first argument points to the labels identifier while the second argument points to the model's memory location. The third argument is to set the display rotation and the fourth and fifth arguments are used to set the horizontal mirror and vertical flip of the camera image.
The main function initialises the camera, display and neural network modules using the provided arguments. After initialisation, the main function will get the image from the camera, run the object identifier model on it and if an object id detected it draws a frame around it and prints the corresponding label. The following line of code is used for object detection.

fmap = kpu.forward(task, img)
plist=fmap[:]
pmax=max(plist)
max_index=plist.index(pmax)

Once the object is detected the result is printed using the following line of code.

img = img.draw_string(0, 0, "%.2f : %s" %(pmax, labels[max_index].strip()), color=(255, 0, 0))
lcd.display(img, oft=(0,0))
print(fps)

As you can see the draw_string function is used to add the label to the image prior to displaying it on the screen. Here is the demonstration of the above script.

You can download the python script for this example from our GitHub Repository. https://github.com/Circuit-Digest/Maixduino-AI-Projects/tree/main/1000%20Object%20Detection 

What is MaixHub and how to use it?

Sipeed also has an online platform called Maixhub AI models and training. The Maixhub not only allows you to download pre-trained models but also gives you the option to train your own model. To use it go to the Maixhub page and register a new account, If you are already registered log in to the Maixhub platform.

If you click on the Models tab on the top of the page it will redirect you to the page where you can find a ton of pre-trained models to try out. If you want to use them you can open that particular model page and download it. Most of the models would also have the required instructions on the model page itself.

Training Your Own AI Model Using MaixHub

To train sour own AI model first go to the training page on MaixHub.Click on Create to create a new project. Give a project name and select the type, whether it's image classification or image detection. If you just need to identify objects, then select image classification. If you need to identify object categories and output the coordinates of the recognized objects, then choose image detection. It's recommended to train an image detection model first. Image detection training involves dataset annotation, so mastering image detection training means you also master image classification.

Once the project is created, the next step is to create a dataset. The created dataset can be reused for other projects if needed. Later select the dataset we have created and click confirm.

The next step is to collect training images. We can either upload images, import from datasets, import from device or copy from other datasets. And there is also an option for automatically generate annotated pictures from video.

Images uploaded to MaixHub can be annotated within. Select upload images or compressed packages and remember to click start upload.

Once the images are uploaded, we can move forward with annotation. Annotating in MaixHub is very easy. First, create labels, and then click on New button or press w on the keyboard to annotate. Click save or press s for saving the annotation. For annotating the next image either click on next or press d on the keyboard.

Once all the images are annotated, let’s move to the training. For that click on the Create Task from the left panel menu.

In the task creation page choose the nncase as model for k210, which is the main SoC in the Maixduino, then create a training task and wait for the task to complete.

After the model training is completed, click on deploy.In the deployment page choose manual deployment, and click on download to download the model file. The model file with the extension .kmodel will be downloaded to your computer. Use this model on your project.

Now as we gone through the process of using the Maixduino board for Ai projects with MaixPy enjoy creating new projects.

Have any question realated to this Article?

Ask Our Community Members

Brushed or Brushless DC Motor?

Submitted by uploader on

The broad world of DC motors has two basic categories: brushed and brushless. The brushed motor has been around since the 1830s (yes, that long!), and billions of them have been used successfully. However, the brushed motor also has many well-known drawbacks, including brush wear, electrical noise, and controllability issues. Despite these shortcomings, brushed motors have served us well for over 100 years and, for quite some time, were the only DC-powered motor option in many cases.

Several decades ago, the motor situation changed. This was a result of the brushless DC (BLDC) motor, which rose to prominence as electronic commutation was rising in popularity. This popularity was mainly due to two developments: high-energy permanent magnets and low-cost, efficient power-switch devices (MOSFETs and IGBTs) for their coils.

Many larger applications that previously used brushed motors transitioned to brushless designs or variable AC drives (a relative of brushless motors), while smaller motors often shifted to the stepper-motor approach (a close counterpart). Brushed motors appeared to be suitable only for low-cost, low-end, non-critical applications, such as disposable toys, window displays, and similar scenarios where high performance and reliability were not priorities.

Nevertheless, both motor types remain relevant depending on the application, and selecting the right motor size and type can be a challenge. This blog explores the nuanced decision-making process faced when choosing between brushed and brushless DC motors for various applications, considering factors like efficiency, control, and application-specific requirements.

Brushed vs. Brushless Motor Basics

What’s the difference between BLDC and brushed motor arrangements? As seen in the left diagram of Figure 1, the brushed DC motor relies on mechanical commutation to switch the polarity of the magnetic field between the rotor—also known as the armature—and the stator. The stator’s magnetic field is generated by either permanent magnets or electromagnetic coils.

The source current passes through coil windings on the armature. The interaction and constant reversal of the magnetic field between rotor coils and stator induces rotary motion. The commutation action, which reverses the field, is done using physical contacts that are called brushes. These brushes touch contacts on the rotor and bring power to the rotor coils.

The brushed motor can operate directly from the DC rails without any intervening driver or control electronics. This makes it suitable for basic, low-cost, non-critical applications such as simple toys or animated window displays.

In contrast, the brushless motor features an array of electromagnetic coils, called poles, that are fixed around the interior of the housing, with high-strength permanent magnets attached to the rotating shaft (the rotor), as shown in the right diagram of Figure 1. As the poles are energized in sequence by the required control electronics, a process known as electronic commutation (EC), the magnetic field surrounding the rotor rotates and attracts or repels the rotor, which is compelled to follow the field.

 

Brushed DC vs Brushless DC Motor

Figure 1: A brushed DC motor uses mechanical contacts to implement the commutation and alternating of the magnetic field (left). In contrast, the brushless DC motor design uses electronic commutation and has no wear-prone or EMI-generating moving contacts (right). (Source: Mouser Electronics)

While the current driving the poles can be a square wave, this approach is inefficient and induces vibration, so most designs use a ramping or curved waveform tailored for the desired combination of electrical efficiency and motion precision. Additionally, the controller can fine-tune the energizing waveform for quick yet smooth starts and stops without overshoot, ensuring a sharp response to mechanical load transients. There is a direct and visible relationship between the construction and operation of brushed motors. In fact, brushed motors are so straightforward that they are offered as STEM-focused kits in educational settings (Figure 2).

 

Classic Brushed DC Motor

Figure 2: A classic brushed DC motor serves as a good teaching and demonstration fixture for electricity, magnetism, and motion basics. (Source: HENADZY/stock.adobe.com)

The Designer’s Tendency

Today’s reality is that when a designer needs a small motor with sub-fractional horsepower for a project, the natural instinct is usually to look at the wide range of standard brushless DC (BLDC) motors first and maybe, just maybe, also consider the brushed motor.

This approach makes sense for several reasons. For one, BLDC motors are easy to drive with modern controller ICs or embedded firmware. Moreover, matching the motor with necessary MOSFET drivers between the processor and motor poles is relatively simple. Lastly, they are reliable and generate minimal EMI due to the absence of sliding-contact brushes.

Therefore, in most cases, when a new product needs a DC motor, the designer’s natural inclination is to think brushless in many cases. However, that would be short-sighted. The reality is that brushed motors are still very viable and have their place in sophisticated designs as well.

Remaining Open-minded

When selecting a DC motor, engineers typically prefer the BDLC motor for most new designs because it has such an attractive combination of benefits and few drawbacks compared to the brushed motor. Designers can choose among many different ratings for voltage, current, torque, and more, while they can also select the needed hardware drivers and control algorithms—in software or embedded in firmware. In addition to basic motor-selection guides, vendors offer application software packages with graphical user interfaces (GUIs), making it easy to set the desired performance attributes such as speed, acceleration/deceleration profiles, and responsiveness.

In contrast, the brushed motor is more difficult to control with precision, and algorithms can only do so much and to a more limited extent. To improve performance, some brushed motor system designs add a rotary-position feedback sensor, such as optical, Hall effect, capacitive, or magnetic. However, this approach adds to the design cost, has mechanical-mounting issues, and increases control complexity. In fairness, while many BLDC installations do not need such a feedback sensor, it is also added in some cases to allow tight closed-loop feedback and more consistent performance.

Still, brushed motors are used for various designs ranging from legacy applications to sophisticated systems, such as automotive functions with well-defined velocity and torque requirements. Many vendors offer driver ICs for BLDC motors and variants suitable for brushed motors. Some vendors even provide automotive-specific, AEC-Q100-qualified brushed motor drivers for that demanding application, which is evidence of their continued viability.

Conclusion

Despite conventional engineering wisdom, brushless is always better for serious applications. In contrast, brushed may be suitable for less critical ones, but the choice between the brushed and brushless DC motor is not necessarily simple. A conscientious engineer will rank project priorities and their relative weight and give a fair look at the various alternatives before deciding which is best in a specific situation.

Have any question realated to this Article?

Ask Our Community Members

Chip Turmoil in US: Ambitious USD 30 Billion Semiconductor Investment Struggles to Show Impact

Submitted by Jerry on

In May 2020, Industry leaders Huang Renxun, Su Zifeng, Tim Cook, Wei Zhejiang, Liu Deyin, and Morris Chang came together in Phoenix, Arizona, to commemorate the opening of TSMC's first plant in the United States. This was considered a crucial event. It was an important turning point in the revival of the US semiconductor manufacturing sector. The world's leading chip manufacturers, TSMC, Intel, and Samsung, were all on board thanks to government subsidies under the CHIPS and Science Act. However, even after four years, the grand vision has yet to materialize.

The United States invested USD 30 billion in the semiconductor sector to restore its industrial glory. However, the effort has encountered significant obstacles rather than a victorious resurgence. Many of the large-scale production projects by TSMC, Intel, and Samsung have been delayed or shelved due to serious difficulties. Approximately 40 percent of these major projects are still inactive. It is now unclear what will happen to the CHIPS Act, which was supposed to be the catalyst for this revival. Deteriorating market conditions intensify the uncertainty, and subsidy regulations are still unclear. As election season draws near, the act's future is in jeopardy and highly vulnerable to unexpected shifts in the political landscape.

The CHIPS Act: High Hopes, Harsh Realities

The CHIPS Act was hailed as a game-changer, promising to bring back America's dominance in semiconductor manufacturing. Leaders in process technology, including Intel, Samsung, and TSMC, received significant subsidies. However, they encountered similar obstacles. Not only did they fail to produce a single chip, but their plans to construct new factories also took longer than anticipated. 

TSMC, for instance, has faced several setbacks. Their Arizona plant, originally set to begin mass production in 2024, is now projected to start in the first half of 2025. The opening of the second wafer facility, initially planned for 2026, has been rescheduled for 2028. There is still uncertainty surrounding the third factory, which was expected to utilize 2nm or more advanced process technologies.

TSMC's Setbacks: What Went Wrong?

The plan seemed simple: build factories, hire local talent, and boost production. But reality has a way of shaking things up. Several factors have contributed to TSMC's challenges in the United States. Firstly, work culture. The company has faced difficulty in hiring local American workers. The American workers find TSMC's working practices unpleasant and harsh. On the other hand, there have been reports of cultural miscommunication, where American workers may have mistreated their Taiwanese colleagues, further complicating the work environment.

These issues have sparked a debate about whether TSMC's U.S. expansion is sustainable in the long run. A significant portion of Taiwanese netizens has expressed concerns, with one even commenting, “Stop forcing TSMC to build factories overseas. The conditions are different. It’s like throwing money into the water or burning it on subsidies?”

Intel and Samsung: Navigating Their Own Set of Challenges

TSMC is not the only company facing challenges. Intel has also encountered delays. Their USD 20 billion Ohio project, which was originally expected to start chip production in 2025, has now been pushed back to 2027-2028. Intel's issues stem from a combination of market constraints and slow government investment in the United States. The root cause of Intel's challenges can be attributed to a combination of market limitations and sluggish government investment in the United States.

Samsung, another semiconductor giant, has faced similar challenges. They have secured a USD 6.4 billion grant from the US and will commence construction of their first wafer fab at the Taylor facility in Texas in 2022. This USD 17 billion project was originally planned to be completed by 2024, with a 4nm process production capability.

Tech Giants Face Challenges in US

The Broader Impact: A Ripple Effect Across Industries

The semiconductor industry isn’t the only sector facing challenges in the U.S. Clean energy technology projects have also been slow to progress. The Chips and Science Act (CHIPS) and the Inflation Reduction Act (IRA), both introduced by U.S. President Joe Biden in August 2022, have not achieved the anticipated success in improving the semiconductor industry in the U.S. In the first year of implementing these measures, a total of 114 projects costing over USD 100 million were announced, with a combined investment totaling USD 227.9 billion.

For example, LG Energy Solutions’ USD 2.3 billion battery energy storage facility in Arizona and Albemarle’s USD 1.3 billion lithium refinery in South Carolina have been shelved. Even the battery component manufacturer Anovion’s $800 million factory in Georgia has faced delays.

In the semiconductor industry, other projects have also been put on hold. U.S. semiconductor manufacturer Pallidus had plans to move its headquarters from New York to South Carolina and open a production line there with a total investment of USD 443 million. The new plant was supposed to be operational by the third quarter of last year, but it has remained idle ever since. Integra Technologies, another U.S. semiconductor company, announced plans last year to invest USD 1.8 billion in building a semiconductor factory in Bel Aire, Kansas. However, uncertainty around government funding has stalled the project.

CHIPS Act Funding in Limbo: What’s Next for U.S. Semiconductor Projects?

As of July 30, 2024, the CHIPS Act Program Office has announced grants and loans totaling over USD 30 billion and over USD 25 billion respectively, according to a report by the Semiconductor Industry Association (SIA). These subsidies have been granted to 14 companies, with the majority going to the five major foundries: Intel, GlobalFoundries, TSMC, Samsung, and Micron. However, the funds have not been distributed yet, despite the announcements. The U.S. Department of Commerce aims to distribute all USD 39 billion in direct incentive grants from the CHIPS Act by the end of 2024. 

The projects, which are expected to exceed USD 284 billion, will have different completion times, with some scheduled for completion by 2025. Other fabs may take anywhere between two to seven years to finish. The SIA suggests that while the CHIPS Act funding could influence the development of some fab sites, it is unlikely to have a significant impact in 2024. Nonetheless, it may lead to increased capital expenditures in 2025.

An Uncertain Political Landscape

In the United States, industries are facing an uncertain future. The political situation is particularly volatile, especially with the upcoming U.S. elections. During his campaign rallies, former President Donald Trump has repeatedly threatened to “repeal the IRA bill on the first day of taking office.” Should Trump return to power, the fate of the IRA and CHIPS Acts could be at risk.

Moreover, unclear subsidy regulations, a declining market environment, and reduced demand have compelled companies to reconsider their strategies. Even with subsidies, the challenges of constructing factories, hiring staff, and sustaining investment remain formidable. President Biden’s policies have sparked numerous inquiries. These policies are designed to generate jobs and economic benefits in the U.S. through industrial transformation.

Conclusion

The U.S. semiconductor industry, along with other tech sectors, is navigating a challenging landscape. Despite significant investments and ambitious plans, the road to success is blurred by delays, cultural clashes, and political uncertainties. The next few years will be crucial in determining whether the U.S. can overcome these hurdles and reclaim its position as a leader in semiconductor manufacturing. For now, the manufacturing environment remains in a state of flux, with no clear answers in sight. But one thing is certain: the journey will continue, with all its twists and turns.

Have any question realated to this Article?

Ask Our Community Members

Number Plate Recognition API for Low-Power Embedded SoC Boards

Today, we are going to take a look at another Circuit Digest cloud API that can perform number plate recognition. Using this Number Plate Recognition API, we can now recognize vehicle license number plates with ease. So, in this article, we will learn about this new Number Plate Recognition API.

Number Plate Recognition API

The Number Plate Recognition API is easy to understand and simple to integrate into various projects. It eliminates the need for complex image processing and machine learning on the user’s end, making it accessible even for microcontrollers with low processing power. By simply capturing an image and sending it to the cloud, the API handles all the backend processing and returns the recognized text. This simplicity allows developers to focus on building their application without worrying about the complicated details of OCR technology. Whether for vehicle identification, security, or automation, this API offers a quick and efficient solution for number plate recognition tasks.

Disclaimer: At the time of writing this article our cloud platform is functional but yet to have some cosmetic updates. We intend to build it with time and add more functionalities

Authentication and Authorization

To use this free Number Plate Recognition API or Any other API Available on circuitdigest.cloud you need to have the API Key. So, let's first Create the API KEY.

Logging in to the Circuit Digest Cloud

Process of Signing into Circuit Digest Cloud Account

Step 1: Visit the Circuit Digest Cloud Home Page. Click the "Login" button located at the top right corner to be redirected to the login page.

Step 2: If you already have an account, log in using your existing credentials. If not, go to the registration page to create an account by filling in the required details. Once completed, click "Register Now" to sign up.

Step 3: After registering, use your email ID and password to log in on the login page.

Generating the API Key

Process of Generating API Key

Step 4: Once logged in, click on "My Account" at the top right corner.

Step 5: You will be directed to a page where you can generate your API Key. Enter the captcha text in the provided box, then click the "Submit" button.

Step 6: If the captcha is correct, you'll see a table displaying your API Key along with its expiration date and usage count. Currently, there is a limit of 50 uses per key. Once you reach this limit, you can generate another key, giving you an additional 50 uses. This usage limit is in place to prevent server overload.

Number Plate Recognition API Details

The API can be easily used with Arduino code snippets to capture a Number Plate image and send it to the server using API for processing. The Server recognizes the Number Plate and returns a response in JSON format. 

Server Name: www.circuitdigest.cloud
Server Path: /readnumberplate
Server Port: 443
Method: POST
Authorization: Authorization: apikey (replace apikey with actual API key)
Content-Type: multipart/form-data; boundary=CircuitDigest
Request Body: The captured image data sent as JPEG file. Filename of image should be same as API key

Response: The server API should return a JSON response containing the decoded information from the Number Plate.

Note: Sample Arduino code for ESP32-CAM and other development boards can be found at the bottom of this page. 

Server API Response

Below is a sample response from the Server API. The top section displays two images: the left image is the raw photo captured by the ESP32-CAM, and the right image shows the result after the recognition process. The bottom section presents the data returned by the API call.

Server API Response

In the image, under the JSON Response, you can find the result in the “number_plate” field, which is “TN 16D1129”.

If you wish to view the uploaded image, you can access it via the link provided in the “view_image” object in the JSON string.

Image Loaded in the JSON Response String

The image above clearly shows the image loaded in the browser using the link from the JSON response string. This link acts as a static storage location, so no matter how many times you upload data, only the most recent data will be stored on the server, and the view link will remain unchanged.

Please note that the recognition process is done for only one number plate at a time. If multiple number plates are present, a random one will be selected for recognition. Additionally, the image should not be completely upside down; a slight tilt is acceptable. Refer to the image below for better understanding.

Valid and Invalid Data Inputs

With all these considerations, please do not judge the API harshly, as it will continue to improve over time. If you have any queries or comments, leave them below. We will respond as soon as possible.

Code Examples

The API has been tested with the ESP32-CAM but can be used with any development boards capable of taking an image and sending it to a web server. We will provide links to all the tutorials using this API, complete with code and circuit diagrams, as usual.

Create and Share:

We hope this will be useful for quickly testing and deploying your ideas. If you build something using the API, please share it with us, and we will mention your work on this page. Happy building!

Have any question realated to this Article?

Ask Our Community Members

30+ Arduino Project Ideas for Beginners with Code and Circuit Diagram

If you're just starting out with Arduino, you might be wondering what projects you can take on to practice your skills. Don’t worry we got you covered. We have created this massive list of 37 beginner friendly Arduino projects for you. This guide offers over 30 beginner-friendly project ideas, complete with code and circuit diagrams, to help you get started. Whether you're interested in home automation, robotics, or simple iot projects, there's something here to spark your creativity and help you learn the Arduino environment. From simple motion sensor projects to more complex systems like automated plant waterers or remote-controlled robots, you’ll find plenty of inspiration here. Each project is designed to build your confidence and expand your understanding of how Arduino works. So, grab your Arduino, pick a project that excites you, and dive in—there’s no better way to start mastering the world of electronics!

1. Digital Thermometer

Digital Thermometer

In our daily lives, we use thermometers on various occasions and for various purposes, from medical needs to repair and diagnostic purposes. As you know there are different types of thermometers, and one main classification would be based on how they operate. Some would need to be in contact with the subject to read the temperature. The main issue with these types is that if the contact is it proper the readings would also be inaccurate. Not only that these types of devices are impractical to use during pandemics like COVID. That's where the contactless thermometers come in handy. They offer good accuracy without any of the drawbacks of other types of thermometers. These types of thermometers use infrared sensors to measure infrared radiation from a hot body to accurately calculate the temperature. So, in this project, we will explain how we can make such a non-contact infrared thermometer using an MLX90614 sensor And an Arduino.

2. Automatic Irrigation System

Automatic Irrigation System

We all like a bit of greenery around, whether it's indoor plants or a garden. They always help us to keep us calm and relaxed. Even though they are low maintenance compared to pets, they need periodic care to keep them alive and fresh. The main concern for plants is soil moisture. It should be at a specific level to keep the plants healthy. Both over watering as well as not watering enough can affect the plant's health. In such situations, we use automatic watering systems to keep the soil moisture at a required level. But the problem is that the commercial solutions are expensive and are not that affordable. That’s why, in this project, we are going to make an automatic irrigation system using an Arduino and a few other cheap and easy-to-find components. We will use a soil moisture sensor to detect the moisture level and then activate a water pump as needed to keep the mixture at the desired level. 

3. Voice Controlled Home Automation 

Voice Controlled Home Automation

We all know how convenient is to use home automation and voice assistant systems such as Google Home, Apple HomeKit or Amazon Echo. They all offer a convenient and easy way to control our devices using smart devices or voice. But the problem is that they are not that cheap and moreover there can be privacy concerns regarding the data they collect. So, to address these problems we will make an inexpensive voice-controlled home automation system using easy to find components such as Arduino Nano, HC-05 Bluetooth module and relay driver board. The project utilizes an Android App that will convert our voice commands to text and then send it to the Arduino using Bluetooth. Depending on the command received the Arduino will control the connected appliances.  

4. Obstacle Avoiding Robot

Obstacle Avoiding Robot

There are plenty of autonomous devices we come across in our daily lives, from autonomous vacuum cleaners to self-driving cars. One major feature of all these kinds of devices is that they are capable of detecting obstacles and objects around them and acting accordingly to avoid crashes or accidents. In this project, we will build such an obstacle-avoiding robot to learn the basics of how they work and how to improve them. Even though there are multiple methods to detect obstacles, we would be using an ultrasonic sensor-based approach they are cheap and easy to work with. In addition to the wheel driving DC motor, we are also using an additional Servo motor to change the ultrasonic sensor direction to make it easier to calculate the optimal driving manoeuvre.

5. Human Following Robot

Human Following Robot

We have seen many types of autonomous robots including obstacle avoiding robots and line following robots. With this project we are going with a different approach and will build a human following robot. The basic working principle behind it is very simple and somewhat similar to an obstacle avoiding robot. But instead of changing direction when an object is detected, this robot will detect the movements and will follow the object. For detecting the object and movement we will use ultrasonic sensors. Unlike traditional designs, which use a single sensor and a servo motor to move the sensor around, we will use multiple sensors. These multiple sensors will be oriented at different angles. Using this method not only we can avoid the use of any moving parts for the sensor, but also the processing would be much faster since all of the sensors can be accessed at all times.   

6. Line Following Robot

Line Following Robot

The line follower robot is a very interesting, easy to make autonomous robot. As the name suggests the line follower robot will follow the line drawn on any surface. To build this project we will use an Arduino UNO with a pair of IR sensors and a motor driver. The IR sensors will be placed in front of the robot on each side. The IR sensor contains an IR LED and an IR diode. The IR LED is illuminated always. The infrared light from the LED will be bounced back from any object that will reach the IR diode. Depending on the color of the object or surface the amount of infrared light reflected will be different. This difference is then used to identify the color of the surface. Using this we will determine if the robot crosses or moves away from the line. Since we are using two sensors, we can compare the reading from both sensors to determine to which direction the robot should be steered. Using this algorithm the robot will follow the line. 

7. RFID Door Lock

RFID Door Lock

RFID tags are everywhere. From product labels to secure access cards. We have been using them for asset tracking, pet tracking, door locks for hotels and offices and many other applications. The advantages of an RFID system include the tags or cards don’t need any internal power source, they are fast, convenient and mostly secure. Why do we need to use a traditional key, which would take a fair amount of time and effort to lock and unlock, when the RFID door lock can do that within a fraction of a second by just placing the card near it? So, in this project, we will create such an RFID door lock using an Arduino UNO, an RC-522 RFID reader and a solenoid lock. A hall effect sensor is also used to detect whether the door is locked or not.   

8. Smart Blind Stick

Smart Blind Stick

As we know it is hard for visually impaired people to navigate. They have to rely on their hearing and touch to navigate. But even with that, it would be harder to do so, especially in a busy street and other such places. We can help them overcome this difficulty using technology. For that, we will create a smart blind stick. This Smart stick will have an Ultrasonic sensor to sense distance from any obstacle, LDR to sense lighting conditions and an RF remote using which the blind man could remotely locate his stick. All the feedback will be given to the blind man in an audible form through a Buzzer. The buzzer can also be replaced with a vibration motor to get the haptic feedback. 

9. Automatic Roller Blinds

Automatic Roller Blinds

Nowadays most of our household devices are smart devices. how about automating our devices, so that they will operate automatically at a predefined time? You might remember the opening scene of the ironman Movie where the JARVIS AI opens up the curtains and greets Tony Stark. So, in this project, we are going to build an automated motorized blind controller. The main benefit is that this can be used with our existing roller blinds, and we don’t need to buy any special blinds for this project. To get started we have designed a few 3D printed parts, which include a window blind gear and a motor mount. The brain of this project is a NodeMCU development board. A tiny stepper motor is controlled using the NdeMCU at a certain interval to open and close the blinds. One other intriguing feature is that it can also be controlled using voice commands using IFTTT. 

10. Bluetooth Car

Bluetooth Car

When we were kids, most of us would have been intrigued by remote-controlled toys. Even if we didn’t understand how they worked we were always eager to know the secret and make our own version of that. In this project, we will make such a remote-controlled toy:  a Bluetooth controlled car to be exact. The project is fairly simple to make, and all the components are cheap and easy to find. The brain of the project is an Arduino UNO development board and for Bluetooth connectivity, we have used the HC-05 Bluetooth module. Four BO motors were used to drive the tyres and an L298N DC motor driver was used to control the motors. In addition to that we have also added a few programmable RGB LEDs to the circuit to make it a bit more visually appealing. The chassis and the body of the car are made from perf boards. The car can be fully controlled using a mobile app. Through the app, we can control the movement, speed and all the lights on the car.

11. Smart Prepaid Energy Meter

Smart Prepaid Energy Meter

Have you ever thought about using electricity to recharge, just like our mobile phone? You might wonder why we need such a system when we already have a billing system. The main issue with the current billing system is that we don’t have any control over it. We don’t know if we are overusing it. But with this smart prepaid energy meter, we will have full control we will know when we are over a certain usage limit, and by knowing this we can monitor and control our energy usage as per our budget. One other advantage of this project is that we are using an exciting energy meter and interfacing it with an Arduino. By doing this we can ensure that the readings are accurate since the existing commercial meter is calibrated and certified but authorised agencies. The Arduino board interfaced with the analog energy meter using the calibration LED on the meter. The Arduino will count the calibration LED pulses to calculate the energy usage. A GSM module is also integrated with the Arduino to make remote recharge possible. Recharge can be done by sending an SMS. An LCD display is also provided to display the energy usage and remaining balance information. 

12. Heartrate Monitor

Heartrate Monitor

In This heartbeat monitor project, we will learn how to interface a heartbeat sensor with an Arduino board. The construction of the heartbeat sensor is fairly simple. The module contains an LED, an APDS9008 photodetector sensor, an opamp and a few complimentary components. When the LED is illuminated the light penetrates the skin and the blood vessels. The photodetector measures the amount of light that is absorbed or reflected back. As the blood vessels expand and contract with each heartbeat, the amount of light absorbed or reflected changes, allowing the sensor to calculate the heart rate. Using an Arduino, we will read this value and then display it in an OLED display. 

13. Smart Dustbin

Smart Dustbin

Properly classification and disposal of waste is a very important step in saving the environment. But one problem with using dustbins, especially the public ones is that people are always hesitant to open them because of are afraid that they might be contaminated or because disgusted to do so. Because of this people may even through the waste around without properly disposing it in a dustbin. To solve this issue, we have created our innovative smart dustbin. The smart dust bin is created using an Arduino Uno development board, an ultrasonic sensor and two servo motors. Whenever the ultrasonic sensor detects a movement within a certain set distance the Arduino will drive the servo motors, and the servo motors will open the dustbin cover that is directly attached to them. Once the waste is disposed into the dustbin and there is no movement the Arduino will then close the dustbin cover after a certain time. By using this smart dustbin, we don’t need to get our hands dirty every time we need to dispose of something into it. 

14. Digital Dice using Arduino

Digital Dice

We all are familiar with classic board games such as the LUDO or the Snak and Ladder. We enjoyed playing them while we were kids. One thing common with these games is that we use dice to get a random value to play the games. One problem with traditional dice is that some may get paranoid that the other players can manipulate the dice by controlling how it is thrown. To avoid this, we use countermeasures such as a cup to shake the dice instead of using the hands. So, to avoid this why don’t we create something that can't be physically influenced? For that, we can create a digital dice, which will return a random number and display it on a seven-segment display. To build such a digital dice all we need is an Arduino development board, a seven-segment display, a pair of tactile switches and a few other passive components. When the button is pressed the Arduino will generate a random number and will display it on the seven segments. 

15. Fingerprint Attendance System

Biometric Attendance System

Attendance is very important in offices and educational institutions. There are many ways to mark attendance, from manual roll calling to advanced biometric or RFID-based systems. With this project, we will make a simple and easy to make attendance system using Arduino and a fingerprint sensor. For this, we are using an R305 fingerprint sensor. The R305 is an optical fingerprint sensor with the capability to store up to 512 fingerprint templates. The fingerprint sensor is interfaced with the Arduino using the UART protocol. The project also includes an LCD display for the user interface and a few tactile switches for user inputs. The project also includes an RTC module for accurate timekeeping. 

16. AC Light Dimmer Using TRIAC

AC Light Dimmer

Controlling an AC appliance is very simple, all we need is a relay and some kind of microcontroller, right? It is simple if you only need to turn it on and off. What about a bit more control over them? For example, adjusting the brightness of a bulb or the speed of a fan. For that, we need another technique called phase angle control. So, in this project, we will learn about an AC lamp dimmer using Arduino and TRIAC. Here a TRIAC is used to switch the AC lamp, but you can also use this for any other inductive or resistive loads. We will also learn about zero crossing detection, its importance and how to implement it.

17. Air Quality Monitoring

Air Quality Monitor

Air pollution is a major concern that adversely affects the environment, public health, and overall quality of life. It is a result of harmful substances being released into the atmosphere, including carbon monoxide, sulfur dioxide, nitrogen oxides, and volatile organic compounds. Air pollution around us can lead to respiratory diseases, cardiovascular problems, and other serious health conditions. This air quality monitor project is aimed at providing real-time insights into the air quality around us. This air quality monitor is built around an Arduino UNO featuring an MQ135 air quality sensor, a DHT11 temperature and humidity sensor and an OLED display to display all the information to the user. 

18. Wireless Doorbell Arduino

Wireless Doorbell

We are all familiar with wired doorbell systems. it is very essential for someone outside our door to call us. Even though they work, they have numerous disadvantages. Major advantages include they need to be installed by professionals to work properly, doorbell switches are normally connected to mains voltage and damages to the switch may result in electrocution and since the switch is normally situated outside humidity and water can also cause electrical leakage. Another issue with it is that it requires more work and time to install a wired doorbell system in an existing home. To overcome these issues, we are going to build a wireless doorbell. Since all of the parts are low-voltage components we can power them using batteries so that there is no risk involving the mains voltage. Not only that since it is wireless we don’t need to do any extensive wiring, and if powered with batteries they can act as a standalone unit without any wires or cables sticking out. 

19. Digital Alarm Clock

Digital Alarm Clock

Don’t you get bored by ordinary analog alarm clocks? What about making your own alarm clock? That too with very minimal components. So, let’s build one our own. So, in this project, we are going to build a very simple and easy to make alarm clock. For this project, we are going to use an Arduino Pro mini with an RTC module, a buzzer and some other basic components. The DS1307 RTC chip will keep an accurate time even when the power is disconnected, all we need is to connect a small RTC coin cell to the RTC chip. The time will be displayed on a 16x2 LCD module, and the time and alarm can be set using a few tactile switches connected to the Arduino.  

20. Pet Feeder

Pet Feeder

An automatic pet feeder is a modern solution designed to ensure pets receive timely and appropriate portions of food, even in the absence of their owners. Such an automatic pet feeder is particularly beneficial for busy pet owners who may not always be home to feed their pets at regular intervals. But the problem with the commercially available ones is that they are not particularly pocket friendly. So, we are going to build an easy to make, pocket friendly, DIY automatic pet feeder. With this DIY version, we can feed our pets in a set time. Our version of the pet feeder features an Arduino UNO as the brain, a 16x2 LCD for the user interface a matrix keypad for user inputs, an RTC module for timekeeping and a servo motor for controlling the dispensing mechanism. The dispensing mechanism is built using some 3D printed parts and can be integrated very easily. 

21. Simple Music Player

Music Player

Adding sounds or music to our projects not only makes them look cool and attractive, but they would also come in handy to provide audible feedback to the user. In this project, we will learn how to do so, without the need for any special MP3 or music player modules. We will use a technique called pulse code modulation also known as PCM in short to generate the sound. The sound files will be saved in an SD card as a wave file and the Arduino will read them using an SD card module. The Arduino will output the sound through one of its GPIO and it will be amplified using an LM386 based audio amplifier before feeding to a loudspeaker. A couple of tactile buttons are also included in the circuit for the playback controls. 

22. Sound/Noise Monitoring

Sound Monitor

Just like any other type of pollution, sound pollution is also a major concern nowadays. Especially in cities where there is a lot of traffic and machineries that operates non-stop. Now you might wonder how exactly to measure sound pollution. For that, we have specialized equipment called decibel meters. which will give you an accurate reading of the noise or sound around you. So why don’t we make our own sound/ noise monitor to detect the accurate sound levels? For that, we are going to use a microphone attached to a preamplifier built around an LM386 amplifier chip. The output of the amplifier section will then be monitored using an analog pin of an Arduino board. The Arduino will then use this ADC reading to calculate the sound level in dB. The resulting value will then be displayed on a serial monitor for the user. 

23. Whistle Detector Switch

Whistle Switch

When we were a kid, most of us would have been fascinated with toys that were activated by claps or sounds. Not only just toys but there are even commercial as well as DIY versions of clap switches that can be used to control our lights or appliances with claps. Even though they work miraculously, they have one major disadvantage- they might get triggered by any kind of loud noises, like a loud radio or a neighbour’s lawn mower. So, to overcome this issue we are going to build a whistle detector switch. Unlike other sounds the whistle will have a uniform frequency for a particular duration and hence can be distinguished from speech or music. So we don’t need to worry about the false triggering. For this, we are going to use an Arduino Uno along with a sound sensor module, a relay and some other basic components. The sound sensor module will capture the sound using the onboard microphone and will give an amplified signal at the output. The frequency of this signal will then be calculated using an Arduino development board, and if the frequency matches that of a whistle the Arduino will activate or deactivate the relay resulting in controlling the load.  

24. Automatic Water Dispenser

Automatic Water Dispenser

Even though our earth is mostly covered by water the amount of drinking water is very low. But the concerning reality is that this amount of drinking water is getting reduced drastically due to factors such as population explosion, pollution, climate change and water wastage. it is very important to avoid even a drop of water being wasted. It might not appear big at first time, but if your tap dripped a drop of water once every second it would take only about five hours for you to waste one gallon of water, that is enough water for an average human to survive for two days. So as a solution for such unwanted and unrecognised water wastage, we are going to build an automatic water dispenser which can replace the manual taps and reduce water wastage. Not only that as added bonus we can even avoid contamination from using the public taps. An Arduino Uno is used as the brain of this project. An ultrasonic sensor is used to detect the movement and if a movement is detected the Arduino will activate a solenoid valve to dispense a certain amount of water. After dispensing a set amount the valve will be automatically closed and thus avoid any water wastage.   

25. Basic Piano with Record and Replay

Electronic Piano

As a child, I was always fascinated by the music keyboard. It was always fascinating to see the musician not only playing new tunes but also combining them with prerecorded tunes. So why don’t we make a DIY version of that? So, in this project, we are going to build an electronic piano with the ability to record and replay the tones. An Arduino uno will handle all the processing and user inputs. An LCD display is provided for the user interface and a couple of buttons for user inputs. Depending on the button pressed the Arduino will save a corresponding tone to the memory. A simple piezoelectric buzzer is used to provide the sound output. For the button inputs, we have used a cleaver technique, that involves a resistor ladder network. by using this method, we were able to interface the whole 8 switches using a single analog pin.   

26. Arduino Inclinometer

Inclinometer

Inclinometers are used for measuring the angle of inclination of something or some surface. A simplified version of such an inclinometer is known as a spirit level. Traditionally, spirit levels have been the go-to tool in construction for ensuring surfaces are level and angles are accurate. However, they are limited to manual readings and lack digital precision. Even though there are digital inclinometers, they are expensive. So, we are going to build a digital inclinometer using Arduino. Our version of the DIY digital inclinometer consists of an Arduino Pro mini, An MPU6050 MPU and an HC-05 Bluetooth module. The Arduino will use the reading from the IMU to calculate the angles and the result will be sent to a smartphone via Bluetooth. Our custom-made Android app will display a virtual level with the readings corresponding to the reading from the Arduino.     

27. Arduino Calculator

Arduino Calculator

In the market, there are several types of calculators available, from simple arithmetic calculators to more advanced scientific and graphing calculators. In this project, we will learn how to make a simple calculator using an Arduino development board, an LCD display and a matrix keypad. The used inputs are captured using a 4x4 matrix keypad and the calculation result will be displayed on a 16x2 LCD display. With this project, we will learn how a matrix keypad works and how to interface it with an Arduino. 

28. Automatic AC Temperature Control

AC Temperature Control

Air conditioners once considered a luxury have now become a necessity to combat the harsh climates. However, those who own an AC often share a common concern: high electricity consumption and the associated costs. This project aims to develop a compact Automatic Temperature Control Circuit designed to reduce electricity bills by automatically adjusting the AC's temperature based on the room's ambient temperature. By periodically varying the set temperature, we can prevent the AC from running at lower temperature settings for extended periods, thereby reducing power consumption and improving user comfort. The automatic AC temperature controller is built around an Arduino mega development board. A DHT11 sensor is used to detect the ambient temperature and humidity. A TSOP1738 IR sensor is used to decode the AC remote signal, and an IR LED is used to transmit the control signals to the AC unit. 

29. Control Computer with Hand Gesture

Gesture Control

There are multiple ways to control a computer, using a keyboard, mouse or even with specialized remotes. How about hand gestures? Of course, we can use hand gestures. It would be interesting to make a device that can be used to control our computer with simple hand gestures. So, let's build one. For that, we are going to use a very simple setup consisting of only an Arduino UNO and a pair of ultrasonic sensors. We will place two Ultrasonic sensors on top of our monitor and will read the distance between the monitor and our hand using Arduino, based on this value of distance we will perform certain actions. For the PC side, we would utilize Python with pyautogui library. The best use case for such control would be the media control. We can simply control the media playback or volume controls using this setup.   

30. Automatic call Answering Machine

Automatic Call Answering Machine

Most of the time when we call a customer support line, we are greeted with an Interactive Voice Response System also known as IVRS in short. Have you ever wondered how these IVRS systems work without any human intervention on the server side? To demonstrate it’s working we are going to build an automatic call answering machine. For the project, we are going to use an Arduino Uno development board as the main controller. A GSM module featuring SIM900 GSM SoC is used for the communication side of the project. The GSM module is interfaced with the Arduino using UART protocol and AT commands are used to control the module. For the audio section, we are using the ISD1820 Voice module. The ISD1820 module is capable of recording an audio clip for 10 seconds and then playing it when required. Whenever a call is received on the GSM module the Arduino will automatically answer the call. Once the call is answered the Arduino will start the audio clip playback. The audio output is connected to the mic input of the GSM module, thus whenever the audio is played the caller will be able to hear it.     

31. Real Time Face Detection and Tracking

Face Tracking

Building a real-time face detection and tracking system is not a simple task; it would require deep knowledge of programming and machine learning. But we can make a simple version of it without needing complex programming frameworks. To demonstrate that we are going to create a face-tracking robotic arm using an Android phone's camera and Arduino-controlled servos. The project uses Bluetooth to wirelessly connect the Arduino Nano to the Android phone, which handles image detection and sends movement commands to the servos. This setup includes SG90 servo motors and a 9V battery, allowing the robot to follow your face and keep it centred on the screen. The Android application, developed using Processing for Android, can be customized or downloaded as an APK file. 

32. Speedometer

Speedometer

In this DIY Speedometer project, you can create a portable speedometer for bikes or vehicles using Arduino and a Processing Android app. Powered by an 18650 Lithium cell, the device is highly portable and can also charge your mobile phone while displaying speed. Speed measurement is achieved using a Hall sensor and a small magnet attached to the vehicle's wheel, with the Arduino calculating the speed based on the time taken for wheel rotations. The Arduino broadcasts speed data via Bluetooth to an Android phone. Our custom build application will display the received data on the phone using an attractive dial gauge. The application is developed using processing for Android and can be customized or downloaded as an APK file. The project guides you from start to finish, including mounting the kit on your vehicle. 

33. Samart Vacuum Cleaner

Smart Vacuum Cleaner

Robot vacuum cleaners have become increasingly popular due to their convenience and efficiency in maintaining clean floors with minimal human intervention. These devices can navigate around furniture, avoid obstacles, and cover large areas systematically, ensuring thorough cleaning. The problem with most commercially available ones is that they are relatively expensive. So building your own Arduino-based Smart Vacuum Cleaner Robot for automatic floor cleaning is an innovative solution for maintaining a clean home without the high cost of commercial products. This DIY vacuum cleaner robot is designed to be compact and practical, featuring ultrasonic sensors and an IR proximity sensor to navigate and clean efficiently. The ultrasonic sensors help the robot avoid obstacles, while the proximity sensor prevents it from falling downstairs. Powered by a 7.4V battery, the robot uses a modified portable vacuum cleaner motor for suction. The housing for the smart vacuum cleaner is built using easily available MDF boards. 

34. Solar Tracker

Solar Tracker

The best way to power our devices without destroying our earth would be to use renewable energy sources such as solar or wind power. But even though they are clean, pollution-free and don't need any fuel, they are highly dependent on some environmental factors. For example, wind turbines depend on wind speed and availability while solar panel depends on the availability of sunlight. To get the best performance from a solar panel all day long, it is necessary to align the solar panel in a way that it will receive the maximum sunlight throughout the day. For this, we would need a solar tracker. So, in this project, we would make an inexpensive but effective solar tracker prototype using an Arduino. two LDRs are used to detect the light intensity. Depending on the reading from the LDR the Arduino will re-align the solar panel using a servo motor.    

35. Water Quality Testing

Water Quality Tester

When it comes to water quality, one of the main testing standards is turbidity, which refers to the cloudiness or haziness of water caused by suspended particles, such as silt, clay, microorganisms, and organic and inorganic matter. It is a measure of how much light is scattered by these particles when shined through the water. A turbidity sensor would have two parts, a transmitter and a Receiver. The transmitter consists of a light source typically an LED and a driver circuit. In the receiver end, there is a light detector like a photodiode or an LDR. When a solution under test is placed in between the transmitter and receiver, the sensor would give an output signal depending on the solution. This project aims to build a turbidity meter based on such a sensor and an Arduino development board. The sensor is interfaced with the Arduino using an analog pin. The result will be displayed on a 16x2 LCD display. 

36. Portable Weighing Machine

Portable Weighing Machine

Have you ever wondered how exactly a digital weighing machine works? How do they give very precise weight readings? The modern digital weighing scales use a sensor called load cells. A load cell works by converting a mechanical force into an electrical signal using strain gauges. When force is applied to the load cell, it deforms slightly, causing a change in the electrical resistance of the strain gauges, which is then measured and converted into a corresponding electrical signal proportional to the force. this signal is then used to calculate the actual weight. To understand the actual working of a digital weighing machine, we are going to build a DIY portable weighing machine using an Arduino UNO board and a load cell with a load cell amplifier. The load cell amplifier module consists of HX711 IC, which is an amplifier chip specifically designed for this application. A 16x2 display is used for displaying the weight information to the user.      

37. Wireless RC Boat

Wireless RC Controlled Boat

In this project, we will build a remote-controlled Arduino Airboat that can be controlled wirelessly using radio frequency. In the transmitter section, An Arduino Pro mini is used as the main controller. And for communication, we have used a 433MHz transmitter, that uses Amplitude Shift Keying (ASK) protocol. Tactile switches are used for user inputs. In between the Arduino and the transmitter an encoder chip is used. On the receiver side, the 433MHz receiver is connected to a decoder chip and the output of the decoder is then used to drive the motor driver. The entire body of the board is built using thermocol because it is lightweight and easy to handle with. Propellers are made using plastic sheets. The propellers are then attached firmly to the motor shafts and the motors themselves self are then attached to the boat’s body. 

Have any question realated to this Article?

Ask Our Community Members

How The Union Budget 2024-25 Will Make India Self-reliant in Electronics and Semiconductor Manufacturing

Around Rs 21,936.90 crore has been provided to the MeitY for its expenditure, which is a 52 percent boost counting the last year's budget.

Post Lok Sabha elections, Finance Minister Nirmala Sitharaman presented her seventh union budget 2024-25, which is committed to the four pillars of the development agenda: ‘Garib’ (Poor), ‘Mahilayen’ (Women), ‘Yuva’ (Youth) and ‘Annadata’ (Farmer). The current budget placed greater importance on boosting self-sufficiency, or Aatmanirbharta  via strategic initiatives with a key focus on developing India’s electronics and semiconductor manufacturing ecosystem and taking India’s digital ecosystem to a greater height. The core focus of the budget is PM Modi’s packaged incentives and initiatives that are designed to craft immense opportunities for 4 crore youths in the coming five years. With a disbursement of Rs 2 lakh crore, the budget will focus on employment generation, skilling requirements, and education.

For the past several years, the government has been undertaking various initiatives to grow the nation’s electronics and semiconductor industry. Various schemes and policies have been unleashed to help the country to move ahead in the global value chain. This year at the budget session, the finance minister has announced a total of Rs 6,903 crore for the semiconductor ecosystem. An additional outlay isn’t announced because in the last year’s budget, a sum of Rs 3,000 crore has been allocated that was later revised to Rs 1500 crore. Around Rs21,936.90 crore has been provided to the Ministry of Electronics and Information Technology (MeitY) for its expenditure. Last year, the budget allocated to the ministry was around Rs 14,421.25 crore. Counting both the outlay, the MeitY received around 52 percent boost in this year's budget. 

In an effort to bolster the ESDM sector in the nation, the scheme for promotion of the manufacturing of electronic components and semiconductors (SPECS) was unleashed in 2020. The scheme offers an incentive of 25 percent on total expenditure for specific electronic items. Under this scheme, an investment of Rs 12,638 crore and committed incentives of Rs1,758 crore have been approved by the government until March 2024.

Industry bodies such as Electronics Industries Association of India (ELCINA) acknowledge the positive steps announced in the Union Budget 2024-25 presented by Union Finance Minister Nirmala Sitharaman, which includes essential measures impacting the electronics sector. The budget introduces significant changes in Customs Duties and extends exemptions that will support value-added manufacturing within the industry.

The budget document further revealed that the government has decided to provide Rs 4203 crore for a couple of ventures for setting up assembly units, discrete and compound semiconductor manufacturing. Counting the total expense allocation proposed in the two year’s budget, Rs 1,500 crore is offered for electronic chip plants in the country, Rs 100 crore for electronic displays and Rs 900 crore for the modernisation of the Semi-Conductor Laboratory in Mohali. In fact, it has also declared to alter the First Schedule to the Customs Tariff Act, 1975, from October 1 in an effort to create new taxation slabs for certain products utilized in Indian semiconductor machines, e-bicycles, and printer cartridges.

What The Industry Leaders Think About the Union Budget 2024-25:

Varun Manwani, Director, Sahasra Group

Varun Manwani, Director, Sahasra Group

 

Sahasra Semiconductors welcomes the budget and thanks the finance minister for the bold steps taken for supporting the Semiconductor industry. The reduction is BCD on gold to 6 percent is very welcome! Also, the reduction in other key raw materials and inputs that go into the Semiconductor industry will boost further investments. The support provided for education, new skilling and up-skilling will help in job creation and reduce the burden on industries as well as empower people.

Ashok Mehta, Founder and Chairman, Suchi Semicon

Ashok Mehta, Founder and Chairman, Suchi Semicon

 

The union budget 2024 is industry friendly the finance minister declared rs 6900 crore to support the semiconductor industry our Prime Minister Mr. Narendra Modi is having very good vision for industrial growth and how to protect local industries also govt already give duty free import for capital goods related to semiconductor industries this budget is giving big boost to industry we all are very much happy with this budget.

A. Gururaj, Managing Director, Optiemus Electronics Ltd

A. Gururaj, Managing Director, Optiemus Electronics Ltd

 

We welcome the initiatives announced in the Union Budget. The significant emphasis on manufacturing is heartwarming and much needed for the growth of the economy. With the substantial expansion of the electronics manufacturing industry, the demand for a skilled workforce has become paramount. The announcement of various skilling initiatives and the scheme to incentivize additional employment in the manufacturing sector, particularly for first-time employees, will provide essential support to industries reliant on skilled workforce, especially in electronics. Furthermore, the proposal to reduce the Basic Customs Duty on mobile phones, mobile PCBA, and mobile chargers to 15% is a positive step. The measures laid out to support the MSME industries are particularly welcome to create a much-needed supplier base for electronics within India. These measures collectively send out a strong message on the manufacturing sector and related ecosystem in India.

Rajoo Goel, Secretary General, ELCINA

Rajoo Goel, Secretary General, ELCINA

 

I express my appreciation on behalf of the industry for the Union Budget 2024-25, noting its positive changes for the electronics sector. We believe the above measures support and continue the initiatives taken in the last few years to promote value added manufacturing. However, ELCINA and the industry at large are awaiting the announcement of a robust Scheme for promotion of electronic components, parts and modules manufacturing. A detailed representation for the same with analysis of the segment-wise current demand and supply scenario has been presented to MeitY. We urge the Government to take an urgent decision and provide much needed support to this value-added manufacturing segment of the ESDM industry.

Pankaj Mohindroo, Chairman, ICEA

Pankaj Mohindroo, Chairman, ICEA

 

The concessions are provided to the extent of nil from existing BCD slabs of 10 to 2.5 per cent, depending on the different critical metals. We also welcome the rationalization of tariffs on Silicon Quartz and silicon Dioxide from 5/7.5 per cent to 2.5 per cent. This is a crucial step to propel the establishment of a strong silicon and power semiconductor wafer production ecosystem in the country.

Ashok Chandak, President, IESA

Ashok Chandak, President, IESA

 

IESA welcomes the budget's strong focus on manufacturing, job creation, MSME support, women's employment and rationalization of customs duty. The initiatives mentioned are expected to act as catalysts for creating a new workforce in the thriving semiconductor and electronics sector which is facing an acute shortage of relevant skills. The Union Budget 2024 appears promising for the government's commitment to making India a global powerhouse for electronics production. 

Key Budget Announcements:

1.    Reduction in Customs Duties:

  • Cellular Mobile Phones and Accessories: The Basic Customs Duty (BCD) on cellular mobile phones, chargers/adapters, and Printed Circuit Board Assemblies (PCBAs) has been reduced from 20% to 15%.
  • Oxygen Free Copper (OFC): The BCD on OFC strips used in resistor manufacturing has been reduced to Nil, subject to Import of Goods at Concessional Rate of Duty (IGCR) conditions.
  • Telecom Equipment: The BCD on PCBAs for specified telecom equipment has been increased from 10% to 15%.
  • Raw Materials: The exemption entries for input items/raw materials for manufacturing connectors have been expanded to include additional items.


2.    Extended Exemptions:

  • Notifications providing exemptions on import duties for inputs and capital goods have been extended from one year to five years, aligning with ELCINA’s recommendations.

There is a slump in basic customs duty (BCD) from 20 percent to 15 percent on certain electronic products such as mobile phones, mobile printed circuit board assembly (PCBA), and mobile chargers.  While announcing the incentives and the tariff lines, the Finance Minister Sitharaman told the parliament, “With a three-fold increase in domestic production and almost a 100- fold jump in exports of mobile phones in the last six years, the Indian mobile industry has matured. In the interest of consumers, I now propose to reduce the basic customs duty (BCD) on mobile phone, mobile PCBA, and mobile chargers to 15 percent.

Muralikrishnan B, President of Xiaomi India told the media, "At Xiaomi India, we have been manufacturing nearly 100% of our smartphones locally with a strong emphasis on sourcing components like PCBA, charging cables, camera modules, and mechanics, among others. The budget announcement will help further strengthen the domestic electronics manufacturing ecosystem. The proposal for a comprehensive review of the tariff rate structure is another positive step that will further strengthen the industry."

Electric Vehicle

In the current union budget, there was no specific announcement for EVs or FAME 3. Prior to the budget, in March 2024, the Electric Mobility Promotion Scheme (EMPS) was announced with an outlay of Rs 500 crore for a period of four months. The EMPS targeted to boost the growth of the two and three-wheeler segment. An additional outlay of Rs 3,500 crore for the PLI Scheme for Automobiles and Auto Components in this year According to Clean Mobility Shift, in 2023-24, the budget estimate was Rs 604 crore while the Revised Estimates turned up to be Rs 483.77 crore. 

Although no outlay has been announced, FM Sitharaman assured to set-up a Critical Mineral Mission for domestic production, recycling of critical minerals, and overseas acquisition of critical mineral assets. Sitharaman added, “Its mandate will include technology development, skilled workforce, extended producer responsibility framework, and a suitable financing mechanism.

Critical minerals like lithium, copper, cobalt and rare earth elements are extremely essential for sectors like nuclear energy, renewable energy, space, defense, telecommunications, and high-tech electronics. “I propose to fully exempt customs duties on 25 critical minerals and reduce BCD on two of them. This will provide a major fillip to the processing and refining of such minerals and help secure their availability for these strategic and important sectors." Sitharaman further added.

How The Budget Proves Promising for The Electronics Industry

Industry body ELCINA appreciates the Government's efforts to address some of the pressing issues faced by the electronics sector. The reductions in customs duties and extension of exemptions are positive steps towards supporting the industry’s growth and competitiveness. However, ELCINA emphasizes the need for a comprehensive scheme dedicated to promoting the manufacturing of electronic components, parts, and modules. Components and key Modules used in electronic equipment have been a major stumbling block for the development of a sustainable ESDM sector in India. The industry bodies believe that till such time that this shortcoming is not addressed, the country will always be dependent on overseas suppliers and will struggle to take a leadership position in the global industry. Urgent measures in this area are required.

Have any question realated to this Article?

Ask Our Community Members