Category Archives: Electronics

Arduino Uno vs BeagleBone vs Raspberry Pi

                                     Arduino Uno vs BeagleBone vs Raspberry Pi

main  Left to right: Arduino Uno, BeagleBone, Raspberry Pi

There is always some sort of project going on. These days, most of our projects include some sort of digital component – a microprocessor. If you haven’t gotten bitten by the Maker bug yet, we strongly encourage it. It can be incredibly rewarding. If you have even a minimal understanding of programming, there are websites, platforms and tools to help you develop your skills to the point where you actually create a hardware device with buttons, knobs and servos – a real physical world gadget. Software is fun, but when you can make your project physical it is even better.There are so many great platforms for creating digitally enabled devices that its gotten hard to figure out which one to use.

The three models are the ArduinoRaspberry Pi and BeagleBone. We chose these three because they are all readily available, affordable, about the same size (just larger than 2″ x 3″) and can all be used for creating wonderful digital gadgets. Before we get to the comparison, here is a brief introduction to each one. BeagleBone Black is the new Board in the town which is community-supported development platform for developers and hobbyists.

                                                         Arduino with Atmel


The Arduino Uno is a staple for the maker community.  Arduinos come in various sizes and flavors, but we chose the Arduino Uno as an example of the prototypical Arduino.  It has an easy to use development environment, an avid user base and is designed to be easy to interface all sorts of hardware to.



The Raspberry Pi is the newcomer to the game.  It isn’t really an embedded computer.  It is actually a very inexpensive full-on desktop computer.  It is barebones, but at $35 for a real computer, its worthy of note, and it is a great platform for lots of Maker projects.



The BeagleBone is the perhaps the least known of these platforms, but an incredibly capable board worthy of consideration for many projects.  It is a powerful Linux computer that fits inside an Altoid’s mint container.

Comparing the Three Platforms


All three boards features that make them valuable to the hobbyist.  Below is a chart I put together outlining the features of the three for comparison.  If you aren’t familiar with what all these mean, that is fine.  However, there are a few differences that make each of these gadgets shine in their own types of applications.

First, the Arduino and Raspberry Pi and very inexpensive at under $40. The BeagleBone comes in at nearly the cost of three Arduino Unos. Also worthy of note is that the clock speed on the Arduino is about 40 times slower than the other two and it has 128,000 (!) times less RAM. Already, you can see the differences starting to come out. The Arduino and Raspberry Pi are inexpensive and the Raspberry Pi and BeagleBone are much more powerful. Seems like the Raspberry Pi is looking really good at this point, however, it’s never that simple. First, its price isn’t quite as good as it seems because to run the Raspberry Pi you need to supply your own SD Card which will run you another $5-10 in cost.


An interesting feature of the BeagleBone and the Raspberry Pi is that they run off of a flash memory card (SD Card in the case of Raspberry Pi and MicroSD Card in the case of BeagleBone). What this means is that you can give these boards a brain transplant just by swapping the memory card. You can have multiple configurations and setups on different cards and when you swap cards, you’ll be right where you left off with that particular project. Since both of these boards are fairly sophisticated, it even means that you can easily change operating systems just by creating different cards to swap in.Also, despite the clock speed similarities, in our tests the BeagleBone ran about twice as fast as the Raspberry Pi. And perhaps most counterintuitive, the Arduino was right in the mix as far as performance goes as well, at least for a beginner. The reason for this is that the Raspberry Pi and BeagleBone both run the Linux operating system. This fancy software makes these systems into tiny computers which are capable of running multiple programs at the same time and being programmed in many different languages. The Arduino is very simple in design. It can run one program at a time and it programmed in low level C++.


Choosing a Platform

So why would you choose one platform over the other?

For the beginner, Arduino is recommend. It has the largest community of users, the most tutorials and sample projects and is simplest to interface to external hardware. The boards are designed to easily interface with a wide variety of sensors and effectors without and external circuitry, so you don’t need to know much about electronics at all to get started. If you haven’t played with these before, get one (they’re inexpensive) and try it. It can be a really great experience.

Raspberry Pi

A credit-card sized computer that plugs right into your TV. It has many of the capabilities of a traditional PC and can be used for word-processing, spreadsheet, and games.



