Automated Electrodepostioning Paint System (BLE App and Data Logger)


Client is looking for a Data Logger for an Electrode Position Paint System. Client also wants to be developed a Native Android and iOS application to operate the complete operation of Electrode Position Paint System.


Client owns a manufacturer of E-Coat Paint Equipment Company, which offers more than 40 years of industry-specific technical expertise and concentrated its business activity in the field of electrodepositing paint equipment and control technology. Client is a multifaceted manufacturer whose strengths are in engineering, product support, quality assurance, and customer service. They are the largest supplier of tubular anode cells in the USA and Canada. Client’s TECTRON Anode Cells have been installed in over 260 locations worldwide. Applications include automobile bodies and parts, agricultural equipment, home appliances, and general industrial products.

Client: Owner    Location: United States    Industry: Industrial Machinery Manufacturing


As per the client requirement, we write program on ESP32 for an Electrode Position Paint System and Developed the Mobile Application on Android and iOS to control, monitor and analyze the data collected during paint process.


  • We create a Data Logger and an Electrodepositing Paint System with Small battery powered Volt, Temperature, & DC Current having interface via Android and iOS App.
  • The logger is able to record the summary data every second and collect the data in flash after every 5 minutes.
  • Then, The logger send it to the mobile app over BLE for post processing, report & chart generation if it is armed by the user
Program for Firmware:
  • Create Method to save all run data in one file.
  • It allow the temperature sensor to acclimate from ambient (~20 C) to the temperature of the paint bath, which is generally > 30 C..
  • Battery Charging Mode: When the Unit is placed on its’ charging pad the LiPO battery management chip handle charging. As per the business logic , at this moment the BLE is not connected and unit will not arm during this time.
  • Wake up from Deep Sleep & Connect to BLE Central: When logger is removed from its’ case and ambient light falls on Charging unit is awakening from sleep, it will connect with a BLE Central device to set the parameters forthe run and also Arm the unit.
  • Logging: Logging is triggered by a user selectable voltage set point or loss of ambient light. During paint process the measured temperatures goes below set point, but our system have a Time Zone correction to determine when to stop the charging.
  • After a Logging event: Unit looks for a BLE Central to connect to. Once this happens then the run data file open. Post processing occur (calibration, scaling, etc) details of the run display on the screen of the BLE Central device.

B. BLE App Features:

  • We created native Android & iOS Apps, named as UFS Corporation.
  • For the combine results of up to 7 loggers (i.e. peripherals) together with a BLE Central (i.e. Phone), we add the following features in the application:
  • To activate the device to read its parameters, we addedthe toggle button to set on ambient light or voltage trigger.
  • After triggering the board, a blue LED starts flashing where the data summary in the Run data summary page of the App is shown.
  • Till this point, you can see the data of the sensors and also set the threshold for voltage trigger, interzone timeout etc.
  • To start the logging, we added a button to arm and then green LED flashes indicating the logging has started.

  • The data logger puts the data in flash every 5 minutes and sends it to the BLE app to make the file.
  • In case if the logging doesn’t stop the logger overwrites the data and sends it to the BLE app to append that data.
  • If the logging stops in between or the device is unarmed in between, the logger saves the collected data.
  • App saves the Summary Report to a local Network, to an attached Storage device or to a Cloud provider.
  • App displays 300 seconds worth of data on a small phone as well asdirect the chart to a local printer.
  • App has ability to upgrade firmware OTA

  • After unarming the blue LED starts to flash.
  • If battery is not low, then the Blue LED starts to flash indicating the BLE radio is On (acting as a peripheral) .
  • Once a BLE Central is able to connect the Blue LED turns solid.

C. OLED Screens Functions are

  • We use exiting Iconsas required by clients for reducing use of English language text for:
    1. DC V max
    2. AC V max
    3. Temperature - low &. High
    4. V
    5. Create new # Coulombs icon similar to others.
    6. Create new DC A Peak con using DC V and replace ‘V’ with ‘A’.

  • We also provide a Diagnostic Routine, when μP pin is pulled Low, a diagnostic routine is started and results display on the OLED. Diagnostic Routine consist of
    1. times unit has been awakened
    2. minutes in On state
    3. data runs
    4. of times of logging termination due to low battery V
    5. Any current errors
    6. Error log history
    7. Historical Max Temperature measured: Liquid/Air; Ware,& PCB.
    8. Historical Max DC V
    9. Historical Max AC V
    10. Historical Max DC Current Historical Max # Coulombs
    11. Historical Max of Total time > 8 V
    12. Historical Max of μP die temperature
    13. Max data run duration
    14. Tally of number of minute’s battery was being charged.
    15. Tally of Total time > 8 accumulated for all data runs
    16. Technical issues not resolved
    17. Plug to keep paint off charging contacts.
  • After completing run, unit turn on BLE and send the raw data (like a CSV file) to ‘post processing’ as calibration, scale, report format, save, retrieve, and compare against previous data runs.
  • Analog inputs calibrates every so often and calibration file store RAM via BLE App.
  • The temperature is noted as an integer, but display in the BLE App as a decimal point as app divides the integer by 10 to produce a decimal point.
  • Calibration coefficient is calculated inside the module and store.
  • The App is able to aggregate the data from this cohort to produce a single file that is aligned by the data and timestamp.


  • Silicon Labs PN #BGM220PC22HNA FCC approved Module
  • Small footprint so use 2 PCBs with a battery in between the boards
  • Pogo pins type charging method with a ~500 mAHrLiPo single cell battery
  • IP-67 3D printed case with clear cover
  • Phototransistor to detect ambient light
  • RGB LED to indicate: low battery/charging; BLE available/connected; color code when armed
  • 32 x 128 B&W SPI OLED (Crystalfontz PN CFAL12832D-B)*
  • ~2 cm^2 metal plate that is grounded through magnet - a paint film will form on its’ exterior.
  • Reset button
  • Internal pad when shorted to GND will start diagnostic routine.
  • 12 Bit ADC with 0 - 3V3 input range
  • I2C display CFAL12832C0-01B-W. OLED display maybe deleted after beta testing, if BLE connection renders it redundant.


  • Environment:-
    Embedded C.
  • Microcontroller:-
    ARM Processor (BGM220PC22HNA), ESP32
  • Protocols:-
    UART, SPI, Bluetooth 5.2, Flash memory, OLED Display
  • Software Tools: -
    Simplicity commander, Simplicity Studio, Energy Profiler
  • For Mobile App: -
    React Native, REST API

Why Choose Us ?

We endow businesses with flexible engagement models based on their unique needs. Our strength lies in state-of-the-art technology and affordable consulting services. Try us for fast POCs, full-fledged applications, or technology consulting. Always available for your service.

what our clients say about us

Client satisfaction is our ultimate goal. They have a shared a few kind words to express their satisfaction with service. Here is what they have to say.