# Data Logging IoT Weight Scale

## Overview

![](https://cdn-learn.adafruit.com/assets/assets/000/074/001/medium800thumb/hacks_ezgif.com-video-to-gif_%2815%29.jpg?1554250215)

_How many grams of coffee did I add to my pour-over?_

_Is the bag of cat food empty?_

_Did I remember to water the plant?&nbsp;_

_What's the weight of these screws in my workshop?_

To answer these questions (and more), you're going to **build an internet-enabled scale to track weight data over a period of time**.

To do this, you'll be performing a bit of **hardware hacking** - **tearing down a DYMO Postage scale** and soldering wires to connect it to a PyPortal. Then, you'll **add some CircuitPython code** to the PyPortal which allows you to **read the the scale remotely using [Adafruit](http://io.adafruit.com)**[IO](http://io.adafruit.com)&nbsp;- our easy-to-use internet of things service.

![](https://cdn-learn.adafruit.com/assets/assets/000/073/894/medium800/hacks_P1000419.jpg?1553891243)

This scale is _not just for keeping track of your coffee_ - **you can can monitor anything!** Here are some examples:

- Place a bag of cat food on the scale and enable Adafruit IO Feed Email Notifications for when you run out of cat food.
- Science experiments - no need to watch and chart a scale's weight - let Adafruit IO do that for you with automatic graph visualizations!
- Are you a beekeeper? Track the weight of a honeycomb and have Adafruit IO notify you when it exceeds a certain weight.

This is **an introduction to hacking and controlling consumer off-the-shelf electronics with CircuitPython**. To perform this guide, you'll need some soldering experience and willingness to tear down a consumer product your purchased.

## **Adafruit IO**

&nbsp;

**[Adafruit IO is the easiest way to stream, log, and interact with your data](https://io.adafruit.com).**&nbsp;It's built from the ground up to be easy to use - we do the hard stuff so you can focus on the fun stuff.

Data such as temperature and light levels can be hard to visualize and quantify - Adafruit IO makes it simple. Send IO your data and it can store and display it using charts, graphs, gauges, and more!

![hacks_DATA.png](https://cdn-learn.adafruit.com/assets/assets/000/073/883/medium640/hacks_DATA.png?1553883101)

## CircuitPython Code

&nbsp;

**CircuitPython is great for building Internet-of-Things projects.** Using the&nbsp;[Adafruit IO CircuitPython module](https://github.com/adafruit/Adafruit_CircuitPython_AdafruitIO), you can easily send data to Adafruit IO, receive data from Adafruit IO, and easily manipulate data with the powerful Adafruit IO API.

We've also built a [DymoScale module for CircuitPython](https://github.com/brentru/Adafruit_CircuitPython_DymoScale) to make interfacing with these scales incredibly easy.&nbsp;

You can rapidly update your code without having to compile and store WiFi and API secret keys on the device. This means that there's no editing code and re-uploading whenever you move the PyPortal to another network - just update a file and you're set.&nbsp;

![hacks_CODE.png](https://cdn-learn.adafruit.com/assets/assets/000/073/829/medium640/hacks_CODE.png?1553809502)

## Parts
Danger: 

To use this guide, you'll need a&nbsp;[DYMO scale](http://www.dymo.com/en-US). We've tested this guide with&nbsp;[DYMO M25](https://www.dymo.com/scales/dymo-m25-digital-postal-scale-25-pound-capacity/SAP_1772059.html) and a [DYMO M10](https://www.dymo.com/scales/dymo-m10-digital-postal-scale-10-pound-capacity/SAP_1772057.html).

**Note:** There are differences between the two scale models we tested (the **CircuitPython\_DymoScale** library handles this for you, you can use either). If you choose to use another DYMO mode with this guide, be warned that we have _not_ tested other DYMO scales with this library and your scale may not work with our library.&nbsp;

### Adafruit PyPortal - CircuitPython Powered Internet Display

[Adafruit PyPortal - CircuitPython Powered Internet Display](https://www.adafruit.com/product/4116)
 **PyPortal** , our easy-to-use IoT device that allows you to create all the things for the “Internet of Things” in minutes. Make custom touch screen interface GUIs, all open-source, and Python-powered using&nbsp;tinyJSON / APIs to get news, stock, weather, cat photos,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4116)
[Related Guides to the Product](https://learn.adafruit.com/products/4116/guides)
![Front view of a Adafruit PyPortal - CircuitPython Powered Internet Display with a pyportal logo image on the display. ](https://cdn-shop.adafruit.com/640x480/4116-00.jpeg)

## Materials

You'll need the following materials to complete this guide. If you do not have them handy, consider picking them up from Adafruit:

### Part: Soldering Station
quantity: 1
Digital Genuine Hakko FX-888D
[Soldering Station](https://www.adafruit.com/product/1204)

### Part: Solder Spool
quantity: 1
Solder Wire - 60/40 Rosin Core
[Solder Spool](https://www.adafruit.com/product/1886)

### Part: Wire Strippers
quantity: 1
Hakko Professional Quality 20-30 AWG Wire Strippers - CSP-30-1
[Wire Strippers](https://www.adafruit.com/product/527)

### Part: Spudger
quantity: 1
Spudger - Double Sided Prying Tool
[Spudger](https://www.adafruit.com/product/3434)

### Part: Screwdriver
quantity: 1
Adafruit Pocket Screwdriver
[Screwdriver](https://www.adafruit.com/product/3284)

### Part: USB Cable
quantity: 1
USB cable - USB A to Micro-B - 3 foot long
[USB Cable](https://www.adafruit.com/product/592)

- [Next Page](https://learn.adafruit.com/data-logging-iot-weight-scale/install-circuitpython.md)

## Featured Products

### Adafruit PyPortal - CircuitPython Powered Internet Display

[Adafruit PyPortal - CircuitPython Powered Internet Display](https://www.adafruit.com/product/4116)
 **PyPortal** , our easy-to-use IoT device that allows you to create all the things for the “Internet of Things” in minutes. Make custom touch screen interface GUIs, all open-source, and Python-powered using&nbsp;tinyJSON / APIs to get news, stock, weather, cat photos,...

Out of Stock
[Buy Now](https://www.adafruit.com/product/4116)
[Related Guides to the Product](https://learn.adafruit.com/products/4116/guides)
### STEMMA JST PH 2mm 3-Pin to Male Header Cable - 200mm

[STEMMA JST PH 2mm 3-Pin to Male Header Cable - 200mm](https://www.adafruit.com/product/3893)
This cable will let you turn a JST PH 3-pin cable port into 3 individual wires with high-quality 0.1" male header plugs on the end. We're carrying these to match up with our Hallowing, for extending and connecting sensors or LEDs - and the wires are even color coded!

<a...></a...>

In Stock
[Buy Now](https://www.adafruit.com/product/3893)
[Related Guides to the Product](https://learn.adafruit.com/products/3893/guides)
### Adafruit Pocket Screwdriver - Black

[Adafruit Pocket Screwdriver - Black](https://www.adafruit.com/product/3284)
Have you ever been in a situation where you desperately&nbsp;needed a screwdriver _right away_? Now you can have one at-the-ready all the time —&nbsp;enter the **Adafruit Pocket Screwdriver**!

OK, it's a little tough to write exciting copy for a pocket...

In Stock
[Buy Now](https://www.adafruit.com/product/3284)
[Related Guides to the Product](https://learn.adafruit.com/products/3284/guides)
### Spudger - Double Sided Prying Tool

[Spudger - Double Sided Prying Tool](https://www.adafruit.com/product/3434)
Is there something missing from your tool kit or workstation? Are you having trouble figuring out which elusive tool it is that you're lacking?&nbsp;Perhaps it's a spudger!&nbsp;"A what?"&nbsp;A&nbsp; **s-p-u-d-g-e-r**! It's&nbsp;a prying tool that has a wide...

In Stock
[Buy Now](https://www.adafruit.com/product/3434)
[Related Guides to the Product](https://learn.adafruit.com/products/3434/guides)
### Hakko Professional Quality 20-30 AWG Wire Strippers

[Hakko Professional Quality 20-30 AWG Wire Strippers](https://www.adafruit.com/product/527)
These are the finest wire strippers we have used, and if you have to do a lot of wiring, you will agree! They have soft rounded grips - very comfortable to use, and precision ground notches that do a perfect job every time. No more yanking or twisting to strip wires cleanly and quickly.<br...></br...>

In Stock
[Buy Now](https://www.adafruit.com/product/527)
[Related Guides to the Product](https://learn.adafruit.com/products/527/guides)
### Digital Genuine Hakko FX888DX-010SV (936 upgrade)

[Digital Genuine Hakko FX888DX-010SV (936 upgrade)](https://www.adafruit.com/product/1204)
Known by engineers for making excellent quality tools & soldering irons! This is a genuine Hakko FX-888D with **digital temperature control**! We worked hard to get the best and a great price, these are **not** &nbsp;knock-offs. This iron is an upgrade to the...

No Longer Stocked
[Buy Now](https://www.adafruit.com/product/1204)
[Related Guides to the Product](https://learn.adafruit.com/products/1204/guides)
### Solder Wire - 60/40 Rosin Core - 0.5mm/0.02" diameter - 50 grams

[Solder Wire - 60/40 Rosin Core - 0.5mm/0.02" diameter - 50 grams](https://www.adafruit.com/product/1886)
If you want to make a kit you'll need some solder. This 0.1 lb (about 50 grams) spool is a good amount, not too much (like 1 lb spools) and not too little (like those little 'pocket clip' vials).  
  
This spool of solder contains approximately 0.6mm / .02" diameter in...

Out of Stock
[Buy Now](https://www.adafruit.com/product/1886)
[Related Guides to the Product](https://learn.adafruit.com/products/1886/guides)
### USB cable - USB A to Micro-B

[USB cable - USB A to Micro-B](https://www.adafruit.com/product/592)
This here is your standard A to micro-B USB cable, for USB 1.1 or 2.0. Perfect for connecting a PC to your Metro, Feather, Raspberry Pi or other dev-board or microcontroller

Approximately 3 feet / 1 meter long

In Stock
[Buy Now](https://www.adafruit.com/product/592)
[Related Guides to the Product](https://learn.adafruit.com/products/592/guides)

## Related Guides

- [Adafruit PyPortal - IoT for CircuitPython](https://learn.adafruit.com/adafruit-pyportal.md)
- [Melting Picture Frame for PyPortal IoT images](https://learn.adafruit.com/pyportal-art-display.md)
- [Where's My Friend? A Location-Aware Display with PyPortal and ItsASnap](https://learn.adafruit.com/where-s-my-friend-a-location-display-frame-with-pyportal.md)
- [PyPortal ISS Tracker](https://learn.adafruit.com/pyportal-iss-tracker.md)
- [Simple Vertical Wordclock](https://learn.adafruit.com/vertical-wordclock.md)
- [CircuitPython Day 2020 Countdown Clock](https://learn.adafruit.com/circuitpython-day-2020-countdown-clock.md)
- [PyPortal 2FA TOTP Authentication Friend](https://learn.adafruit.com/pyportal-2fa-totp-authentication-friend.md)
- [PyPortal YouTube Views and Subscribers Display](https://learn.adafruit.com/pyportal-youtube-views-and-subscribers-display.md)
- [PyPortal Calculator using the Displayio UI Elements](https://learn.adafruit.com/pyportal-calculator-using-the-displayio-ui-elements.md)
- [PyPortal IoT Data Logger with Analog Devices ADT7410, Adafruit IO and CircuitPython](https://learn.adafruit.com/iot-pyportal-data-logger-adafruitio-circuitpython.md)
- [IoT Power Outlet with CircuitPython and Adafruit IO](https://learn.adafruit.com/adafruit-io-a-c-power-relay.md)
- [Use circup to easily keep your CircuitPython libraries up to date](https://learn.adafruit.com/keep-your-circuitpython-libraries-on-devices-up-to-date-with-circup.md)
- [Smart Mirror with PyPortal](https://learn.adafruit.com/smart-mirror-with-pyportal.md)
- [AdaBox 011](https://learn.adafruit.com/adabox011.md)
- [PyPortal Email Display with Zapier and Adafruit IO](https://learn.adafruit.com/pyportal-email-display.md)
- [A Logger for CircuitPython](https://learn.adafruit.com/a-logger-for-circuitpython.md)
