Android things and Raspberry pi3

March 1, 2017 in Android, Devices, Hardware, 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: https://developer.android.com/things/hardware/raspberrypi.html.

 

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 HackerBoards.com 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 HackerBoards.com 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 http://hackerboards.com/ringing-in-2017-with-90-hacker-friendly-single-board-computers/, and a spreadsheet that compares the key specs of all 90 boards is at http://hackerboards.com/hacker-friendly-sbcs-table-170101.html

by admin

New Raspbian update

December 2, 2015 in Raspberry PI, Tips & Tricks by admin

imageswww.raspberrypi.org’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.

led-gpio17

https://www.raspberrypi.org/blog/gpio-zero-a-friendly-python-api-for-physical-computing/

by admin

Raspberry Pi gets an official touchscreen display

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

imagesvia engadget.com:

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:

BYTES: E7 FF DE FE 

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.

by admin

How to Turn a Raspberry Pi into a Low-Power Network Storage Device

March 7, 2013 in Linux, Raspberry PI, Tips & Tricks by admin

raspberry-NAS

Mix together one Raspberry Pi and a sprinkle of cheap external hard drives and you have the recipe for an ultra-low-power and always-on network storage device.

Follow this link for more details.

 

 
Skip to toolbar