Embedded Linux Dojo, Report

"Embedded Linux Dojo" was organized by the Embedded Linux Meetup Group. The Embedded Linux Meetup Group is a Zilogic Systems initiative to bring together people working on Linux in Embedded Systems, with the hope to share knowledge and ideas.

The dojo was themed around building a WiFi router from scratch using a Embedded Linux target board, running Debian GNU/Linux. Here is the minutes of the event, contributed by Vengatesh.

Read More ➠



Git Workshop Report

The "Understanding Git, Workshop" was organized by Zilogic Systems, on Dec 3. About 46 people from various organizations participated in the workshop.

Read More ➠



Announce: Understanding Git, Workshop

Git has grown up to become the de-facto version control system for open source software development. Acquiring a good mental model of Git, will help people wield it correctly and work more efficiently. This workshop will provide the required internals of Git, to help people acquire the required mental model ...

Read More ➠



U-Boot Meetup, Report

The "U-Boot Meetup" was organized by Zilogic Systems, on 24th September. About 30 people from various organizations attended the workshop.

Read More ➠



Linux Kernel Porting Workshop, Report

The "Linux Kernel Porting Workshop", was organized on Sep 10 and 11. About 36 people from various organizations, including CEM Solutions (Bengaluru), EmbDes (Bengaluru) e-con Systems, Logitech, NIELIT (Calicut), Visteon, VVDN Technologies, attended the workshop.

Read More ➠



Demystifying the MMU - Part II

Read More ➠



Demystifying the MMU - Part I

Read More ➠



Announce: Linux Kernel Porting Workshop

http://www.zilogic.com/static/images/kp-sold-out-final.png The much awaited "Linux Kernel Porting Workshop" is here! The objective of the workshop is to provide better understanding of the Linux device model, the device tree, and the changes required to port the kernel to a new board. This workshop deals with Board Level Porting. To understand terminologies associated with porting, please read our article titled Linux Kernel Porting, Jargon Buster

Read More ➠



Linux Kernel Porting, Jargon Buster

This article is about Linux kernel porting, and other related terms like flashing and bring-up. The terms are generally used incorrectly. Through this article I hope to give clear definition of each term and how they relate to one another.

Read More ➠



Linux System Programming Dojo - II, Report

The second edition of the "Linux System Programming Dojo" was organized by Embedded Linux Meetup Group. The Embedded Linux Meetup Group is a Zilogic Systems initiative to bring together people working on Linux in Embedded Systems, with the hope to share knowledge and ideas.

The first coding dojo was held in 19 June, where people got together and implemented command line tools — ls, ps, rm, df.

The second coding dojo was organized on 23 July. A mix of code Kabalis and newbies participated in the event.

Read More ➠



ARM Bare Metal Programming, Workshop Report

The "ARM Bare Metal Programming, Workshop" was organized by Zilogic Systems, on May 21 and 22. About 28 people from various organizations, including Burndy, Microchip, NIELIT Calicut, Electron India, SRM Technologies, Visteon, attended the workshop.

Read More ➠



mbed on ZKit-ARM-1769

ARM mbed is the fastest way of creation and deployment of devices based on ARM microcontroller. It is designed for IoT platforms which provide an operating system, development tools, standard libraries, cloud services etc.

Read More ➠



ARM Bare Metal Programming, Workshop

Zilogic is organizing a workshop on the ARM Bare Metal Programming. Writing startup code and linker scripts has been a dark art, mastered only by a few people. Lack of documentation has only aggravated the problem. Through this training programme we hope to unravel the mysteries behind these concepts, and help people join the elite few.

For firmware and RTOS developers, this knowledge will be useful for porting their software to different microcontroller. It will be also be useful for people who would like to delve into bootloader development and development of early boot code of the kernel.

Read More ➠



Bringing MicroPython on NuttX

MicroPython is a lean and fast implementation of the Python3 programming language that is optimized to run on a microcontroller. In this article will show, the steps to compile MicroPython as a built-in app for NuttShell on NuttX over ZKit-ARM-1769.

Read More ➠



Setting up a GPS Tracking System with Traccar & BlackKite