It’s the low cost, high-expansion hardware-hacker focused BeagleBoard for people that love embedded Linux systems. Basically a bare bones BeagleBoard, it can run all by itself or act as a USB or Ethernet connected expansion for your current BeagleBoard or BeagleBoard-xM.

                                                                    Arduino Uno

arduinoAn amazing tool for physical computing — it’s an open source microcontroller board, plus a free software development environment.

For applications minimizing size Arduino is recommend.

All three devices are similar in size, although the Raspberry Pi SD Memory card sticks out a bit making it slightly larger overall.  There are so many different flavors of Arduinos it is ridiculous.  Basically, what makes an Arduino an Arduino is a particular microprocessor and a little bit of software.  It uses a very small, inexpensive, embedded system on a chip microprocessor from a company named Atmel.  For advanced projects that need to be really small, you can buy these chips for a dollar or two and put the Arduino bootloader (a program that makes the Arduino give the Arduino its basic functions) on the chip and viola, you have an Arduino.

24                                A variety of different Arduino sizes and form factors

The BeagleBoard


The BeagleBoard has a larger and more powerful big brother, the BeagleBoard, so if you may need to scale up, the BeagleBone is a good choice.

25                                      The Arduino Uno, BeagleBone and Raspberry Pi. Note the Ethernet ports on the BeagleBone and Raspberry Pi

                                                             BeagleBone Black


Processor: AM335x 1GHz ARM® Cortex-A8

  • 512MB DDR3 RAM
  • 2GB 8-bit eMMC on-board flash storage
  • 3D graphics accelerator
  • NEON floating-point accelerator
  • 2x PRU 32-bit microcontrollers

 Software Compatibility

  • Ångström Linux
  • Android
  • Ubuntu
  • Cloud9 IDE on Node.js w/ BoneScript library

BeagleBone Black is a $45 MSRP community-supported development platform for developers and hobbyists. Boot Linux in under 10 seconds and get started on development in less than 5 minutes with just a single USB cable.

For applications that connect to the internet, the BeagleBone or Raspberry Pi is recommended.

Both these devices are real linux computers. They both include Ethernet interfaces and USB, so you can connect them to the network relatively painlessly. Via USB, you can connect them to wireless modules that let then connect to the internet without wires. Also, the Linux operating system has many components built-in that provide rather advanced networking capabilities.

A very small USB WiFi adapter plugs right in to the BeagleBone or Raspberry Pi, and the Linux operating system can support these types of devices

The Arduino supports plug-in peripherals called “shields” that include the ability to connect to Ethernet, but the access to the networking functions is fairly limited. Plus by the time you buy the Ethernet shield you might as well just get one of the more advanced boards.

For applications that interface to external sensors Arduino and the BeagleBone is recommended.

The Arduino makes it the easiest of any of the boards to interface to external sensors. There are different versions of the board that operate at different voltages (3.3v vs 5v) to make it easier to connect to external devices. The BeagleBone only operates with 3.3v devices and will require a resistor or other external circuitry to interface to some devices. Both the Arduino and BeagleBone have analog to digital interfaces that let you easily connect components that output varying voltages. The BeagleBone has slightly higher resolution analog to digital converters which can be useful for more demanding applications.

With that said, it is important note that many things that you would want to connect to, including little sensors, have digital interfaces called I2C or SPI. All three boards support these types of devices and can talk to them fairly easily.

For battery powered applications, Arduino is recommended.

The Arduino uses the least power of the bunch, although, in terms of computer power per watt, the BeagleBone is the clear winner.  However, the Arduino has an edge here since it can work with a wide range of input voltages.  This allows it to run from a variety of different types of batteries and keep working as the battery loses juice. The Arduino uses the least power of the bunch, although, in terms of computer power per watt, the BeagleBone is the clear winner.  However, the Arduino has an edge here since it can work with a wide range of input voltages.  This allows it to run from a variety of different types of batteries and keep working as the battery loses juice.

For applications that use a graphical user interface, Raspberry Pi is recommended.  The Raspberry Pi is really in a category by itself because it has an HDMI output.   That means you can plug in a mouse and keyboard and connect it directly to your TV.  At that point you have a fully functional computer with graphical user interface.  This makes the Raspberry Pi ideal for use as a low cost web browsing device of for creating kiosk-type projects where you may have a display that people interact with.  In fact, just for fun, we installed the Arduino development tools on the Raspberry Pi and we were able to write a small program and download it to an Arduino from the Raspberry Pi.  It’s not a very fast computer, but it really is a computer.


