element14 Community
element14 Community
    Register Log In
  • Site
  • Search
  • Log In Register
  • Community Hub
    Community Hub
    • What's New on element14
    • Feedback and Support
    • Benefits of Membership
    • Personal Blogs
    • Members Area
    • Achievement Levels
  • Learn
    Learn
    • Ask an Expert
    • eBooks
    • element14 presents
    • Learning Center
    • Tech Spotlight
    • STEM Academy
    • Webinars, Training and Events
    • Learning Groups
  • Technologies
    Technologies
    • 3D Printing
    • FPGA
    • Industrial Automation
    • Internet of Things
    • Power & Energy
    • Sensors
    • Technology Groups
  • Challenges & Projects
    Challenges & Projects
    • Design Challenges
    • element14 presents Projects
    • Project14
    • Arduino Projects
    • Raspberry Pi Projects
    • Project Groups
  • Products
    Products
    • Arduino
    • Avnet Boards Community
    • Dev Tools
    • Manufacturers
    • Multicomp Pro
    • Product Groups
    • Raspberry Pi
    • RoadTests & Reviews
  • Store
    Store
    • Visit Your Store
    • Choose another store...
      • Europe
      •  Austria (German)
      •  Belgium (Dutch, French)
      •  Bulgaria (Bulgarian)
      •  Czech Republic (Czech)
      •  Denmark (Danish)
      •  Estonia (Estonian)
      •  Finland (Finnish)
      •  France (French)
      •  Germany (German)
      •  Hungary (Hungarian)
      •  Ireland
      •  Israel
      •  Italy (Italian)
      •  Latvia (Latvian)
      •  
      •  Lithuania (Lithuanian)
      •  Netherlands (Dutch)
      •  Norway (Norwegian)
      •  Poland (Polish)
      •  Portugal (Portuguese)
      •  Romania (Romanian)
      •  Russia (Russian)
      •  Slovakia (Slovak)
      •  Slovenia (Slovenian)
      •  Spain (Spanish)
      •  Sweden (Swedish)
      •  Switzerland(German, French)
      •  Turkey (Turkish)
      •  United Kingdom
      • Asia Pacific
      •  Australia
      •  China
      •  Hong Kong
      •  India
      •  Korea (Korean)
      •  Malaysia
      •  New Zealand
      •  Philippines
      •  Singapore
      •  Taiwan
      •  Thailand (Thai)
      • Americas
      •  Brazil (Portuguese)
      •  Canada
      •  Mexico (Spanish)
      •  United States
      Can't find the country/region you're looking for? Visit our export site or find a local distributor.
  • Translate
  • Profile
  • Settings
Experimenting with Current Sense Amplifiers
  • Challenges & Projects
  • Design Challenges
  • Experimenting with Current Sense Amplifiers
  • More
  • Cancel
Experimenting with Current Sense Amplifiers
Challenge Blog Misaz’s Experimenting with Current Sense Amplifiers Summary Blog
  • Blog
  • Forum
  • Documents
  • Files
  • Mentions
  • Sub-Groups
  • Tags
  • More
  • Cancel
  • New
  • Share
  • More
  • Cancel
Group Actions
  • Group RSS
  • More
  • Cancel
Engagement
  • Author Author: misaz
  • Date Created: 7 Jun 2022 9:43 PM Date Created
  • Views 1141 views
  • Likes 4 likes
  • Comments 4 comments
  • Current 6 Click
  • Experiment
  • summary
  • winners
  • csa
  • current sense amplifier
  • MAX40080
  • Experimenting with Current Sense Amplifiers
Related
Recommended

Misaz’s Experimenting with Current Sense Amplifiers Summary Blog

misaz
misaz
7 Jun 2022
Misaz’s Experimenting with Current Sense Amplifiers Summary Blog

Hello everyone.

I welcome you to my last summary blog part when I want to conclude this contest, summarize what I have done and summarize what I have learnt.

Blog Posts

