Peripheral Component Interconnect Express (PCIe) is more than just a high-speed serial bus that’s widely used in computers. PCIe is also found in some embedded systems and is a cost-effective, high performance, reliable, low-latency, and low power bus that can rapidly transfer data directly between PCIe-connected devices. PCIe-connected devices are typically CPUs, GPUs, FPGAs, PCIe-connected […]
What is DDR (Double Data Rate) memory and SDRAM memory?
DDR SDRAM is a stack of acronyms. Double Data Rate (DDR) Synchronous Dynamic Random Access Memory (SDRAM) is a common type of memory used as RAM for most every modern processor. First on the scene of this stack of acronyms was Dynamic Random-Access Memory (DRAM), introduced in the 1970s. DRAM is not regulated by a […]
Microcontroller power source considerations for Arduino
Powering an Arduino has a little magic to it. It wasn’t obvious to me when I first started working with them, but Arduinos have on-board regulation. Taking advantage of this allows for longer power supply wiring runs by using a higher voltage power supply than the nominal 5V or 3.3V needed by the microcontroller (MCU) […]
8-bits and counting: 8-bit MCUs are still going strong
Microcontroller units (MCUs) never stop evolving; a more functional, featured MCU follows every model. Embedded systems have grown with continually growing MCU technology, yet there are many traditional MCUs that are still selling in high volumes. Atmel 8051 is one of those legendary MCUs which have developed a considerable demand in the market. The Atmel […]
The complexities of cache
Traditionally a cache is a safe place to keep things hidden until you can retrieve them. However, a cache within computer terminology is any storage that is managed to take advantage of location for rapid access. Cache is local memory that exists in the data path between the processor and main memory. A cache will […]
Understanding single-ended and differential communication systems
Do you know the difference between single-ended and differential communication schemes? And when should you use them, which one you should use, and why? Single-ended communications set ups are meant to be used only for short runs or to provide communication between devices on the same Printed Circuit Board (PCB). Single-ended communications will reference the […]
DIY Artificial Intelligence
Machines are now faster and more accurate than humans at identifying information in images. Machines don’t get bored looking for flaws in widgets for hours at a time without a break. There’s been a lot of talk in the news about how Artificial Intelligence (AI) will replace jobs. The industrial revolution displaced thousands of people […]
Understanding delay for I/O: Using Arduino functions vs. coding the MCU
Sometimes the conveniences of using an Arduino board start to conflict with the performance that you expect, at least from a strict engineering point of view. When you develop with the Arduino Integrated Development Environment (IDE), there are some things you need to know to understand the processing delays, functions, and how to overcome them […]
Protecting an MCU: Build your own optocoupler
Microcontrollers are widely used for controlling transistors and relays. Transistors and relays are used for actuating or (energizing) equipment with a higher voltage than an MCU can handle. For example, fans, lights, television, door locks, furnaces, and appliances can be automated using an MCU. However, most operate at higher voltages than the voltage tolerances designated […]
What’s new with Wi-Fi 6? Focus on high-efficiency
The first widespread home electrical appliance was the toaster, and 90% of homes today still have one.[i] Today, wireless connectivity to the internet is as ubiquitous as electricity was a hundred years ago. Smartphones, tablets, wearables, laptops, televisions, Nest thermostats, Alexa, Google Home, Ring video doorbell sensors, surveillance cameras, door locks, smart lighting, and anything […]