Server is an open source GPS tracking system that supports more than 80 different communication protocols. Version 3.2 of Traccar supports BlackKite’s protocol out of the box. Thanks to the maintainer of Traccar, Anton Tananaev for accepting our patches. This article will show, how to setup Traccar to accept data from BlackKite devices.

Read More ➠



Dive into Yocto, Workshop Report

The "Dive into Yocto, Workshop" was organized by Zilogic Systems, on 12th and 13th September. About 22 people from various organizations, including Burndy, Identiv, Ingersoll Rand, Microchip and Visteon, attended the workshop.

Read More ➠



BlackKite-Fleet

, is a variant tailored to address mobile assets and fleet management applications, with integrated highly accurate SiRF IV GPS. It is built with additional features to address solutions beyond “Track and Trace”.

Read More ➠



BlackKite-FleetPro

is a robust and platform independent GPRS enabled vehicle telematics system. Its built-in accelerometer and OBD Interface eases, the monitoring and control of driving pattern and vehicle health.

Read More ➠



BlackKite-RTU

is an affordable and expandable remote monitoring system supporting M2M cloud platforms via HTTP and MQTT protocols. It features rich set of IO and serial interface to acquire, monitor and control remote field devices at its best.

Read More ➠



Dive into Yocto, Workshop

Zilogic is organizing a workshop on the Yocto Project. Yocto Project is an open source embedded Linux build system similar to Buildroot. While Buildroot uses "make" for task scheduling, Yocto uses bitbake, a tool specialized for integration builds. Yocto in addition provides support for packaging, supports a wide range of software packages, and a layering mechanism to easily extend the base set of packages.

Read More ➠



BlackKite-Fleet, Product Preview

BlackKite-Fleet is a compact, affordable and platform independent GPRS enabled vehicle tracking system. It features accurate SiRF IV GPS with rich set of IO for vehicle parameter monitoring and control.

Read More ➠



FireFly, Product Preview

FireFly is a family of highly customizable, robust and extensible variable message signs. Designed to be a cloud-ready, connected display for on-the-fly update.

Read More ➠



Zilogic At Traffic InfraTech Expo

Zilogic is participating in the 4th edition of Traffic InfraTech Expo at NSIC Exhibition Complex, New Delhi. We are demonstrating an upcoming series of M2M products, at the expo.

Read More ➠



DC Motor board with ZDev

In this second article, in the DC Motor series, we provide sample code to use the DC Motor Board with ZDev on the ZKit-ARM-1343. If you haven’t, you might want to read the DC motor board functionality described in the blog article DC Motor Board, Getting Started, before reading this article.

Read More ➠



DC Motor, Getting Started

A DC motor uses a direct current power source to generate torque. It is commonly used in CPU fans, robots as wheels, toys, CD drives, etc. The DC Motor Board from Zilogic can be used to control a DC motor’s speed and direction of rotation. In this first article, in a series of articles on the DC Motor Board, we will introduce the reader to the theory behind the working and control of a DC motor.

Read More ➠



Seven Segment Board with ZDev

In this second article, in the Seven Segment series, we are going to discuss about, how to use Seven Segment Display Board with the ZDev. If you haven’t, you might want to read the seven segment fundamentals described in the blog article Seven Segment Board, Getting Started before reading this article.

Read More ➠



Seven Segment Board, Getting Started

Seven segment displays are electronic display devices used to display decimal digits as a simpler low cost alternatives to more complex dot matrix displays. The Seven Segment Board, from Zilogic, is an 8 digit seven segment display. In this first article, in a series of articles on the Seven Segment Board, we will introduce the reader to seven segment display fundamentals, and usage of the Seven Segment Board.

Read More ➠



Relay Board with ZDev

Relay Board, Getting Started article. In this article we are going to see how use Relay Board with the ZDev library.

Read More ➠



Relay Board, Getting Started

A relay is a simple electromagnetic switch. Relays are used where it is necessary to control a circuit by a low-power signal (with complete electrical isolation between control and controlled circuits)

Read More ➠



Interfacing RFID reader with ZKit-ARM-1769

