Archive

Posts Tagged ‘open source’

Jiayu S3 and S3 Plus Smartphones Get Android 6.0 Firmware Releases with Source Code

July 27th, 2016 1 comment

Jiayu S3 and S3 Plus are your typical Android smartphones powered by Mediatek MT6752/MT6753 octa core Cortex A53 processor with 3GB RAM, 16GB flash, and a 5.5″ touch screen display. The news here is that Jiayu Germany (a reseller, not the manufacturer), and Team M.A.D (Mediatek Android Developers) comprised of XDA members, have releasing three custom ROMs based on Android 6.0.1 for the smartphone: Cyanogenmod13, Paranoid Android (AOSPA) and AICP (Android Ice Cold Project), which contrast with my Iocean MT6752 smartphone still stuck on Android 4.4.4.

Jiayu_S3I’ll reproduce the technical specifications of Jiayu S3+ phone for reference:

  • SoC- Mediatek MT6753 Octa-core 64-bit ARM Cortex A53 processor @ 1.3 GHz, with ARM Mali-T720 GPU
  • System Memory – 3GB RAM
  • Storage – 16 GB eMMC + micro SD slot up to 64GB
  • Display – 5.5” IPS capacitive touchscreen display; 1920×1080 resolution
  • Connectivity – 802.11 b/g/n/ac Wi-Fi , Bluetooth 4.0, GPS / A-GPS, FM Radio
  • Cellular Network
    • 2G – 850/900/1800/1900MHz
    • 3G – UMTS/WCDMA 900/1900/2100 MHz; TD-SCDMA 1900/2000 MHz
    • 4G – FDD LTE B3/B7/B20;  TDD LTE B39/B40/B41
    • Dual micro SIM cards
  • Audio – Speaker and microphone, 3.5 mm audio jack for headphones
  • USB – 1x micro USB OTG port
  • Camera
    • 13.0MP rear-facing with flash light and auto-focus
    • 5.0MP front-facing camera
  • Sensors – Gravity sensor
  • Battery – 3,000 mAh Lithium battery.
  • Dimensions – 152 x 75.5 x 8.9 mm
  • Weight – 158 grams

The phone normally runs Android 5.1, and ships with the battery, a USB cable, a charger, and a user’s manual.

Beside the firmware release, you’ll also find the source code for Linux 3.10.65 and “Device” source tree for both phones, as well as proprietary vendor files on MediatekAndroidDeveloper’s Github account. Sadly there’s no Wiki or documentation at all, but it should be possible to build it from source if you are familiar with CyanogenMod.

Jiayu S3 does not appear to be for sale anymore, but Jiayu S3+ is still sold for $155.99 on Banggood, and Aliexpress.

Google Research PRUDAQ is a 40MSPS ADC Data Acquisition (DAQ) Cape for BeagleBone Black & Green

July 21st, 2016 2 comments

Engineers at Google Research wanted to measure the strength of a carrier signals without having to use a bulky oscilloscope or DAQ (Data Acquisition) system,  so they looked into several makers boards to achieve this task, eventually decided to go with BeagleBone Black / Green, and created their own PRUDAQ cape capable of sampling 40 million samples per second, and open source it all.

PRUDAQPRUDAQ cape specifications:

  • Dual-channel simultaneously-sampled 10-bit ADC (Analog Devices AD9201)
  • Up to 20MSPS per channel (40MSPS total) theoretical
  • 0-2V input voltage range (DC coupled)
  • 4:1 analog switches in front of each channel provide a total of 8 single-ended analog inputs. (See here for differential input)
  • SMA jacks for direct access to the 2 ADC channels
  • Flexible clock options:
    • External input via SMA jack
    • Internal on-board 10MHz oscillator
    • Programmable clock from BeagleBone GPIO pins
  • Powered via BeagleBone headers – no external power needed
  • Fully exposed BeagleBone headers on top to connect/stack more electronics or another cape
  • Dimensions – 87mm x 56mm (+/- 1mm)
  • Weight – 29 grams

The complete software and hardware documentation can be found on the Wiki and source code and design files in Github. The software is based on BeagleLogic logic analyzer, and you can retrieve and analyze the data on your computer using the command line with a typical output looking like:

