Android things and Raspberry pi3

March 1, 2017 in Android, Raspberry PI by Adrian Marius

For information on how to get started with Android Things and Rainbow HAT visit the official developer site for Android Things.

To put the latest Android Things image on your SD card, see the instructions here:


Rainbow HAT has a buffet of sensors, inputs and displays to explore Android ThingsTM. Use it as a weather station, a clock, a timer or stopwatch, a mood light, or endless other things.

We’ve worked with the Android Things team at Google to create this great add-on board that features displays, sensors, sound, and lots of LEDs! It’s the perfect introduction to developing Android Things applications on the Raspberry Pi.

Rainbow HAT also has a full Python API for use on Raspbian just like all of our other HATs that you know and love!

Rainbow HAT features:

  • Seven APA102 multicolour LEDs
  • Four 14-segment alphanumeric displays (green LEDs)
  • HT16K33 display driver chip
  • Three capacitive touch buttons
  • Atmel QT1070 capacitive touch driver chip
  • Blue, green and red LEDs
  • BMP280 temperature and pressure sensor
  • Piezo buzzer
  • Breakout pins for servo, I2C, SPI, and UART (all 3v3)

The board is designed specifically to show off the wide range of protocols available on the Raspberry Pi, including SPI (the APA102 LEDs), I2C (the BMP280 sensor and 14-segment displays), GPIO (the capacitive touch buttons and LEDs), and PWM (the piezo buzzer).

Raspberry Pi 3 Starter Kit for Android ThingsTM contains:

  • Raspberry Pi 3
  • Rainbow HAT
  • Pibow Coupé for Android Things
  • 2.5A official Raspberry Pi worldwide power supply
  • 8GB microSD card

Build your PiZero Swarm with OTG networking

January 7, 2017 in Hardware, Raspberry PI, Tips & Tricks, Tutorial, Uncategorized by Adrian Marius

The Raspberry Pi Zero can act as a network adapter via a USB cable enabling you to carry around a Docker Engine and full Linux OS in your pocket.

Here is the article on building a PiZero Docker Swarm :

View image on Twitter

The New Year’s 2017 guide to Linux friendly single board computers has now been published.

January 7, 2017 in Hardware, Linux, Raspberry PI by Adrian Marius

The New Year’s 2017 guide to Linux friendly single board computers has now been published. The project turned up 90 boards, ranging from powerful media playing rigs to power-sipping IoT platforms. A detailed analysis with summaries of each board is at, and a spreadsheet that compares the key specs of all 90 boards is at

Make Games with Python: a fantastic new e-book

December 16, 2015 in Programming, Python, Raspberry PI by Adrian Marius

Make Games with Python is designed to help you learn the coding skills you need to create amazing games and applications on your Raspberry Pi. The best bit? The price starts at free

While countless millions of us like nothing more than spending hours racking up high scores on our favourite games, too few of us are exposed to an even more gratifying way to spend the evening – making them.

Written by technologist and tinkerer, Sean M. Tracey, Make Games with Python is made up of ten chapters that take you on a whirlwind tour of Pygame’s game-making capabilities. The book helps you learn essentials Python skills like lists, dictionaries, classes and more.

Here’s a quick breakdown of what you can expect to learn:

  • Creating shapes and paths
  • Movement and animation
  • Using the keyboard & mouse
  • Adding sound and music
  • Simulating physics and forces
  • Building classes for actors
  • Creating your own shoot-em ‘up
by admin

New Raspbian update

December 2, 2015 in Raspberry PI, Tips & Tricks by admin’s blog anounces an updated Raspbian image. Here are some of the new features this new image includes:

  • IBM’s Node-RED Internet of Things application
  • New graphical package manager
  • GPIO Zero libraries
  • Updated Scratch with changes for supporting MIDI general instruments and various other things
  • Updated Epiphany
  • Updated Raspberry Pi Configuration application

For a more detailed description of what is new, follow this link.

GPIO ZERO: A friendly python api for physical computing

November 27, 2015 in Python, Raspberry PI by Adrian Marius

raspberry-NASPhysical computing is one of the most engaging classroom activities, and it’s at the heart of most projects we see in the community. From flashing lights to IoT smart homes, the Pi’s GPIO pins make programming objects in the real world accessible to everybody.


by admin

Raspberry Pi gets an official touchscreen display

September 8, 2015 in Hardware, News, Raspberry PI by admin


Although it’s pretty easy to hook up a Raspberry Pi to a screen using its HDMI port, it’s not exactly the most portable of solutions (especially if there isn’t a TV or monitor around). The Raspberry Pi Foundation recognized this, so it set about finding a “simple, embeddable display” capable of giving Pi owners a screen from which to work from, but that also embodies the DIY spirit of the board that it connects to. It’s taken almost a year, but the official Raspberry Pi touch display has gone on sale today, offering tinkerers a 7-inch capacitive 800 x 480 touchscreen display that supports 10-finger touch.