RFID reader is a radio frequency (RF) transmitter and receiver controlled by a microprocessor. In this article, we will show how to interface an RFID reader from rhydoLABZ (RFID-1320) with the ZKit-ARM-1769.

Read More ➠



Building NuttX for ZKit-ARM-1769

The ZKit-ARM-1769 board comes with a pre-compiled NuttX library. This library is sufficient most application development requirements. But advanced users might want to fine tune NuttX, to their project requirements. This article shows how to build NuttX applications from source for the ZKit-ARM-1769.

Read More ➠



ZDev Interrupt Mode Serial Driver for LPC1343

The current version of ZDev has polling mode driver for the LPC1343 serial port. Since the serial controller in the LPC1343 has a in-built FIFO this is sufficient in simple applications. In applications, where the in-built FIFO is insufficient, this article shows how to implement a interrupt mode driver with a larger software FIFO.

Read More ➠



Generating Microsecond Delays in ZDev

ZDev provides APIs for generating millisecond delays. But currently there is no API for generating microsecond delays. Microsecond delays are required in some applications, for example when playing an 8kHz audio. In this article, we will see how to generate microseconds delays, while developing applications with ZDev.

Read More ➠



Stepper Motor Board with NuttX

In this fourth installment, in the stepper motor series, sample code is provided to control a stepper motor using NuttX RTOS. If you haven’t, you might want to read the stepper motor fundamentals described in the blog article Stepper Motor, Getting Started, before reading this article.

Read More ➠



Audio Board with NuttX

In this second article, in the Audio Board series, we provide sample code to use the Audio Board with NuttX running on ZKit-ARM-1769. If you haven’t, you might want to read the Audio Board functionality described in the blog article Audio Board, Getting Started, before reading this article.

Read More ➠



Seven Segment Board with NuttX

In this second installment, in the Seven Segment series we are going to see how to interface the Seven Segment Display Board with NuttX. If you haven’t, you might want to read the Seven Segment board fundamentals described in the blog article Seven Segment Board, Getting Started, before reading this article.

Read More ➠



Remote temperature monitor using ZKit-ARM-1769

Remote temperature monitor is a device to push temperature sensor data from a remote location to a central server. The data is then made available through a web interface. This article shows how to build a simple remote temperature monitor.

Read More ➠



Audio Board, Getting Started

Embedded systems generally use an audio interface for alert beeps and notifications. The Audio Board from Zilogic, extends a motherboard, with audio capabilities. Using the Audio Board, requires knowledge on the following:

Read More ➠



Stepper Motor Board with ZIO

In this, third installment in the stepper motor seris, we are going to learn about interfacing a stepper motor to the ZIO board. If you haven’t, you might want to read the stepper motor fundamentals described in the blog article Stepper Motor, Getting Started, before reading this article.

Read More ➠



Stepper Motor Board with ZDev

In this second installment, in the stepper motor series, sample code is provided to control the stepper motor using the ZDev library.

Read More ➠



Stepper Motor, Getting Started

Stepper motors are used in a wide variety of applications, including computer peripherals like printers, scanners, CD drives, camera lenses, etc. In this first article, in a series of articles on stepper motors, we will introduce the reader to the theory behind the working and control of a stepper motor.

Read More ➠



Temperature Sensor Board with ZIO

In this article, we will see how we can use ZIO and Python to prototype an embedded system and how ZIO and Python simplifies an engineer’s work. We will use ZIO’s Python API to read temperature from Zilogic’s Temperature Sensor Board.

Read More ➠



Audio Board

Playing sounds for notification or alerts is much needed feature in most embedded applications, and Zilogic’s Audio Board is designed to add this feature to any micro-controller board with a SPI interface. The board comprise 8-bit DAC, 4MB DataFlash, AF amplifier and a speaker to play back audio files. The board also features a digital potentiometer, which allows volume control via software.

Read More ➠



ZigBee Board

ZigBee is a low power, wireless mesh network standard,largely used in the areas of home automation, medical data collection and industrial control. The ZigBee Board connects Zilogic’s development kits with a UART-I2C header. In addition, the ZigBee Board can also be used with other deveolpment kits that have an RS-232 UART interface, using the ZKit RS232 transceiver and a null modem cable.

Read More ➠