The Beaglebone Black already has an ADC input, but PRUDAQ allows for much faster sampling, suitable to capture radio waves for example. Bear in mind that it’s not really suitable to be used as an oscilloscope due to limitations such as 0 to 2V range, and others. Any specific questions about PRUDAQ project can be asked on PRUDAQ users Google Group.

While the add-on board has been designed by Google Research engineers, it is not a Google product, and it’s made by GetLab, and currently sold on GroupSets for $79 for the cape only, or $159 as a bundle with a BeagleBone Black, PRUDAQ cape, an 8GB micro SD card pre-loaded with BeagleLogic image, one 64GB USB 3.0 Thumb Drive, one BNC-M to SMA-M RG-58 Cable, a USB mini cable, and 3 jumpers.

SiFive Introduces Freedom U500 and E500 Open Source RISC-V SoCs

July 12th, 2016 5 comments

Open source used to be a software thing, with the hardware design being kept secret for fear of being copied, but companies such as Texas Instruments realized that from a silicon vendor perspective it would make perfect sense to release open source hardware designs with full schematics, Gerber files and SoM, to allow smaller companies and hobbyists, as well as the education market, normally not having the options to go through standard sales channels and the FAE (Field Application Engineer) support, to experiment with the platform and potentially come up with commercial products. That’s exactly what they did with the Beagleboard community, but there’s still an element that’s closed source, albeit documented: the processor itself.

Freedom U500 Block Diagram

Freedom U500 Block Diagram

But this could change soon, as SiFive, a startup founded by the creators of the free and open RISC-V architecture, has announced two open source SoCs with Freedom U500 processor and Freedom E300 micro-controller.

Freedom U500 (Unleashed family) platform key specifications:

  • U5 Coreplex with 1 to 8 U54 cores @ 1.6GHz+
  • RV64GC Architecture (64- bit RISC-V)
  • Multicore, Cache Coherency Support
  • High Speed Peripherals: PCIe 3.0, USB3.0, GbE, DDR3/4
  • TSMC 28nm

The SoC supports Linux, and targets applications such as machine learning, storage, and networking.

Freedom E300 Block Diagram

Freedom E300 Block Diagram

Freedom E300 (Everywhere family) platform key specifications:

  • E3 Coreplex
  • RV32IMC/RV32EMC Architecture
  • On chip Flash, OTP, SRAM
  • TSMC 180nm

Three real-time operating systems, including FreeRTOS, have already been ported to Freedom E300 for embedded micro-controllers, IoT, and wearable markets.

Open source SoCs are made to be customizable to match your applications exact needs, instead of picking on existing SoC matching your requirements but with some uneeded features. SiFive also explains that “storage customers talks about custom instructions for bit manipulation so they can use one not 10 instructions for 10x speed up”. But before you get to Silicon, you’d normally ruin and customize the core on FPGA boards and three boards are currently available for development and evaluation:

  • Freedom U500:
  • Freedom E300 – Digilent Arty FPGA development kit powered by Xilinx XC7A35T-L1CSG324I FPGA, with 256 MB RAM, 16 MB flash, and vairous expension ports. Price: $99
Click to Enlarge

Xilinx Virtex-7 FPGA VC707 devkit – Click to Enlarge

You also have detailed documentation about the SoCs, U5 nd U3 coreplex, the development kits, software and tools, as well as developer forums, on SiFive developers website. You can also directly checkout the code and SDK on github.

RISC-V instructions set is royalty-free, so compared to the entry level $40,000 ARM license for startups using Cortex M0 MCU, it should provide some savings. It does not help with manufacturing costs which should remain the same. but SiFive expects that open source SoC could be manufactured through a “moderate” crowdfunding campaign.  I have not been able to figure out SiFive business model yet, unless they plan on selling their own chips too, and/or provide customization services to customers.

Lots more information can be found on Sifive website.

Via EETimes

AOMedia AV1 is a Royalty-free, Open Source Video Codec Aiming to Replace VP9 and Compete with H.265

July 3rd, 2016 21 comments

The Alliance for Open Media, or AOMedia, is a new non-profit organization founded in 2015 by Amazon, Cisco, Google, Intel Corporation, Microsoft, Mozilla, and Netflix, and more recently joined by AMD, ARM, and NVIDIA, whose first project is to develop AV1 royalty-free and open video codec and format to provide an alternative to H.265 / HEVC, and a successor to VP9.