The Arduino is a flexible platform with great ability to interface to most anything. It is a great platform to learn first and perfect for many smaller projects. The Raspberry Pi is good for projects that require a display or network connectivity. It has incredible price/performance capabilities.

The BeagleBone is a great combination of some of the interfacing flexibility of the Arduino with the fast processor and full Linux environment of the Raspberry Pi (more so in fact). So, for example, to monitor our hydroponic garden, we will likely use the BeagleBone since it has good input/output features and can easily connect to the network, so we can have it run a web server to make its readings available to us.

Original Post::


The Following Post is one of the Innovative Noticeable Ideas that grabbed my attention recently.


Control the movements of a live cockroach from your own mobile device! This is the world’s first commercially available cyborg!

What is the RoboRoach?

The RoboRoach is the world’s first commercially available cyborg! That’s right… A real-life Insect Cyborg! Part cockroach and part machine. This is not a gimmick… just good ol’ fashion neuroscience, evolution and engineering.

How does it work?

Roboroach is an innovative marriage of behavioral neuroscience and neural engineering. Cockroaches use the antennas on their head to navigate the world around them. When these antennas touch a wall, the cockroach turns away from the wall. The antenna of a cockroach contains neurons that are sensitive to touch and smell.

These neurons convey information back to the brain using electricity in the form of “spikes”.

The backpack the team invented communicates directly to the neurons via small electrical pulses. The cockroach undergoes a short surgery (under anesthesia) in which wires are placed inside the antenna. Once it recovers, a backpack is temporarily placed on its back.

When you send the command from your mobile phone, the backpack sends pulses to the antenna, which causes the neurons to fire, which causes the roach to think there is a wall on one side. The result? The roach turns! Microstimulation is the same neurotechnology that is used to treat Parkinson’s Disease and is also used in Cochlear Implants.

What will I learn from the RoboRoach?

This product is not a toy, but a tool to learn about how our brains work. Using the RoboRoach, you will be able to discover a number of interesting things about nature:

Neural control of Behaviour: First and foremost you will see in real-time how the brain respondes to sensory stimuli.

Learning and Memory: After a few minutes the cockroach will stop responding to the RoboRaoch microstimulation. Why? The brain learns and adapts. That is what brains are designed to do. You can measure the time to adaptation for various stimulation frequencies.

Adaptation and Habituation: After placing the cockroach back in its homecage, how long does it take for him to respond again? Does he adapt to the stimuli more quickly?

Stimuli Selection: What range of frequencies works for causing neurons to fire? With this tool, you will be able to select the range of stimulation to see what works best for your prep. Is it the same that is used by medical doctors stimulating human neurons? You will find out.

Effect of Randomness: For the first time ever… we will be adding a “random” mode to our stimulus patterns. We, as humans, can adapt easily to periodic noises (the hum a refrigerator can be ignored, for example). So perhaps the reason for adaptation is our stimulus is periodic. Now you can select random mode and see if the RoboRoach adapts as quickly.. or at all!

RoboRoach Specifications

Total Weight: <4.5g
Stimulation Frequencies: 1Hz-200Hz Stimulation Pulse Widths: 1ms-500ms (Max pulse width is dependent on the Frequency) Stimulation
Stimulation Time: 5ms to 1000s.
Battery: 16mm 1632 Coin Cell Battery
Use Time: 12 hours per battery
Communication Protocol: Bluetooth Low Energy Compatible
Supported iOS Devices: iPhone 4s+, iPod 5th generation+, iPad mini, iPad 4th Generation+
Supported Android Devices: Motorola Droid Razr M (many others when BLE is officially released)

What is a RoboRoach Kit?

Each RoboRoach kit contains a reusable backpack and 3x recording electrodes (One per RoboRoach) including a battery. All you need is an insect, some time, and a mobile device that support Bluetooth LE.

Who are you people?

Backyard Brains a small startup company of scientists and engineers, and they are changing the way the next generation of students are taught neuroscience and engineering who believe in creating opportunities for students of all ages to engage in hands on, inquiry based learning. Adopting this framework, they’ve shown that their inventions and experiments improve student retention and learning outcomes.

Risks and challenges Learn about accountability on Kickstarter