USB ZigBee Adapter

ZigBee is a low power, wireless mesh network standard, largely used in the areas of home automation, medical data collection and industrial control. The USB ZigBee Adapter connects a PC or any USB capable host to a ZigBee network.

Read More ➠



BSP Release 1.6.0

The Board Support Package version 1.6.0 for the ZKit and ZIO platforms is available for download! Read on to find out more about this release.

Read More ➠



Temperature Sensor Board with NuttX

Temperature sensors are used in various embedded applications for programming the system to give the desired temperature based response. The following example shows how Zilogic’s Temperature Sensor Board can be programmed using NuttX API. This board uses NXP’s SA56004 temperature sensor and has capabilities to drive external devices based on sensed temperature. To demonstrate this board with NuttX, we would be interfacing it with the ZKit-ARM-1769 board.

Read More ➠



DC Motor Board

The DC Motor Board is a variable speed controller for 12V brushed DC motors at up to 1.0 Amp continuous current. This board offers a high degree of isolation with the use of high speed 10MBit/s Logic Gate opto-isolators for isolation between low voltage control side and high voltage motor side.

Read More ➠



ZIO, Prototyping Platform

ZIO is a platform to move embedded development from micro-controllers to the PC, for rapid prototyping. This acheived by extending the IO capabilities of the PC through an USB based add-on ZIO motherboard. The IO interfaces on the ZIO motherboard can be accessed and controlled using high level languages — Python and Java, further simplifying prototype development.

Read More ➠



ZKit-ARM-1769, ARM Development Kit

ZKit-ARM-1769 is a ARM Cortex M3 based micro-controller development kit from Zilogic Systems. The ZKit-ARM-1769 is capable of networking using Ethernet, CAN and RS-485 bus interface. The board comes along with a free and open source multitasking Unix like operating system called NuttX.

Read More ➠



ZKit with Code::Blocks IDE

Some people prefer to use IDEs, for software development. This article explains how to use an IDE called Code::Blocks along with ZKit-51-v664 and ZKit-51-RD2 boards.

Read More ➠



Getting Started with pySerial

pySerial is a Python API module to access the serial port. pySerial provides a uniform API across multiple operating systems, including Windows, Linux, and BSD. This article explains how to use the pySerial API to access a serial port.

Read More ➠



Writing NuttX Applications

NuttX provides a POSIX like API for application development. In this article we will see, how to develop simple NuttX applications. This is the third article in the NuttX series, for the previous articles please see:

Read More ➠



Building NuttX

NuttX, Getting Started article. In the previous article we demonstrated NuttX, using the NuttShell application. In this article we will see how to build NuttX and NuttX applications from source.

Read More ➠



NuttX, Getting Started

NuttX is a small footprint Real-Time Operating System (RTOS) for microcontroller environments. NuttX provides a POSIX API, with a single process, multi-threaded environment. NuttX has been ported to various architecture including ARM, AVR, AVR32 and Zilog.

Read More ➠



MVC Design Pattern

The MVC design pattern was conceived in 1979 at Xerox, and since then many variants have evolved. All web frameworks, today, support some variant of the MVC pattern. But the MVC pattern has been largely ignored in GUI application development. This article describes one variant of the MVC pattern and how it can be used in GUI application development.

Read More ➠



Random Number Generation

Almost all game programs require a random number generator. When implementing games for embedded systems, generating random numbers raises certain interesting issues. While generation of random number can be done using the rand() C library function, getting a suitable seed is a challenge.

Read More ➠



Linux based Remote Terminal Server

During development and testing of embedded systems, the serial port is used for communicating with the host. This applies to firmware based embedded systems or Linux based embedded systems. But laptops and desktops today generally do not have a serial port. At Zilogic, we hit on this problem every time we go out for a corporate training.

Read More ➠



Getting Started with ZigBee

ZigBee is a low power, wireless mesh network standard. It is used in home automation, medical data collection, industrial control, etc.

Read More ➠



Android Course Launched!

Zilogic has launched a course on Android, to help people familiar with Java, to come up to speed with Android Application Development.

Read More ➠



ZDev, Open-source Library for Micro-controllers