As part of contest, I published 14 blog posts (+ this one). This is 7× more than was required Blush. I published them regularly. In every blog post I try to publish some of my findings and status of my experiment. Following list contains links to all blog post which I have published as part of contest.

  • Blog #1: Introductory blog to my ADI/Maxim Integrated MAX40080 experiments
  • Blog #2: Introduction to MAX40080
  • Blog #3: Converting measured value to Amperes
  • Blog #4: Using MAX40080 CSA with MAX32625 MCU – First thoughts
  • Blog #5: My Python and C Libraries are available now
  • Blog #6: MAX40080 C Library
  • Blog #7: MAX40080 Python Library
  • Blog #8: Using MAX40080 without writing any code
  • Blog #9: Measuring USB Flash Disk Power Consumption
  • Blog #10: Raspberry Pi Self Power Consumption Measurement
  • Blog #11: USB Type-C Power Delivery monitoring
  • Blog #12: Long Term Power Consumption Monitoring
  • Blog #13: MAX40080 Samples corruption when FIFO Roll-over mode enabled
  • Blog #14: Experimenting with Overvoltage Detection

As you can see, it is lot of content! In PDF all these blog posts occupy 106 pages of size A4. Blogs consists of 131667 characters including spaces. They contain 134 images and 2 videos.

I categorize my blog posts to four categories:

  • Introduction: In first blog post I described my experiment plans. In this blog I described my experiments. Their final implementation I later described in blog posts 10, 11 and 12.
  • Tutorials: Second and third blogs I designed as tutorials. In these articles I described fundamentals of communication with sensor, basics of its configuration and some caveats which I have faced at beginning, and I considered them helpful for other members.
  • Description of software: As part of contest, I original want to make C library for using sensor with microcontrollers (I like microcontrollers). But soon after contest began, I and some other challengers realized that there is almost no software for using sensor with Raspberry Pi (which was platform provided in Kit which we have received). Due to this I developed Python library usable on Raspberry Pi and I also got idea to make command line utility for ultra-easy way of experimenting with MAX40080 CSA without any programming needed. All these libraries and utilities I presented in blog posts 4, 5, 6, 7 and 8. In every blog post I tried to present some brief quick start guide on using this software.
  • Experiments: As part of contest, I successfully realized all four experiments which I promised in contest application and first blog post. Except this experiment I also published experiment with measuring power consumption of USB Flash Drives. I described it in blog post 9.
  • : At last, I presented blog post about issue which I have faced when experimenting with sensor and which is still under investigation by Maxim support at the end of contest period. Similarly at last minute I posted mini experiment regarding overvoltage detection.

