# Love Notes to Newton

Not that long ago, tech pundits would run articles like “The biggest technology flops in history” and “Apple’s Worst Products and Biggest Failures”. These lists would always contain Apple’s Newton handheld computer. Was it a failure? I don’t think so, but you can decide for yourself.

# An Introduction to BCD

It’s 9:31, do you know where your bits are? A lot of real time clocks use binary coded decimal or BCD to store the time. BCD isn’t a common format but you will probably run into it at some point. This time, we look at BCD and how to convert it to binary.

# 0-1-2-3-4-5-6-7-10

Andrei’s back. In this week’s post, Andrei looks at the weird world of octal. Where did that come from?

# Don't Use Arduino (For Professional Work)

Arduino is an excellent prototyping platform. It is wonderful for its ease of use and speed with which to get started. I'm happy to say lots of good, heartfelt things about the whole Arduino ecosystem.

But don't ask me to use it in products.

# Current Per Pin - Part 2

This time, Andrei concludes his investigation of electric current by looking at LEDs and the ability of microcontrollers to supply current..

# Current Per Pin - Part 1

In this post, Andrei's 50th (yay), we start looking at electric current. First a crappy explanation of what current is, then a few examples of current draw to give a feel of current scale. Finally, an experiment.

Next week we'll apply this to LEDs and our processors. Stay tuned.

# Looking Out For Number 1

This week Andrei presents a pin 1 spotting guide. Chips, circuit boards, and connectors are all numbered, and this is your guide to figuring out what on your schematic is where on a circuit board.

Plus Penguin music.

# I Apply SPI: Good Vibrations

This week, we take a look at the firmware involved in using the SPI bus. From the function calls to control the select pin then send out some data via the SPI bus, the form and specifics of the command structure for an accelerometer, and then we get some data flowing.

Busted data sheets, 16-bit values, and right handed chips - how can you pass this up?

# I Apply SPI: Making Connections

This time, Andrei blends together schematics and oscilloscope traces, pours over data sheets and diagrams, and sifts through the jargon of SPI.

The result is a richer understanding of SPI with a side of CubeMX parameters.

# I Apply SPI: Scrawls and Traces

Once we get into the nitty-gritty of SPI, there is going to be a lot of schematics and oscilloscope pictures that we have to figure out. Now is the time to get up to speed on schematic notation and oscilloscopes.

# I SPI

Today we venture into the inky shadows of SPI; the selections, the ticking clocks, the simultaneous data transfers. And what about Naomi?

# DMA - Monster Machines Moving Massive Memory Mounds

Need to move big amounts of dirt? You could use a tea spoon or something designed for the job, like a dump truck, or a really big dump truck.

In our programs, occasionally, we have to move large blocks of data.  We can move it item by item, or bring out the data moving dump truck of computing, DMA.

This week, Andrei presents two examples of using DMA (with code included).

# DMA - A Little Help From My Friends

Do you need to shoot out a block of data to your SD card and polling is getting you down? Is your system getting crushed by UART interrupts? Direct Memory Access (DMA) is the answer.

DMA is really useful, but it's treated like computer voodoo by many. This week Andrei introduces us to the concepts behind DMA and gives a few examples.

# Embedded Software: The Tricky Parts

This is an overview post for the whole tricky series. It will get updated with new posts as they are published.

# Creative Destruction Board

If we learn so much from failure, why don’t we embrace it a little more fervently?

# Discovery: UART Input

Andrei is back from his Christmas hiatus and brings us a post introducing getting input from a UART.

Previously he had covered output using printf, a helper function called _write, and the HAL routine to send data out of the UART. This time we use the other half of the UART, a different HAL routine, _read, and getchar.

# Discovery: UARTs Part 3 - The Final Step

This week Andrei explains how to get a UART working using Cube. How to get printf working. And introduces the newlib standard library.

This is Andrei's final blog post of 2016, and it'll be useful for your Christmas break project where you learn about ARM processors using CubeMX and ST's Discovery board.

# Discovery: UARTs Part 2 - Connections

Using the UART on our Discovery board requires a little extra hardware before we can use it for debugging.

This week, Andrei reviews some of the ways to hook the Discovery board to your PC.