Tag Archives: Rasbperry Pi

Flipper Allows You Build Embbeded Applications with Any Programming Language

With the rise of Arduino, Raspberry Pi and others; embedded platform has been known to be programmed with a relatively few languages. Languages like C and C++ has been the tradition  for embedded platforms, and others like Python and maybe Javascript are beginning to see some limelight with the advent of the Rasberry Pi SBC and increase the open hardware movement.

The quest to allow programming hardware with several programming languages has been one daring challenge some makers and designers have taken upon themselves. The likes of the Johnny-Five framework and Espruino have given programmers extra options by providing options for programming the Arduino with Javascript and this will not end here. Flipper is one of such platforms that offers much more, is an embedded development board that can be controlled from any programming language.

Flipper Embedded Platform

Flipper is a unique embedded development platform that enables makers to create their own applications using whatever language they want and interestingly open-source with a growing community. Flipper completely rethinks the traditional embedded programming model, you can either build with the flipper board or interact flipper with other awesome hardware.

Flipper can be thought of as a hardware that acts like a software library, so all you just have to do now is call the library in your existing language project. According to Flipper’s designer George Morgan,

“I wanted to create an embedded development platform that could be used from any language, on any platform, and from the tools familiar to the user of the platform.”

The Flipper: Carbon board is powered by an Atmel ATSAM4S16B Arm Cortex-M4 SoC, which featured 1MB of Flash Memory, 128KB of SRAM and it allows up to 8Mb of external Flash storage. Just like every other board, it provides support for up to 32 GPIO, I2C, SPI, USART, ADC and a 8-bit DAC. It comes with one ATMega32U2 that handles the code uploading from USB to the main MCU.

The board is not totally 5V tolerant, most of the pins are only 3.3v compatible and any 5V passed through those might likely damage the board.

Flipper development board is designed to interact with a host device like a PC, a powerful SBC (Single Board Computer), and others. This strategy allows most of the heavy work to be done on the host device and then passed off to the embedded system. The Flipper board can be controlled in three main ways:

  • Programmed directly like the way we have seen on Arduino and the code runs directly on the hardware.
  • Programmed indirectly from a Host device, where the code runs on a PC for example and the information are sent in real time to the board.
  • Combining both options; in this case, some codes run directly on the board while others on the host.
Flipper hardware is in a slim form factor. It is compatible with breadboards and off-the breadboard, unlike traditionally embedded boards that makes one select one.

The possibility of programming with several languages is possible due to the Flipper API. The MCUs on the board come pre-installed with a custom real-time operating system called Osmium that enables the device to talk to a variety of higher-level libraries written in a variety of programming languages. These libraries contain API that can control the device’s hardware peripherals. For example, if you’re writing an iOS or macOS app, you can simply drag and drop the .framework into your Xcode project and get started.

Flipper is still under development and already has bindings for the following languages:

  • C/C++
  • Objective-C/Swift
  • Rust
  • Python
  • Java
  • Javascript
  • Haskel

Flipper is special because it lets anyone control devices in the real world from applications written in any programming language, on any platform, with absolutely zero headache. Developers simply drag and drop our software library into their applications and start hacking. Everything works right out of the box using tools the developer is already familiar with. There is no need to learn how to use a new IDE, no need to learn a new programming language, and no need to focus on what doesn’t matter.

The Flipper board is available for purchase on tinder at a price of $49.49. More information about the Flipper platform is available on their Github page and the team behind the flipper is also looking for more contributions.

So irrespective of what hardware you want to build, the chances of building it with any language of your choice is now possible with the Flipper platform.

7 Undiscovered Add-On Boards For Your Raspberry Pi

averagemanvsraspberrypi.com has a list of 7 add-on boards that you may not be aware of. They write:

It’s been a couple of weeks since I returned to the Pi, and I’m already seeing people using the same old default add-on boards all over the internet. Don’t get me wrong – they’re popular because they’re good quality, useful and affordable – but they don’t excite me.

What does excite me is when I find small batches of weird little wonders lurking in the dark, dingy alleyways of the internet. Odd little boards from different places, in different colours with different features.

They’re not mass-market, they’re not easy to find, and they’re usually not as cheap as mainstream options – but they are different – and that makes them interesting.

7 Undiscovered Add-On Boards For Your Raspberry Pi – [Link]

Raspberry Pi Backup Guide

