When it is time to move away from delay(), it’s time to learn how to properly use millis(). If you’ve had trouble following my millis() examples, maybe a live tutorial will help.
In this AddOhms Livestream, I go through 4 code examples:
1. Blink, the one with delay(), as a starting point.
2. Blink Without Delay, line by line, what is it doing
3. PWM Fading without delay() (and with buttons)
4. Binary counter that uses buttons to speed up and slow down.
Over the past year, I have been a Hackerboxes subscriber. When the first couple arrived, I opened them up immediately. In fact, I got my first ESP32 through Hackerboxes.
Sadly, I got caught up in so many things I stopped opening them causing them pile up. So to close out 2017, I’m Unboxing Hackerboxes live while answering your electronics questions.
Previously, I wrote up a hands-on with the PicoScope 2204A. At the time I only spent a few minutes with the device. I used it to “debug” an I2C bus between an Arduino and OLED screen. Since that initial hands-on, I’ve used the PicoScope in my lab. Most notably, I hosted another “hands-on” via an AddOhms Live Stream. I used it for another live stream where I talked about op-amps. Unfortunately, the video isn’t watchable due to some technical difficulties.
However, both of those activities plus debugging a new project I’m working on, gave me a chance to understand this humble USB-based oscilloscope. Now that I’ve held well over a month of bench time with it, I can say I am happy with the 2204A. If you’re looking for a low-cost, but fully featured oscilloscope, give the PicoScope 2204A a consideration. For more details on why I feel that way, click the button below to see my full write review on element14.
Sunday September 24, 2017, I will host the 2nd live stream of AddOhms. My first live stream was a test for the technology pieces. I’ve made some refinements and am giving it a second try. For that reason, I’m keeping the topic really simple.
The Agenda for the Live Stream is:
Introduction
News (3 stories or projects that I found interesting)
Op Amps with the XL741
Q&A
Whatever surprises pop-up.
In the livestream, I’ll be talking about inverting and non-inverting circuits using an op-amp. But I am not going to use just ANY op-amp. I’ll be using the MASSIVE XL741! (I did a review of Evil Mad Scientist Lab’s XL741 in the past.)
In this video, I discuss considerations for SSD Capacitors, with a focus on enterprise applications. (No, not the ship kind, the business kind.) As more consumer devices use solid state technology, it gets easier for us to forget the importance of keeping data safe during storage. While solid state drives are more robust than their spinning counterpart, they are not perfect. Just like with spinning drives, there is a small delay from when a write occurs until the data is stored permanently. The highest performance solid state drives parallelize data in a way to minimize this propagation time. However, these drives also keep an active copy of the allocation table in RAM.
Just like the RAM in a PC, when power is lost, so are the contents. So it is critical for a solid state drive to have a reserve bank of energy to dump the RAM contents into permanent storage. Modern drives use huge banks of capacitors to write out any RAM buffers when the system’s rail voltage suddenly disappears.
Like other websites, this one uses cookies to remember things. Mostly, I use Google Analytics to know how many people come here. ¯\_(ツ)_/¯
By clicking “Accept”, you consent to the use of ALL the cookies.
This website uses cookies to improve your experience while you navigate through the website. Out of these, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may affect your browsing experience.
Necessary cookies are absolutely essential for the website to function properly. These cookies ensure basic functionalities and security features of the website, anonymously.
Cookie
Duration
Description
cookielawinfo-checkbox-advertisement
1 year
Set by the GDPR Cookie Consent plugin, this cookie is used to record the user consent for the cookies in the "Advertisement" category .
cookielawinfo-checkbox-analytics
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Analytics".
cookielawinfo-checkbox-functional
11 months
The cookie is set by GDPR cookie consent to record the user consent for the cookies in the category "Functional".
cookielawinfo-checkbox-necessary
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookies is used to store the user consent for the cookies in the category "Necessary".
cookielawinfo-checkbox-others
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Other.
cookielawinfo-checkbox-performance
11 months
This cookie is set by GDPR Cookie Consent plugin. The cookie is used to store the user consent for the cookies in the category "Performance".
CookieLawInfoConsent
1 year
Records the default button state of the corresponding category & the status of CCPA. It works only in coordination with the primary cookie.
viewed_cookie_policy
11 months
The cookie is set by the GDPR Cookie Consent plugin and is used to store whether or not user has consented to the use of cookies. It does not store any personal data.
Functional cookies help to perform certain functionalities like sharing the content of the website on social media platforms, collect feedbacks, and other third-party features.
Cookie
Duration
Description
language
session
This cookie is used to store the language preference of the user.
Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.
Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics the number of visitors, bounce rate, traffic source, etc.
Cookie
Duration
Description
_ga
2 years
The _ga cookie, installed by Google Analytics, calculates visitor, session and campaign data and also keeps track of site usage for the site's analytics report. The cookie stores information anonymously and assigns a randomly generated number to recognize unique visitors.
_ga_LHR6J24XSY
2 years
This cookie is installed by Google Analytics.
_gat_gtag_UA_42726312_1
1 minute
Set by Google to distinguish users.
_gid
1 day
Installed by Google Analytics, _gid cookie stores information on how visitors use a website, while also creating an analytics report of the website's performance. Some of the data that are collected include the number of visitors, their source, and the pages they visit anonymously.
browser_id
5 years
This cookie is used for identifying the visitor browser on re-visit to the website.
CONSENT
2 years
YouTube sets this cookie via embedded youtube-videos and registers anonymous statistical data.
Advertisement cookies are used to provide visitors with relevant ads and marketing campaigns. These cookies track visitors across websites and collect information to provide customized ads.
Cookie
Duration
Description
VISITOR_INFO1_LIVE
5 months 27 days
A cookie set by YouTube to measure bandwidth that determines whether the user gets the new or old player interface.
YSC
session
YSC cookie is set by Youtube and is used to track the views of embedded videos on Youtube pages.
yt-remote-connected-devices
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt-remote-device-id
never
YouTube sets this cookie to store the video preferences of the user using embedded YouTube video.
yt.innertube::nextId
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.
yt.innertube::requests
never
This cookie, set by YouTube, registers a unique ID to store data on what videos from YouTube the user has seen.