The Neuron – A Hackers Perspective

It’s not too often that you see handkerchiefs around anymore. Today, they’re largely viewed as unsanitary and well… just plain gross. You’ll be quite disappointed to learn that they have absolutely nothing to do with this article other than a couple of similarities they share when compared to your neocortex. If you were to pull the neocortex from your brain and stretch it out on a table, you most likely wouldn’t be able to see that not only is it roughly the size of a large handkerchief; it also shares the same thickness.

The neocortex, or cortex for short, is Latin for “new rind”, or “new bark”, and represents the most recent evolutionary change to the mammalian brain. It envelopes the “old brain” and has several ridges and valleys (called sulci and gyri) that formed from evolution’s mostly successful attempt to stuff as much cortex as possible into our skulls. It has taken on the duties of processing sensory inputs and storing memories, and rightfully so. Draw a one millimeter square on your handkerchief cortex, and it would contain around 100,000 neurons. It has been estimated that the typical human cortex contains some 30 billion total neurons. If we make the conservative guess that each neuron has 1,000 synapses, that would put the total synaptic connections in your cortex at 30 trillion — a number so large that it is literally beyond our ability to comprehend. And apparently enough to store all the memories of a lifetime.

In the theater of your mind, imagine a stretched-out handkerchief lying in front of you. It is… you. It contains everything about you. Every memory that you have is in there. Your best friend’s voice, the smell of your favorite food, the song you heard on the radio this morning, that feeling you get when your kids tell you they love you is all in there. Your cortex, that little insignificant looking handkerchief in front of you, is reading this article at this very moment.

What an amazing machine; a machine that is made possible with a special type of cell – a cell we call a neuron. In this article, we’re going to explore how a neuron works from an electrical vantage point. That is, how electrical signals move from neuron to neuron and create who we are.

A Basic Neuron

Neuron diagram via Enchanted Learning

Despite the amazing feats a human brain performs, the neuron is comparatively simple when observed by itself. Neurons are living cells, however, and have many of the same complexities as other cells – such as a nucleus, mitochondria, ribosomes, and so on. Each one of these cellular parts could be the subject of an entire book. Its simplicity arises from the basic job it does – which is outputting a voltage when the sum of its inputs reaches a certain threshold, which is roughly 55 mV.

Using the image above, let’s examine the three major components of a neuron.


The soma is the cell body and contains the nucleus and other components of a typical cell. There are different types of neurons whose differing characteristics come from the soma. Its size can range from 4 to over 100 micrometers.


Dendrites protrude from the soma and act as the inputs of the neuron. A typical neuron will have thousands of dendrites, with each connecting to an axon of another neuron. The connection is called a synapse but is not a physical one. There is a gap between the ends of the dendrite and axon called a synaptic cleft. Information is relayed through the gap via neural transmitters, which are chemicals such as dopamine and serotonin.


Each neuron has only a single axon that extends from the soma, and acts similar to an electrical wire. Each axon will terminate with terminal fibers, forming synapses with as many as 1,000 other neurons. Axons vary in length and can reach a few meters long. The longest axons in the human body run from the bottom of the foot to the spinal cord.

The basic electrical operation of a neuron is to output a voltage spike from its axon when the sum of its input voltages (via its dendrites) crosses a specific threshold. And since axons are connected to dendrites of other neurons, you end up with this vastly complicated neural network.

Since we’re all a bunch of electronic types here, you might be thinking of these ‘voltage spikes’ as a difference of potential. But that’s not how it works. Not in the brain anyway. Let’s take a closer look at how electricity flows from neuron to neuron.

Action Potentials – The Communication Protocol of the Brain

The axon is covered in a myelin sheet which acts as an insulator. There are small breaks in the sheet along the length of the axon which are named after its discoverer, called Nodes of Ranvier. It’s important to note that these nodes are ion channels. In the spaces just outside and inside of the axon membrane exists a concentration of potassium and sodium ions. The ion channels will open and close, creating a local difference in the concentration of sodium and potassium ions.