As with any hardware project, there are risks associated with research development. This is their first invention to use a digital microcontroller, and BLE is an emerging technology with little device support outside of Apple.

They hope to mitigate these risks, in general by engaging the growing community of Open Hardware developers and are also hosting all of our embedded and mobile code on GitHub, so that they can draw on the help of its millions of registered users.

The team is a successful and determined group of neuroscientists and engineers, with a proven track record of product development cycles. Our inventions have been featured in over 90 media outlets such as Wired, CNN, TED, Forbes and The New York Times.

Original Post @

Quick Overview of STM32



STM32 is a microcontroller family from ST with a 32-bit ARM Cortex-M0/M3/M4 CPU. This architecture is designed for use in new microcontrollers, replacing the previous ARM7-based controllers as far as possible. ST’s STM32 it in countless ways with variable peripherals and various body sizes and shap


Block diagram STM32F103xC/D/E

STM32 families

So far there are seven STM32 family:

  • STM32F0
    • Cortex M0
    • Microcontroller to start
    • To 48MHz
  • STM32F1
    • Cortex M3
    • To 72MHz
    • Different subfamilies:
      • Connectivity line
      • Performance line
      • USB Access Line
      • Access Line
      • Value line
  • STM32F2
    • Cortex M3
    • To 120MHz
    • As the STM32F1 series, Camera interface, 32-bit timers, crypto engine …
  • STM32F3
    • Cortex M4
    • DSP and FPU
    • To 72MHz
    • Fast 12-bit 5 MSPS and precise 16-bit sigma-delta ADCs
    • Touch Sensing Controller (TSC)
  • STM32F4
    • Cortex M4
    • DSP and FPU
    • To 180MHz
    • Up to 2MB Flash
  • STM32L1
    • Cortex M3
    • Low Power
    • with LCD Drivers
    • To 32MHz
  • STM32W
    • Cortex M3
    • TO 24MHz
    • RF MCU

Here is an overview of selecting a STM32Fxxx


  • Cortex-M0 / Cortex-M3 / Cortex-M4 core
  • 16KB … 2MB flash ROM
  • 4KB … 256KB SRAM
  • 512 one-time programmable bytes (STM32F2 / 4)
  • Housing 36 … 216 pins as QFN, LQFP and BGA
  • Currently, more than 250 STM32 derivatives / options available
  • To 72MHz CPU clock to 120MHz. During STM32F2xx until 168/180 MHz for the STM32F4xx wherein a special hardware prefetch to 120/168 MHz to achieve a speed which corresponds to 0 wait states The CPU clock is derived via a multiplier from the internal RC clock or an external crystal clock.
  • External bus interface (only on 100-pin packages and only STM32F4, STM32F2 and line STM32F1 Performance)
  • LCD driver for 8×40 points (not on STM32F2xx)
  • TFT driver with STM32F429 / STM32F439
  • Voltage range 1.65 … 3.6 V, only one power supply required
  • Temperature range up to 125 ° C
  • Up to 140 Os, many 5V Tolerant
  • Internal, calibrated RC oscillator at 8MHz (16MHz at STM32F2/F4xx)
  • External crystal
  • Real Time Clock with own crystal and a separate power supply
  • Up to 16 Timers , each timer up to 4 IC / OC / PWM outputs. Including 2x Motion Control Timer (at STM32F103xF / G)
  • SysTick Counter
  • Up to 3 12-bit ADC with a total of 24 AD inputs, integrated temperature sensor voltage measurement, voltage reference and Vrefint VBatt (STM32F4xx)
  • Up to 2 12-bit DA-Converter (up to 3 at STM32F3xx)
  • Up to two DMA Controller with up to 12 channels (16 for STM32F2/4xx)
  • Up to 2 x I ² C
  • Up to 5x USART for up to 8 STM32F2/F4xx) with LIN, IrDA and modem control
  • Up to 3x SPI (up to 6 at STM32F4xx)
  • Up to 2 x I ² S
  • Up to 2x CAN
  • Unique Device ID register (96 bits)
  • RNG – Random Number Generator (STM32F2/4xx)
  • Cryptographic Processor (CRYP) (STM32F2/4xx)
  • Hash Processor (HASH) (STM32F2/4xx)
  • Camera Interface (DCMI) (STM32F2/4xx)
  • USB 2.0 Full Speed ​​/ OTG
  • USB 2.0 High Speed ​​OTG PHY chip with extra (STM32F2/4xx)
  • SDIO interface (such as an SD card reader)
  • Ethernet
  • Watchdog with Window Fashion
  • Each peripheral module is switched on separately, thus significantly reduce Power Consumption
  • JTAG and SWD (Serial Wire Debug) interface
  • Up to 6 hardware breakpoints for debugging
  • and more. . .