Make a sustainable Raspberry Pi backup server and save your files from occasional loss.

Raspberry Pi backup is what you really need if you work on Raspbian. Believe me, you do! If you backup your Raspberry Pi SD card in due course, someday it may save your files and your project. Alike any other hardware, the RPi devices may sometimes simply stop working.

It can occur due to a number of reasons: overheating, errors, energy supply issues, cable connection failure… All these problems will make you unplug and plug-in again the device to restart it. And such actions taken repeatedly will certainly lead to spoiling your SD card you are saving your work files to.

On the other hand, you can damage or delete your files occasionally with your own hands! There a lot of examples when we do something wrong because of the overall tiredness, inattentiveness or just being in a hurry.

Turn your Zero Pi into a USB Dongle

The $5 Raspberry Pi Zero is a standalone computer that can be embedded in various applications, but maybe now it is time to add some extra features.

It comes with a USB OTG port, meaning it can function as a USB device rather than a USB host. Thus, it can become a serial device with just a USB cable, an Ethernet device, MIDI device, camera, or just about anything else you can plug into a USB port.

Novaspirit has turned his Raspberry Pi Zero into a USB gadget, just like a RNDIS modem, with some easy steps. He aims to get the maximum benefit out of a Pi Zero without having to lug around any cables: “Just plug it in and you’re networked”

His hack turned the Zero Pi into a USB dongle with shared internet, and he could install services like webmin, owncloud, and vnc making it a great all-in-one device!

thumbnail

With minimal soldering, he converted the Zero’s onboard female USB jacks into a male USB plug.

You only need:

  • male usb connector
  • 4 wires
  • some soldering skills

wireing

Then you can follow the diagram to connect the male connector to Zero Pi

How to ‘donglify’ the Raspberry Zero Pi as Novaspirit suggests

  1. Attach the Raspberry Pi Zero running Pixel OS to your computer as a USB network device
  2. Set up VNC (Virtual Network Computing) on the Pi so that you can log into its desktop in a window
  3. Set up networking on the Pi so that it can connect to the wider Internet through the laptop
  4. Install OwnCloud so that the Zero serves as a cloud storage

Check out this tutorial by Novaspirit

Novaspirit guy is not the first who converted the Raspberry Pi Zero into a USB gadget that connects to the internet, but the most interesting thing about his project that you won’t lose any functionality of you Zero Pi; you can still plug your stuff and use it in your applications. In addition, he delivered a very simple hardware hack and easy to follow software tutorial on Windows.

You can check his website Novaspirit for weekly posts where you can find loads of projects and tutorials.
More details, designs and code snippets of this project can be reached here.

Share Your Internet Connection With Raspberry Pi Zero Over USB

Raspberry Pi Zero is the smallest member in Raspberry Pi single-board computers family with a single-core 1 GHz processor chip, a micro-SD card slot, a mini HDMI port and two micro USB ports (one for power, one for USB). A tutorial in CircuitBasics demonstrates how we can get an Internet access for Raspberry Pi Zero from our computer over USB, because Raspberry Pi Zero doesn’t have an Ethernet connector RJ45 to have direct access to network.

Raspberry Pi Zero - Image courtesy of Adafruit
Raspberry Pi Zero – Image courtesy of Adafruit

The trick used here is to recognize the Raspberry Pi Zero as a USB/Ethernet gadget, in other words using Ethernet emulation over USB.

What you need:

  • Micro USB to USB adapter.
  • Bonjour software installed on your computer to recognize USB and ethernet devices.
  • SSH client PuTTY on your computer.
  • A micro SD card with an image of Raspbian Jessie Full or Lite (version 5-10-16 or later).

Raspberry-Pi-Zero-Ethernet-Gadget-Pi-Zero-Plugged-Into-Micro-USB-Port

In order to do the trick of getting the Internet access over USB you need to setup up Pi Zero OTG before connecting Pi Zero with USB.
When you connect it with USB, after setting up the OTG, you will see the PI Zero under “Other devices”->“RNDIS/Ethernet Gadget” from device manager.

The last step is to set up shared Internet access with your USB/Ethernet gadget, here it’s Pi Zero, from “Network Connections”.

Communication with Pi Zero is done by using PuTTY.

ping www.google.com
ping www.google.com On Pi Zero

You can see the full steps from the tutorial in CircuitBasics.