Alliance_For_Open_Media_AOMedia

The project is a team effort combining teams working on Daala, Thor, and VP10 video codecs, and while AFAIK, AV1 specifications have not been released yet (target: Q1 2017), the organization has already released an early implementation of AV1 video decoder and encoder under the combination of an BSD-2 clause license and the Alliance for Open Media Patent License 1.0 , which can be found on googlesource.com.

So I’ve had a quick my myself following the instructions, by first downloading one uncompressed YUV4MPEG sample:

and the source code:

before building it:

The last command will install the headers, and aomdec video decoder and aomenc encoder.

We also need some scripts to be placed in the path:

Now we can run the script in the directory for the sample(s):

The command will encode all y4m files in the directory at 200 kbps up to 500 kbps at a 50 kbps increment. Encoding only uses one core, my machine is powered by AMD FX8350 processor, and you can see encoding is currently very slow well under 0.5 fps for a CIF video (352 x 288 resolution), but that should be expected because VP9 encoding is already slow (its successor is expected to require even more processing power), and first software implementations are usually not optimized for speed, they are just meant to show the encoding works.

The test scripts will create a bunch of AV1 video files in baseline directory: husky_cif.y4m-200.av1.webm, husky_cif.y4m-250.av1.webm, etc… as well as husky_cif.y4m.stt with some statistics.

Decoding is much faster as it should be:

You can play back the videos with mpv using aomdec for decoding. For example:

AOmedia_AV1_Video_MPV

New video codecs normally take years to replace old ones, but if it gains traction AV1 will likely be used along side VP9, H.265 and H.264 for several years. Considering software and silicon vendors, and content providers (Google/YouTube, Amazon, and Netflix) are involved in the project, I’m quite confident the AOMedia AV1 codec will become popular, and hardware decoder are likely to be implemented in ARM, Intel and  AMD SoCs in a few years.

Thanks to Ohmohm for the tip.

Open Source, Modular and Upgradeable EOMA68 CPU Card, Laptop and Micro Desktop Launched (Crowdfunding)

June 30th, 2016 24 comments

Rhombus Tech has been working on EOMA68 standard for CPU modules based on PCMCIA at least since 2012, and after previous difficulties, they showcased a laptop prototype taking OEMA68 CPU cards at the beginning of the year, and they’ve now launched a CrowdSupply campaign selling an EOMA68 CPU card based on Allwinner A20 processor, as well as corresponding laptop and micro desktop housings that are both open source, and upgradeable with faster EOMA68 CPU card once/if they become available.

EOMA68_CPU_Card_Laptop_DesktopCurrent EOMA68 CPU card specifications:

 

  • SoC –  Allwinner A20 dual core ARM Cortex A7 processor @ 1.2 GHz with Mali-400MP2 GPU
  • System Memory – 2GB RAM
  • Storage – 8GB NAND flash + micro SD slot
  • Video Output – micro HDMI Interface (for 2nd monitor)
  • USB – micro USB OTG port
  • Compliant with EOMA68 standard

EOMA68_CPU_CardTwo versions of the CPU card are offered with different pre-installed firmware:

EOMA68_Micro_DesktopWhile you could use the CPU card by itself by powering it via micro USB port, connecting it an HDMI display, and adding USB keyboard and mouse through a USB hub, you may still want to get a housing such as the micro desktop:

  • EOMA68 Computer Card slot (user-upgradeable)
  • Video Output – VGA port (micro HDMI is also available on CPU card)
  • USB – 2x USB 2.0 ports
  • Storage – One extra micro SD slot on board
  • Power – 7 – 21 V DC via 5.5 power barrel
  • Dimensions – 11.43 x 11.43 x 1.27 cm (laser-cut wooden case)

EOMA68_LaptopThe 3D printed laptop housing is also another option:

  • EOMA68 Computer Card slot (user-upgradeable)
  • Display – 15.6” 1366 x 768 LCD
  • Full-sized QWERTY Keyboard including numberpad
  • 4.3” capacitive touch panel and backlit LCD
  • Storage – 1x micro SD slot up to 256GB (on top of the one in the CPU card)
  • USB – 3x USB 2.0 ports (2 internal, 1 external)
  • Audio – 1W Stereo speakers, built-in Mic, CM108AH USB Audio with stereo headphone jack
  • MCU – STM32F072 Embedded Controller with firmware under GPLv3 license
  • Battery – 10,000 mAh good for 6 to 8 hours
  • Weight –  1.1 kg weight