Structure of the documentation:

As an example of the documentation is representative of STM32F103RC called. The side of ST includes all the necessary information due to this processor.

These documents describe the controller from ST:

In the Datasheet the special properties of a certain model are described and listed the exact data and pinouts. The peripheral modules are only listed, not described in detail. In the reference, the entire controller with peripheral modules is described in detail, valid for one STM32 family. Details of the processor core itself and not associated with the specific STM32 Cortex-M3 core modules such as the interrupt controller and the SysTick timer is found not there, but in the Cortex-M3 Manual. Who does not use the ST firmware library, which also requires the Flash Programming Reference for the operating mode of the Flash ROM, i.e., the frequency-dependent configuration of wait states. There are also optional documentation of ARM that the Cortex-M3 core / core Cortex-M4 describe. Here is the opcode you use it in assembler wants to program. In addition, should the Errata sheets are observed. Also recommended the Appnote “was STM32F10xxx hardware development: getting started “.

STM32 Standard Peripheral Library

ST offers an extensive family of controllers for each peripheral library. All functions are easy to use around the periphery encapsulated in simple structures and function calls. So you do not take care of the peripheral register. This library and its documentation require a basic understanding of the function of each peripheral module, mediate as the reference oA and various Appnotes. The Library also contains several examples for almost any peripheral. For the USB interface, there is an extra library, as well as for Ethernet.



Advantages over ARM7:

  • Interrupt controller is now part of the processor (as Core Peripheral), the Vector Table is now a real vector table, no jump list as ARM7. By automatisms between core and NVIC (auto save registers r0, r3, lr, sp, pc) if interrupt entry much faster execution time is achieved with interrupts. The interrupt code no longer needs to take care of the security of the above registers and eliminates a special configuration of the handler in the compiler. Before the end of an ISR (i.e., return to the User Code) further interrupts pending, they will be executed without a full pop-push sequence of register is required. Described beautiful it is here in the Insider’s Guide under 2.4.5 / page 20
  • Thumb-2 instruction set, significantly faster than Thumb-1 and equally compact
  • Fewer pins for debugging required by SWD
  • Debug make more hardware breakpoints easier
  • Software is easier because the switch between ARM and Thumb mode fashion disappears

LPC1700 and LPC1300 advantages over:

  • More flexible forms of housing with more peripheral in small enclosures
  • FW Lib for STM32 all equal, all AppNotes / demos refer to this a FW Lib what the development of your application much faster.
  • More accurate and more flexible ADC, especially to LPC1300
  • More flexible options in the periphery >> less a price advantage.


Disadvantage compared to LPC1700:

  • STM32F1xx: only 72 MHz instead of 100 MHz (LPC1759: 120 MHz) frequency; STM32F2xx has not this disadvantage (also 120MHz, with 168MHz STM32F4xx) (But NXP has already announced 150MHz)
  • The LPC1700 has a lot more mechanisms to reduce the impact of wait states of the Flash ROM on the code and data accesses, and that means more performance at the same clock speed. When STM32F2 eliminates this drawback, probably due to the ART accelerators.
  • LPC1xxx all have 32-bit timer. In the STM32 have only STM32F2xx (2 pieces)
  • I2S unit of ST does not have a FIFO mode must 2x16bits 24/32Bit and half words are transmitted. Where in general the new ARM processors available DMA channels means (based on its own BUS channels and memory accesses) FIFO at any size.

Advantages over other “small” such as PIC, Atmel, etc.

  • almost the same price for hobby applications
  • 32 bits directly into assembler calculable
  • better peripheral
  • … and another 1000 points …

Disadvantage for hobbyists

  • Not directly “Steckbrettauglich” because no available DIL package. The ebay shop dipmicro leads very cheap Adapter series for implementing from LQFP48 to DIP48. QFP64 in 0.5mm lead pitch 0.8mm and not as AVR
  • Many peripherals, all clocks must be set correctly, if necessary, adjust the startup code, etc.