Diagram via Washington U.

We all should know that an ion is an atom with a charge. In a resting state, the sodium/potassium ion concentration creates a negative 70 mV difference of potential between the outside and inside of the axon membrane, with there being a higher concentration of sodium ions outside and a higher concentration of potassium ions inside. The soma will create an action potential when -55 mV is reached. When this happens, a sodium ion channel will open. This lets positive sodium ions from outside the axon membrane to leak inside, changing the sodium/potassium ion concentration inside the axon, which in turn changes the difference of potential from -55 mV to around +40 mV. This process in known as depolarization.

Graph via Washington U.

One by one, sodium ion channels open along the entire length of the axon. Each one opens only for a short time, and immediately afterward, potassium ion channels open, allowing positive potassium ions to move from inside the axon membrane to the outside. This changes the concentration of sodium/potassium ions and brings the difference of potential back to its resting place of -70 mV in a process known as repolarization. Fro start to finish, the process takes about five milliseconds to complete. The process causes a 110 mV voltage spike to ride down the length of the entire axon, and is called an action potential. This voltage spike will end up in the soma of another neuron. If that particular neuron gets enough of these spikes, it too will create an action potential. This is the basic process of how electrical patterns propagate throughout the cortex.

The mammalian brain, specifically the cortex, is an incredible machine and capable of far more than even our most powerful computers. Understanding how it works will give us a better insight into building intelligent machines. And now that you know the basic electrical properties of a neuron, you’re in a better position to understand artificial neural networks.


Action Potential in Neurons, via Youtube

On Intelligence, by Jeff Hawkins, ISDN 978-0805078534

How the Human Brain Stores Data

Evolution is one clever fellow. Next time you’re strolling about outdoors, pick up a pine cone and take a look at the layout of the bract scales. You’ll find an unmistakable geometric structure. In fact, this same structure can be seen in the petals of a rose, the seeds of a sunflower and even the cochlea bone in your inner ear. Look closely enough, and you’ll find this spiraling structure everywhere. It’s based on a series of integers called the Fibonacci sequence. Leonardo Bonacci discovered the sequence while trying to figure out how many rabbits he could make starting with just two. It’s quite simple — add the right most integer to the previous one to get the next one in the sequence. Starting from zero, this would give you 0-1-1-2-3-5-8-13-21 and so on. If one was to look at this sequence in the form of geometric shapes, they can create square tiles whose sides are the length of the value in the sequence. If you connect the diagonal corners of these tiles with an infinite curve, you end up with the spiral that you saw in the pine cone and other natural objects.

Source via Geocaching

So how did mother nature discover this geometric structure? Surely it does not know math. How then can it come up with intricate and sophisticated structures? It turns out that this Fibonacci spiral is the most efficient way of squeezing the most amount of stuff in the least amount of space. And if one takes natural selection seriously, this makes perfect sense. Eons of trial and error to make the most copies of itself has stumbled upon a mathematical principle that permeates life on earth.

Source via John Simmons

The homo sapiens brain is the product of this same evolutionary process, and has been evolving for an estimated 7 million years. It would be foolish to think that this same type of efficiency natural selection has stumbled across would not be present in the current homo sapiens brain. I want to impress upon you this idea of efficiency. Natural selection discovered the Fibonacci sequence solely because it is the most efficient way to do a particular task. If the brain has a task of storing information, it is perfectly reasonable that millions of years of evolution has honed it so that it does this in the most efficient way possible as well. In this article, we shall explore this idea of efficiency in data storage, and leave you to ponder its applications in the computer sciences.

Continue reading “How the Human Brain Stores Data”

STM32 Nucleo, The Mbed-Enabled, Arduino-Compatable Board

The STM32 line of microcontrollers – usually seen in the form of an ST Discovery dev board – are amazingly powerful and very popular micros seen in projects with some very hefty processing and memory requirements. Now, ST has released a great way to try out the STM32 line with the Nucleo board.