ZDev is an open source software framework, consisting of modules for easy and quick embedded application development. ZDev is free and open source software, and is distributed under LGPL. ZDev currently supports the following microcontrollers:

Read More ➠



ZKit-ARM-1343, ARM Development Kit

The ZKit-ARM-1343 is an NXP LPC1343 based 32-bit ARM Cortex-M3 microcontroller development kit. It is a full featured development kit, and can be used as a single board computer, for product developerment and prototype development. It provides flexibility through the break-out headers for IOs. The development kit provides the tools engineers need to develop and prototype embedded applications right out of the box. The board is also suitable for teaching and learning embedded system programming.

Read More ➠



Currency converter using J2ME

Getting Started with J2ME showed how to build a simple Hello World application using J2ME. This article takes up from where the previous article left off and shows how to build a complete application, a currency converter, using the J2ME framework. The currency converter is a simple, yet complete application that converts from Indian Rupees (INR) to US Dollars (USD).

Read More ➠



8051 Motherboards Launched

Zilogic Systems has launched its second generation of 8051 based motherboards. The ZKit-51-RD2 is a low cost board, and ZKit-51-V664 is a high-end analog capable graphics board. Check the product page for more details.

Read More ➠



Add-on boards for Automation and Robotics

Zilogic Systems has launched a new range of high quality add-on boards for industry automation and robotics.

Read More ➠



ARM Embedded System Design Course

Zilogic Systems has launched a new course on ARM based embedded systems. Please check the syllabus page for more details.

Read More ➠



Seven Segment Board

The Seven Segment Board features a standard common-anode seven segment LED display, for testing, developing, prototyping seven-segment display applications like real time clocks, timers, counters and digital readouts.

Read More ➠



Relay Board

Relay board provides 4 relays to control high voltage and/or high current equipment. This Relay board is ideal for high voltage and high current switching applications.

Read More ➠



Stepper Motor Board

The Stepper Motor Board is designed to provide a stepper motor controller interface, with the opto isolation, to the CPU/MCU development boards. The board incorporates N-channel TrenchMOS logic level FET PMV45EN from NXP Semiconductors to drive high current with fast switching action. The MOSFET driver PMD9002D is also from NXP.

Read More ➠



Temperature Sensor Board

The temperature sensor board is based on NXP’s SA56004 temperature sensor chip, which can be interfaced through I2C bus. IC SA56004 is an SMBus compatible, 11-bit remote/local digital temperature sensor with over temperature alarms. The remote channel of the board monitors a diode junction, such as a diode connected transistor, with the accuracy of +/- 1oC.

Read More ➠



ZKit-51-V664, 8051 Development Kit

Zilogic Systems' ZKit-51-V664 8051 Microcontroller development kit is a full featured development kit for prototype development. The ZKit-51-V664 has maximum set of peripherals and provides maximum flexibility with the break-out header for IOs. The ZKit-51-V664 8051 Microcontroller development kit comes with Zilogic’s ZDev library which provides a set of easy to use API interfaces for rapid embedded firmware development

Read More ➠



Creating GLCD Bitmaps using GIMP

The ZKit-51-V664 has a Graphics LCD, that can be used for displaying GUIs, bitmaps, animations, etc. Bitmaps can be easily displayed on the Graphics LCD using the APIs provided by ZDev library. This article shows how to create bitmaps using GIMP, and how to display them on the Graphics LCD.

Read More ➠



Getting started with Android

Android is a open source operating system designed specifically for mobile platforms. Over the last few years Android is taking over the mobile market drastically. This article shows how to get started with Android.

Read More ➠



Getting started with Android in the command line

Android applications can be created using the command line itself. Necessary tools are provided by the Android SDK. This article will demonstrate how to create a Android Application in the command line.

Read More ➠



Getting started with J2ME

J2ME is a software used to develop applications for Java enabled devices like Mobile Phones and PDAs. For more information about J2ME refer J2ME in Wikipedia. This article explains how to write a simple hello world program in J2ME.

Read More ➠



ZKit-51-RD2, 8051 Development Kit