The full schematics, and 3D printer design files will be made available. There’s are also plywood panels on both sides of the capacitive touch screen.

The project appears to have two main goals which are not met by most products today: First providing a fully open source system without any closed-source binary blobs, and make computer systems that both earth-friendly as the user-serviceable CPU cards are supposed to reduce e-waste, and cost-saving to the end user as they only need to change the CPU card to get a faster device.

While both ideas are noble, but there are challenges. With Allwinner A20 processor going fully open source using Parabola Linux means that although hardware video decoding should work with the open source Cedrus implementation, you’ll lose 3D GPU acceleration at least, and most WiFi dongles will probably not work either.  The Debian image won’t have this problem, but it’s not 100% open source. The idea of keeping the housing for main years, and only changing the CPU card is good, but hard to implement, as what may be acceptable today, may not be in the future. For example the display for the laptop is limited to 1366×768 resolution, and I already know many people who would not this resolution for a laptop, and in a few years the perception is likely to be worse. EOMA68 standards supports USB 1.x to USB 3.x, but both laptop and micro desktop housings appear to be limited to USB 2.0 connectors, so even if you purchase a more powerful CPU card with USB 3.0 interface in a few years, you won’t be able to enjoy the full capabilities of the new card. One solution would be to provide spare parts to repair or upgrade the laptop case, and that’s certainly possibly since the laptop is also designed to be easy assembled by yourself.

Rhombus Tech aims to raise at least $150,000 to fund mass-production for the project. The CPU card goes for $65, the micro desktop housing for $55, and the laptop housing for $500 with other various DIY or full kit rewards also offered. Shipping is free to the US, and adds $10 to $80 to the rest of the world depending on the chosen rewards.

Micrium µC/OS RTOS Is Now Free for Makers and Startups

June 24th, 2016 1 comment

According to UBM embedded market study for 2015, Micrium µC/OS real-time operating system only came second after FreeRTOS when the company asked close to 1,000 engineers and managers around the world which operating systems they were currently using in their embedded products. The OS appears to be particularly popular in Asia, and the results are all the more impressive considering it’s a commercial operating systems.

Operating Systems used in Embedded Systems (UBM Survey)

Operating Systems used in Embedded Systems (UBM Survey)

But Micrium decided to bring more people on board by announcing a free version called µC/OS for Makers targeting hobbyists and startups (<$100k revenues) in February earlier this year. The real-time operating system includes a preemptive multitasking real-time kernel with optional round robin scheduling, has a low footprint (6K to 24K bytes code space, 1K+ bytes data space), support various types of targets including ARM Cortex-M and Cortex-A based MCU and processors such as STMicro STM32,  NXP Kinetis, Cypress PSoC5, etc.., as well as Atmel AVR, TI MSP430 and many others.

The Maker version of the OS excludes the CAN module, Building Blocks and the Graphical UI library, but comes with USB, TCP/IP, Modbus, and file system stacks. A summary of the different licenses for µC/OS-III is shown in the table below.

Click to Enlarge

Click to Enlarge

You can find more information on Micrium Maker page, or directly download it  (free email registration required) to try it out on your own platform or board.

Via 43oh.com

BusyBotNet is a Fork of Busybox with Security Tools

June 20th, 2016 1 comment

Busybox provides a lightweight version of common command line utilities normally found on “big” Linux into a single binary, in order to bring them to embedded systems with limited memory and storage. As more and more embedded systems are now connected to the Internet, or as they are called nowadays the Internet of Things nodes, adding security tools, such as cryptographic utilities, could prove useful for administrators of such system, and so BusyBotNet project wsa born out of a fork of Busybox.

BusyBotNetSome of the tools implemented include:

  • fenc to encrypt stuff with salsa algo
  • tsh. needs work, backdoor shell aes enc
  • rathole backdoor shell, blowfish enc
  • ssyn2 ddos tool
  • sudp udp ddos tool
  • jshon sh wrapper for json
  • hydra
  • prism userspace icmp triggered reverse shell backdoor

You can access the source code and instructions on busyboxnet github repo.