There are two really great features about these new Nucleo boards. First, they’re mbed compatable, making them a great way to get started in the ARM development world. Secondly, they have Arduino pin headers right on the board, giving you access to all your shields right out of the box.

Right now, there are four varieties of the Nucleo board based on the STM32F030, -F103, -F152, and -F401 microcontrollers. The STM32F401 is the high-powered variant, An ARM Cortex-M4 microcontroller running at 84 MHz, 512kB of Flash, and enough I/O for just about any project.

If you’d like to get your hands on one of the STM32 Nucleo boards, you can order a voucher to pick one up at Embedded World in Germany next week. Otherwise, you’re stuck ordering from Mouser or Farnell. Bonus: the high-end F401-based board is only $10 USD.

A $5 ARM development board

Most of you know that there are plenty of ARM powered development boards out there, so you may not be really sure what a new one can still bring to the table.

With a $5 price tag, the open hardware McHck (pronounced McHack) is meant for quickly building projects on a small budget. The board created by [Simon] is based on a Freescale Cortex M4 microcontroller, and can be plugged directly into one’s computer. As a Direct Firmware Update (DFU) bootloader is present on the microcontroller, there is no need for external programming equipment.

The board has unpopulated footprints that allow users to add other functionalities that may be required for their future projects: a Real Time Clock (RTC), a Boost regulator for single cell battery operation, Buck and linear regulators, a Lithium Polymer (LiPo) battery charger and even an External Flash storage.

The Bill of Materials can be found on the project wiki and the McHck community will soon launch a crowdfunding campaign to send the 5th version of the board to all the hobbyists that may be interested.

And if you’re curious, you can also have a look at all the other boards that Hackaday featured these last months: the browser based IDE arm boardquad-core ARM dev board and the Matchbox ARM.

Free (…as in ‘free beer’) ARM kit

NXP holds a lot of market share for their ARM based solutions as it is. That’s why we were a little surprised when we found a link on their website announcing that they were giving away free LPCXpresso development boards, based on their Cortex-M0 line.

Catches? Unfortunately there are a few to get the board shipped and running. In order to do so, you must…

  • register with a corporate email address
    …the promo is targeted at engineers
  • use the crippled IDE supplied with the board
    …due to hard to find (non-existent?) documentation for the integrated LPC-Link
  • upload an original video of the physical destruction of a competing board to the NXP website

While killing your Arduino may not sound like the most fun, some qualified readers may be interested in moving up to 32-bits for a price that is hard to beat.

SmartLCD makes video for microcontrollers easy

[Rossum] developed a host board that makes it easy to drive a TFT screen using an inexpensive microcontroller. He’s looked around at a bunch of LCD’s that are easy to get your hands on and decided that the iPod Nano 2G screens are the right balance of performance (176×132 TFT) and low cost ($1-$5). They’re not particularly difficult to talk to, but with 22 pins they’re a bit hardware hungry.

He takes us through the signal sniffing he used to figure out the communications process. From there he harness the power of an ARM Cortex M0 processor, which he’s worked with in the past, to drive the screen. His implementation results in a driver board called the SmartLCD that takes care of the screen’s parallel protocol, power, and backlight. From there it’s just four connections and you can use a small microcontroller like the Arduino seen above with ease. See what it can do after the break.

Continue reading “SmartLCD makes video for microcontrollers easy”

Gaming system for less than three bucks

[Rossum’s] latest project just hit and as usual, he doesn’t disappoint. Using an ARM cortex M0 he built a gaming system for less than $3 in parts. The M0 is a bit underpowered for this but at $1 it can’t be beat in price. He worked some video generation voodoo to get the signal he wanted but also mentions that upgrading to a bit more expensive chip like the Cortex M3 would solve this problem. The other part of the gaming system is an analog stick (again for about $1) that is the only input for the system.

Can’t say that you remember hearing about [Rossum] before? Go back and check out his Wikipedia reader, AVR media player, and AVR iPod touch killer.