The ZKit-51-RD2 is an NXP P89V51RD2 based 8051 microcontroller development kit. The board can be used for prototype development by hobbyists and engineers. The board is also suitable for teaching and learning embedded system programming.

Read More ➠



Sending SMS using GSM modem

A GSM modem is a specialised type of modem which accepts a SIM card, and operates over a subscription to a mobile operator, just like a mobile phone. These modems are more frequently connected to computers which allow the computers to communicate with the mobile network. They are most probably used for sending/receiving SMS. This article explains how to connect a GSM modem with the ZKit-51 and how to program it to send SMS.

Read More ➠



Implementation of Ohmmeter using ZKit-51

Resistance is the reluctance or a kind of friction in a carrier which opposes the flow of current through it. The resistance of an element is measurable and it is represented by an unit known as Ohm. Ohmmeter is a device used to measure the electrical resistance. This project shows how to construct a simple ohmmeter using 8051 microcontroller.

Read More ➠



Monotone Generator Using piezo electric buzzer

It is very easy to generate tones with the ZDev library and the ZKit-51. This project shows how to generate tones of various frequencies using the PWM controller.

Read More ➠



Capacitance Meter

In order to test an electronic circuit, we need some testing equipment. Capacitance meter is an electronic equipment used to measure capacitance. This project will show how to construct a simple capacitance meter using 8051 controller.

Read More ➠



Thermometer using temperature sensor(LM-35)

Generally Thermometer is used to measure the ambient temperature. This article explains you about how to design a simple Thermometer using a temperature sensor.

Read More ➠



Graphics LCD Interfacing With 8051

It may require some graphics image to be displayed in 8051 based products through a monochrome bitmap LCD. This is considered to be a complex task because of its bus interfacing and several command sequence handling. This article explains how a graphics LCD from TIANMA can be connected to a 8051 micro-controller and pixels can be displayed on it with simple steps.

Read More ➠



Accessing IAP routines on P89V66x

All 8051 based microcontrollers from NXP come with some sort of built-in flash memory. The microcontrollers provide multiple methods to program the flash. The most common method is In-System Programming (ISP). In ISP, the code is transfered to the flash, through the serial port, by a built-in ISP bootloader. The other method is In-Application Programming (IAP). In IAP, the user application receives the code through whatever mechanism (like say SPI or I2C) and programs the flash. A set of built-in routines, called the IAP routines, are available to the application for manipulating the flash.

Read More ➠



Using A Slider For Input

There are variety of user input devices for embedded systems, like buttons, switches, knobs, sliders, etc. Sliders are most commonly used for volume controls. This project shows how to interface a slider to the ZKit-51, and how to use it as an input device.

Read More ➠



How To Determine Stack Utilization

It is necessary to know the stack utilization levels when software is developed for systems requiring high reliability. A simple technique to determine the stack utilization of a program is watermarking. In this technique the stack is filled with a pattern, and the program is executed. When the stack is used the pattern is overwritten. When the program terminates the point from which the pattern is undisturbed tells us the stack utilization level.

Read More ➠



uBasic on 8051

BASIC is a very popular programming language taught in schools. There have been various derivatives of the BASIC programming language. The most popular ones are GW-BASIC, QBASIC and Visual Basic. In fact there are versions of BASIC for the 8051 as well, called the MCS BASIC-52.

Read More ➠



ZIO @ PyCon India

Vijay did a talk on Device Interfacing with Python and ZIO at PyCon India 2010. The talk was well received by fellow pythoniasts, read the feedbacks on Twitter.

Read More ➠



External Memory HOWTO

When your projects get bigger, the internal RAM of the P89V664 is no longer sufficient. External RAM can be used to overcome this limitation. The P89V664 used in the ZKit-51 has 2KB of on-chip external RAM.

Read More ➠



Java 5 Tiger course

A course on the new language features of Java 5 has been added to the course list. Please check the syllabus page for more details.

Read More ➠



ZIO Launched

Zilogic has launched an Open Source IO framework called the ZIO. The ZIO motherboard is a USB device that provides access to IO interfaces like GPIO, Sensor (ADC), PWM, I2C and SPI. APIs are available in Java and Python to access the ZIO. Please see ZIO Product Page for more ...

Read More ➠