I received many feedback on my blog posts. Especially at my tutorials which I published very soon after competition start. My second blog (Blog #2: Introduction to MAX40080) is my most popular contribution to this contest. It received 11 likes, have been seen more than 1000 times and many challengers referenced them in their own blogs. For example colporteur referred it in his third blog, guillengap also referenced this blog and used code snippets in his second blog and taifur also used code snippets shown in this blog in his blog post.

Experiments and Projects

As part of contest, I did many experiments. Most of experiments I have done when developing my Libraries. At this time, I tested many features and modes of operation supported by the chip. As part of contest, I did three projects which I shown in my blog posts (forth promised experiment was simple usage with resistor which I shown in tutorials):

Raspberry Pi Self Power Consumption Measurement

In this project I connected sensor to the Raspberry Pi in a way that it was sensing current consumption of itself. In this experiment I utilized my command line utility. Originally, I want to make Python program, but later when I developed CLI utility it looked more interesting to use it here. And definitely it was significantly easier with CLI utility. Before experimenting, I was slightly confused by power sequencing because voltage on sensing pins is provided before Rapsberry Pi start power for GPIOs, but this is not an issue with MAX40080. Its digital IO is powered from separate power supply which can be provided later. So, in this experiment everything went well, and I am satisfied with it. If you are interested in more details, you can read blog post 10 in which I described this project in more details.

image

USB Type-C Power Delivery Monitoring

My second experiment used MAX32625 microcontroller instead of Raspberry Pi and used my C library. In this experiment I used my debug probe PCB (which I designed) for allowing connection current sense amplifier to the circuit of USB Type-C cable. This experiment was a slightly complicated because I did it on breadboard. Doing this experiment/project taught me a lot of things (I will describe them later in this blog post). When I was developing this project, I faced many issues and I had to debug lot of things. After all this troubles, I successfully completed it and I was able to see that negotiation on USB Configuration Channel really can happen and my USB Type-C Charger was able to power iPhone by higher voltage (9V) than is standard voltage on USB bus (5V). Due to non-ideal design of this experiment on breadboard, experiment was partially affected by high error rate and some noise. If you are interested in more details about this project, you can read my 11th blog post.

image

Long Term Power Consumption Monitoring

My third experiment/project used different microcontroller (I like microcontrollers Blush ). I based it on Renesas EK-RA6M4 board. In this project I also utilized MAX31343 Shield which I RoadTested about one year ago. Purpose of this project was to log power consumption of barel-jack powered device (Wi-Fi router, but works with any other up to 36V). Microcontroller communicated with CSA and RTC sensors on USB bus, used Flash memory for storing power consumption samples and provided web interface using HTTP protocol over Ethernet. This experiment was also successful, but I did not run it for a long time because my sensor was busy with other experiments Blush .

image

In all experiments I used sensor configured differently. I tried multiple sample rates, multiple configurations of digital filter, I tried several modes of operation, I tried advanced features of FIFO like overflow warning. Experimentally I tried under and over voltage detections I also used interrupt provided by sensor in my MCU based applications.

When experimenting I also found that sensor behave incorrectly in one specific configuration (sensing both current and voltage while FIFO roll-over is enabled). At the time of writing this blog post Maxim support is still investigating this issue. If you are more interested in it, you can read more details about my findings on this issue in my 13th blog post.

Contacting Maxim Support

As I have mentioned in previous paragraph, I was in touch with Maxim Integrated Technical Support. In fact, I opened 7 tickets here. 5 tickets I opened for reporting mistakes and missing information in datasheet which I found when experimenting with MAX40080 sensor. Maxim accepted all of them and in this time, they work on new revision of MAX40080 datasheet, but they did not publish it within contest period. Another issue I raised because I was not sure if behaviour of FIFO flush bit is correct. This issue is closed now and bit behaviour as described in my 4th blog is correct even it is not intuitive. Last issue is regarding wrong values marked as valid by sensor in one specific mode of operation as described in previous paragraph and blog post 13.

Key Learnings

When experimenting I learn many things.

  • I realized some fundamentals aspects of electronics. Originally, I thought that 30 mA is low current which cannot do any significant impact. But when I touched resistor handling 30 mA of current, I realized that even only 30 mA is makes it hot. In this moment I better realized that current is not the only property and voltage is also important. 30 mA at 1V is behave differently than 30 mA at 100V.
  • I first time faced an issue with wires – really, issue with simple conductive wire. I learn that wires in real world have non-zero resistance and especially cheap wires can cause problems to measured circuits due to this. More details are in blogs 10 and 11.
  • I learnt how to calculate things related to amplification in this sensor and how to convert measured value to real unit accurately. Many this information apply to CSAs in general, so I welcome this kind of experience. I shown these findings in blog 3.
  • I learnt that CRC is very important. Before contest I thought that CRC errors are rare and CRC checks are there only for sure, but when implementing second project I faced lot of these errors and CRC definitely saved me from issues raising from processing corrupted data (which would be even more complicated to debug!).
  • When implementing Python library, I learnt that python package manager pip can install libraries directly from GitHub, so it is not needed to publish it to the repository. This was my first Python library which I created in my life. So, I consider this as another very valuable experience.
  • This is first time when I have opportunity to play with MikroE Click Board. I have not used any of these boards before.
  • I improved my skills with using Maxim SDK for controlling MAX32625 MCU Peripherals. Now I can develop applications using this microcontroller faster and after doing many experiments with this MCU I can better utilize its more advanced features.
  • I learnt using Octal SPI Flash Memory, setup Ethernet connectivity and manage sockets with FreeRTOS on Renesas RA6M4 platform. All of them I used first time.
  • I first time used /dev/i2c-X devices provided by Linux kernel for accessing I2C devices from userspace applications. I known about existence of this special file, but I have never used it before.
  • After designing some PCBs I am more skilled in Kicad.

Costs

My experiments cost me some money. As part of experiments, I designed 4 PCBs. I used only 2 of them, remaining two were breakouts for case when I do some error on my boards. For this PCBs I also had to bought components which were generally cheap but because I had to order minimum order quantities, price of shopping cart was not in the range of cents. Following table contains list of PCBs and components which I have bought for some of my experiments:

Component

Quantity (MOC)

Total price

PCB: USB 2.0 Debug Probe

3

$ 3.10

PCB: USB Type-C Debug Probe

3

$ 4.25

PCB: USB micro breakout

3

$ 1.05

PCB: USB Type-C breakout

3

$ 5.50

Barrel Jack connector

5

29.90 CZK (approx. $ 1.29)

USB Type-C to Type-C cable

1

144.38 CZK (approx. $ 6.24)

Terminal block

10

54.86 CZK (approx. $ 2.37)

USB Type-C plug connector

1

46.19 CZK (approx. $ 2.00)

Screwdriver

1

50.81 CZK (approx. $ 2.20)

Barrel Jack cable

1

25.40 CZK (approx. $ 1.10)

Power resistor 1 ohm 10W

5

31.33 CZK (approx. $ 1.35)

Power resistor 3 ohm 10W

5

31.33 CZK (approx. $ 1.35)

Power resistor 12 ohm 10W

5

31.33 CZK (approx. $ 1.35)

Power resistor 0.1 ohm 10W

5

31.33 CZK (approx. $ 1.35)

Power resistor 0.2 ohm 10W

5

31.33 CZK (approx. $ 1.35)

Total:

 

$ 35.85

 

I also thank again companies which sent me free samples of their products. I thank:

  • Maxim Integrated for sponsoring this contest and sending me free sample of MAX5715 DAC.
  • Renesas for sending me sample of EK-RA6M4 Kit.
  • Adam Tech for sending me USB Type-C receptacle connectors.
  • Samtec for sending me Elevated Socket Strips.

Summary

I am very happy that I was selected as one of sponsored challengers in this contest. I enjoyed all parts of this contest. After this contest I can proudly say that I know almost everything about this sensor. Blush At last, I would also like to thank all who read my blog posts. Some people liked all my blog posts, so thank you very much.

Next blog: Blog #16: Today I received Grand Prize

  • Sign in to reply
  • misaz
    misaz over 3 years ago in reply to DAB

    Thank you for feedback.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • DAB
    DAB over 3 years ago

    Good posts and an excellent series on looking at the device and its uses.

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • misaz
    misaz over 3 years ago in reply to aspork42

    Thank you for feedback. Slight smile

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
  • aspork42
    aspork42 over 3 years ago

    Nice write up and great job on all the projects! I’m starting to read through the other blogs and will have to see if you’ve identified the issue I faced with using interrupts. 

    • Cancel
    • Vote Up 0 Vote Down
    • Sign in to reply
    • More
    • Cancel
element14 Community

element14 is the first online community specifically for engineers. Connect with your peers and get expert answers to your questions.

  • Members
  • Learn
  • Technologies
  • Challenges & Projects
  • Products
  • Store
  • About Us
  • Feedback & Support
  • FAQs
  • Terms of Use
  • Privacy Policy
  • Legal and Copyright Notices
  • Sitemap
  • Cookies

An Avnet Company © 2025 Premier Farnell Limited. All Rights Reserved.

Premier Farnell Ltd, registered in England and Wales (no 00876412), registered office: Farnell House, Forge Lane, Leeds LS12 2NE.

ICP 备案号 10220084.

Follow element14

  • X
  • Facebook
  • linkedin
  • YouTube