I’ve quickly tried it in my AMD x86 computer running Ubuntu 14.04 using BusyBotNet default settings:

You could run make menuconfig to add or remove the tools as needed.

The resulting binary was 3.1MB large, and compiled with the defined functions:

The promised tools are indeed installed:

Loading this version of busybox in shipping products could seriously backfire if your device is hacked, so I guess some of the tools would have to be disabled, or/and  only be used for internal testing.

Via n0where

Categories: Linux, Testing Tags: busybox, IoT, Linux, open source, security

The Eclipse Foundation Releases Open Source Smart Home & IoT Gateway Frameworks, MQTT & oneM2M Implementations

June 17th, 2016 3 comments

The Eclipse Internet of Things (IoT) Working Group has released – or soon will be releasing – four open source projects for the Internet of Things with Eclipse SmartHome 0.8 framework, Eclipse Kura 2.0 IoT gateway framework, Eclipse Paho 1.2 MQTT & MQTT-SN clients, and Eclipse OM2M 1.0 implementation of oneM2M standard.

Eclipse_IoTEclipse SmartHome 0.8

Eclipse SmartHome is a framework for smart home solutions that runs on embedded devices, including Raspberry Pi, BeagleBone Black or Intel Edison development boards.

The latest SmartHome 0.8 release includes a new REST API and corresponding “Paper UI” administration interface, support for new devices including Sonos speakers, LIFX bulbs, Belkin WeMo devices, digitalSTROM systems, EnOcean devices (via a new OSGi EnOcean Base Driver) and others, as well as a new rule engine supporting templates for beginners, JavaScript for automation rules and graphical rule editors.

You can find more details on Eclipse SmartHome page, and/or download SmartHome 0.8, and optionally SmartHome Designer for Linux, Mac OS X, or Windows.

Eclipse Kura 2.0

Eclipse Kura is a framework for building IoT gateways with the latest Kura 2.0 release to bring a new responsive user interface (UI), support for multiple cloud connections to Eurotech Everyware Cloud, Amazon AWS IoT, Microsoft Azure IoT and IBM IoT Foundation, new tools and code samples to ease the creation of Kura applications, and tighter integration with Apache Camel.

Eclipse Kura 2.0 will be available later in June. You can find more details, including instructions to use it on BeagleBone Black and Raspberry Pi boards on Eclipse Kura page. Kura is also found on commercial M2M and IoT gateways such Eurotech ReliaGATE 15-10.

Eclipse Paho 1.2

Paho MQTT Clients Features Comparison (Click to Enlarge)

Paho MQTT Clients Features Comparison (Click to Enlarge)

Paho provides an open-source client implementations of the MQTT and MQTT-SN messaging protocols in Java, Python, JavaScript, C, .Net, Android and Embedded C/C++ client libraries. Paho 1.2 release adds automatic reconnect & offline buffering functionality for the C, Java and Android Clients, webSocket support for the Java and Python Clients, and a new Go Client for Windows, Mac OS X, Linux and FreeBSD.

Visit Eclipse Paho page for more details about the implementations and to download the latest 1.2 version.

Eclipse OM2M 1.0

Eclipse OM2M is an open source implementation of the oneM2M standard, and the version 1.0 includes the following features:

  • Modular platform architecture, based on OSGi making it highly extensible
  • Lightweight REST API exposed through multiple communication bindings including HTTP and CoAP protocols and supporting various content formats such as XML and JSON.
  • Flexible data storage based on an abstract persistence layer supporting embedded & server databases, in-memory mode, SQL & NoSQL models.
  • Implementation of  Dedicated Common Service Entity (CSE) for Infrastructure node (IN), Middle Node (MN), and Application Service Node (ASN), and Common Service Function (CSF) including: Registration, Application and Service Management, Discovery, Data Management and Repository, Subscription and Notification, Group Management, Security, etc.
oneM2M Functional Architecture with AE (Application Entity), CSE and NSE

oneM2M Functional Architecture with AE (Application Entity), CSE and NSE

Version 1.0 release will be available later this month, you can find out more on Eclipse OM2M page.

The foundation has also issued a proposal for Eclipse Kapua open source project aimed to create a modular integration platform for IoT devices and smart sensors.

You can also check out other open source IoT projects on Eclipse IoT microsite.