As you’d expect, connecting the display to the Pi requires a steady hand and a little patience — it’s not as easy as plugging in two ends of an HDMI cable (but that’s all part of the charm, right?). You can choose to power it via the Pi’s GPIO port or by plugging a microUSB power supply into the display board, while a ribbon cable connects to the Pi’s DSI port. The Raspberry Pi Foundation has ensured that both the display board and the Pi itself can be mounted on the back of the display (as shown in the image above), making it a lot easier to connect the various cables and also to store.

For the full article, follow this link.

by admin

Raspberry PI hang instruction

August 31, 2015 in Code Snippets, Programming, Raspberry PI, Security by admin

raspberry-NASSource from here

While writing my own assembler for ARM, I realized that an instruction fuzzer can spot some funky results on real CPUs. Undefined behaviour is a known topic for some ancient CPUs like z80, where many undefined instructions have been analyzed and exploited in order to achieve some performance tricks for the demoscene.

But undefined behaviour on modern SOCs and CPUs is not really a known topic for several reasons. First one is that there are several manufacturers and models for every single architecture, and in addition, the microcode is not documented and distributed in encrypted form, so understand what an instruction really does is hard.

This is also a problem for compilers and handwritten assembly optimizations which tend to require several fall-back implementations depending on the CPU model because the same instruction performs different on different chips.

As long as ARM is a fixed-length instruction length (except for Thumb2, which is quite easy to handle), it makes fuzzing those instructions easier than say x86. By understanding how instructions are composed you can quickly reduce the amount of instructions to fuzz.

And this is how I found 4 bytes that hang the RPI CPU; this undefined instruction doesn’t requires special privileges, so any user can execute it and brick the board. Requiring a hardware reset to bring it back to life.

A tiny ELF can be cooked with rabin2:

$ rabin2 -a arm -b32 -C elf:fedeffe7 killrpi

Radare2 allows us to quickly check that instruction with different disassemblers.

$ for a in arm arm.gnu arm.winedbg ; do rasm2 -a $a -b 32 -d fedeffe7 ; done 
    trap ; 
    <UNDEFINED> 0xe7ffdefe 
    ldrbt sp,

This doesn’t seems to show us anything useful, so let’s go deeper with the documentation:

So we can now decompose the bits of that instruction in order to understand what it is supposed to be doing:


E    7     F    F  D  E F    E 
1110 011 1 1111 [imm12] 1111 [imm4] 

So, acording to this documentation, that instruction is decoded as UDF, which is a variety of instructions that are undefined by definition and are used by debuggers to set breakpoints.

But, why only that specific construction hangs the board? Digging a bit in Google looks like this sequence is used by the Angel Debugger, which is a hardware debugger that is attached to the board using the JTAG connector and that specific core seems to enforce that exception to wait for reply.

The only way to bring it back to live is by unplugging and plugging back the power.

This bug only affects all the models of the first Raspberry PI. The RPI2 is not affected, as well as other ARM devices (phones and tablets) I tried… but maybe, other instructions provoke similar behavior 🙂

Follow the original link for more information.

Reflections about ODROID-C1: Another Raspberry Pi Killer?

December 11, 2014 in Android, Linux, Raspberry PI by Adrian Marius

imagesNews via José Cerrejón Glez

I don’t comment usually anything regarding Raspberry PI direct competitors, but this has especially caught my attention due their price: $35. Want to know why I bought one?…

Its features are:

  • Amlogic ARMCortex-A5(ARMv7) 1.5Ghz quad core CPUs
  • Mali-450 MP2 GPU (OpenGL ES 2.0/1.1 for Linux and Android, no OpenCL)
  • VPU for hardware video decoder
  • Power Supply – 5V/2A DC input (2.5/0.8mm barrel). Typical power consumption: 0.5A @ 5V, up to 2A @ 5V with several USB peripherals.
  • 1Gbyte DDR3 SDRAM
  • Gigabit Ethernet
  • SPI, I2C, UART, ADC & GPIO with 40 pin
  • eMMC4.5 HS200 Flash Storage slot / UHS-1 SDR50 MicroSD Card slot
  • USB 2.0 Host x 4, USB OTG x 1
  • IR port
  • Ubuntu 14.04 & Android KitKat 4.4


by admin

Introducing The Raspberry Pi B+?

July 14, 2014 in Raspberry PI by admin

imagesAccording to, some people got new unreleased model of Raspberry PI, which has 4 USB ports and uses a micro SD card amongst other changes such as form factor:

Read the rest of this entry →

Skip to toolbar