That BadUSB vulnerability…

First was the badBIOS. Now BadUSB. What’s next?

To read:

badBIOS – 2013 issue – Dragos Ruiu,  @dragosr on Twitter, wrote about some alarming issues with malware that spreads  between his computers, even to the unconnected one.  Aliens, UFOs, SF Movie Characters… and other similar things eliminated, but the facts are there! Some software-thing goes from one point to another and makes his job.

https://plus.google.com/app/basic/stream/z13tzhpzvpqyuzv1n23cz52wykrrvjjce

http://threatpost.com/dragos-ruiu-on-the-badbios-saga

http://nakedsecurity.sophos.com/2013/11/01/the-badbios-virus-that-jumps-airgaps-and-takes-over-your-firmware-whats-the-story/

http://blog.trendmicro.com/badbios-sometimes-bad-really-bad/

https://www.schneier.com/blog/archives/2013/11/badbios.html

http://arstechnica.com/security/2013/10/meet-badbios-the-mysterious-mac-and-pc-malware-that-jumps-airgaps/

http://blog.erratasec.com/2013/10/badbios-features-explained.html

http://www.pcworld.com/article/2087893/forget-badbios-nsa-turns-to-pirate-radio-to-target-air-gapped-computers.html

http://www.theregister.co.uk/2013/12/05/airgap_chatting_malware/

http://www.securityartwork.es/2013/10/30/badbios-2/?lang=en

http://www.bunniestudios.com/blog/?page_id=3592

http://www.theregister.co.uk/2012/09/19/win8_rootkit/

BAD USB – 2014:

https://www.blackhat.com/us-14/briefings.html#badusb-on-accessories-that-turn-evil

http://arstechnica.com/security/2014/07/this-thumbdrive-hacks-computers-badusb-exploit-makes-devices-turn-evil/

https://www.schneier.com/blog/archives/2014/07/the_fundamental.html?utm_source=twitterfeed&utm_medium=twitter

 

ToDo:

Increase the Facedancer sales and see more…

Get a new USB Open Source Firmware…

 

exosite as a way to solve IoT problems

exosite IoT enabler: exosite.com

exosite

One of the many problems in the IoT field is the data publishing section. Big amount of data and, sometimes, a weak security. A good opportunity is a public, trustworthy, cloud service like Exosite.

Exosite looks like a wonderful platform that comes at great price:

  • The free developer account includes 2 devices and 1 user. Extra:  + Device Key – $2/month  + User Access – $7/month  + SMS Text – $0.03/tex
  • The whitelabel account costs $100/month and allows you to deliver IoT services to the users under your domain name (TLD).

Exosite IoT enabled Development Kits and projects:

http://exosite.com/solutions/development-kits/ lists AVR/Arduino, Microchip, Renesas, Synapse, TI, but is possible to create “generic devices” with any other platforms.

AVR/Arduino: https://support.exosite.com/hc/en-us/articles/200095728-Arduino-Exosite-Library-

Microchip: DV102412 https://support.exosite.com/hc/en-us/articles/200386150-Microchip-DV102412-Wi-Fi-G-Demonstration-Kit

chipKIT WiFi: https://support.exosite.com/hc/en-us/articles/200428945-Digilent-chipKIT-WiFi-Platform-Arduino-Compatible

Renesas (RX62N RDK): https://renesas.exosite.com

Synapse: http://exosite.com/solutions/development-kits/synapse-wireless/

http://www.synapse-wireless.com/arrowm2mkit

TI: Connected LaunchPad https://support.exosite.com/hc/en-us/articles/200778084-EK-TM4C1294XL-Connected-LaunchPad

FRAM LP + CC3000: https://support.exosite.com/hc/en-us/articles/200095768-MSP430-FRAM-CC3000-WiFi-with-SmartConfig-

Stellaris LP + AT Modem: https://support.exosite.com/hc/en-us/articles/200095758-TI-Stellaris-plus-AT-Modem-project-to-connect-to-Exosite

API & Support

https://github.com/exosite/api

https://github.com/exosite/exoline  Application that allows the use of Exosite API commands from a CLI

https://github.com/exosite-labs Libraries

https://support.exosite.com/hc/en-us/categories/200010998-Getting-Started-Support-Basics Getting Started Guide

TI Chronos & Py

https://support.exosite.com/hc/en-us/articles/200095748-TI-Chronos-Watch-RF-Gateway-Project

Maxim’s ECDSA Demo Stick

Maxim’s ECDSA DS28E35 + DS 2475

A duo that brings a ECDSA to 1-wire

http://www.maximintegrated.com/en/products/embedded-security/authenticators/advisor/asymmetric.cfm

Quick info links:

Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA): http://tools.ietf.org/html/rfc6979

Using the Elliptic Curve Digital Signature Algorithm (ECDSA) with the DeepCover Secure Microcontroller’s (MAXQ1103) Modular Arithmetic Accelerator (MAA): http://www.maximintegrated.com/en/app-notes/index.mvp/id/4016

DS28E35 – DeepCover Secure Authenticator with 1-Wire ECDSA and 1Kb User EEPROM http://www.maximintegrated.com/en/products/digital/memory-products/DS28E35.html

OpenSSL’s ECDSA: http://openssl.sourcearchive.com/documentation/0.9.8g-15plus-plenny11/crypto_2ecdsa_2ecdsa_8h_ac5884c7796bad53a27114ea3457a68dc.html

Elliptic Curve Digital Signature Algorithm: http://www.cryptopp.com/wiki/Elliptic_Curve_Digital_Signature_Algorithm

Video:

http://www.silica.com/designers-community/video/video/deepcover_secure_authenticator_with_1_wire_ecdsa_and_1kb_user_eeprom.html

OpenHAB ++

the name is my.openhab.org

The next step in the BB+Debian+OpenHAB story.

 

[code lang=”C”]
Apache2 configuration for the ports:
/etc/apache2/ports.conf
Apache2 configuration of the virtual host:
/etc/apache2/sites-available/default
OpenHAB configuration for the ports:
/etc/default/openhab
[/code]

 

BB+Debian => port 8080 web server root folder: /var/www   is the Apache/2.2.22 (Debian) Server

I changed the OpenHAB port to 8888 because I use the Apache2 8080.

but… the org.openhab.io.myopenhab___ addon sends the requests to http://localhost:8080/

…after some errors i changed the OpenHAB back to 8080 and the Apache2 to some other port.

next: get HABDroid or Apple iOS equivalent. Of course check if  Java version is 1.7

The HABDroid is incredibly fast!!!

 

Some links:

https://my.openhab.org/docs

https://play.google.com/store/apps/details?id=org.openhab.habdroid&hl=en

https://my.openhab.org/openhab.app?sitemap=yoursitemap.here  fill it with one of the sitemaps that is on the running OpenHAB installation

The ThankYou page

OpenHAB + BeagleBone + Debian

12.2016 Update:

Due to the new debian images and new openhab versions, some users had problems with the whole procedure:

The main changes are:

  1. After SD creation, the BB takes some minutes for the first boot. Wait until you can see the browser page (see router for DHCP assigned IP Address).
  2. At the first ssh login cahnge the password for both root and debian users
  3. The partition (there is only one, mmcblk0) is 3.3GB. Using the fdisk default options you screw things up because the starting point is 8192.
  4. Use resize2fs only after rebooting.
  5. Install java (now is oracle-java9-install)
  6. Install openhab
  7. Make another account at myopenhab.org

I will make another post with the new versions for all this stuff if needed.

OpenHAB setup on a Debian powered BeagleBone (white)

OpenHab on BeagleBone White

OpenHAB on BeagleBone White

OpenHAB is simply great!

Create the microSD:

http://beagleboard.org/latest-images/

http://beagleboard.org/project/debian/

Resize the partition (the image is with a 1.6GB, I use a 8GB microSD):

[code lang=”C”]
fdisk -l
# show partitions
fdisk /dev/mmcblk0
# delete the 1.6G partition (p2)
# and create a new one from the same starting point to the end of the disk
shutdown -r
resize2fs /dev/mmcblk0p2
# you may now reboot for verification purposes
[/code]

Then you should update and upgrade. I prefer apt-get but aptitude is available.

Next step: make things confortable  – mc and configure it with internal viewer and editor (mcedit), nameserver in /etc/resolv.conf , install ntpd, samba, telnet…. change the hostname in /etc/hostname

Install Java packages:

[code lang=”C”]
echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee /etc/apt/sources.list.d/webupd8team-java.list
# adds a java deb repo
echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
# adds a java deb-src repo
apt-key adv –keyserver keyserver.ubuntu.com –recv-keys EEA14886
# install the key
apt-get update
# reads the repo and updates the local db
apt-get install oracle-java7-installer
# installs the java7.
# it also brings up a License Agreement
[/code]

Now the fun part!

OpenHAB has a deb repo! I tried hard with the basic .zip files, but with the repo all is faster and better.

Repo address: http://repository-openhab.forge.cloudbees.com/release/1.5.0/apt-repo/

http://dl.bintray.com/openhab/apt-repo

echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | tee /etc/apt/sources.list.d/openhab.list

or

echo "deb http://dl.bintray.com/openhab/apt-repo stable main" | sudo tee /etc/apt/sources.list.d/openhab.list

Wiki: https://github.com/openhab/openhab/wiki/Apt-Repository

[code lang=”C”]
apt-get install openhab-runtime
apt-get install openhab-addon-action-twitter openhab-addon-action-mail openhab-io-gpio
apt-get install openhab-addon-binding-onewire openhab-addon-binding-gpio
apt-get install openhab-addon-binding-http openhab-addon-binding-ntp
apt-get install openhab-addon-persistence-exec openhab-addon-persistence-logging
apt-get install openhab-addon-persistence-rrd4j
apt-get install openhab-addon-action-twitter
# Change the OpenHAB’s webserver port in /etc/default/openhab
# HTTP_PORT=8888
# You may start now the openhab service
/etc/init.d/openhab start
# Now is all installed and running.
# In order to see the demo: get the demo zip file and unzip it.
# Copy the /configurations content over the one in /etc/openhab/configurations
#
[/code]

The OpenHAB + BeagleBone address is: http://beaglebone_ip_address_here:8888/openhab.app?sitemap=demo

More links:

The OpenHAB Hardware FAQ: https://github.com/openhab/openhab/wiki/Hardware-FAQ

EnOcean Binding: https://github.com/openhab/openhab/wiki/EnOcean-Binding

Round Robin DB Persistence Module: https://github.com/openhab/openhab/wiki/rrd4j-Persistence

 

Later edit:  OpenHAB addons folder is /usr/share/openhab/addons

Nabtobox – indiegogo campaign for a remote access device

Nabtobox device - indiegogo campaign

Nabtobox device – indiegogo campaign

From the Nabtobox campaign

https://www.indiegogo.com/projects/nabtobox-one-click-peer-to-peer-remote-access-to-your-home-network-in-a-box

Access anything connected.. You can access, readout the status and control your networked thermostats, stream files from your PVR or media server, view the output of your surveillance cameras, alarm-system, get files from your NAS box or file-server, stop or start your lawn irrigation system, pool control system, even if the devices didn’t have an remote connect option installed… the possibilities are endless

….

Why Nabto-box?

Nabto-box is a retrofit solution for non-remote accessible networked Gizmos. A lot of Gizmos are born with network capabilities (like Ethernet or WIFI) and some newer Gizmos can also be reached remotely with the right remote access APP or software (which btw. is what we normally do), however the vast majority of Gizmos was only designed with local network access in mind, combined with cumbersome remote access. This is not a direct reflection of the vendor, it’s because remote P2P access is hard to do.

Announced price: $65 + shipping. For tinkerers and testers the campaign brings also some other solutions starting from $29.

If it will prove that is a secure device, it may be a great addon to any Home Automation Solution.

The Bomgar Remote Acces Solution

The Bomgar Box

The Bomgar Box

LDAP, Radius, Single Sign-On and Smart Card authentication solutions supported.

A great Remote Access Appliance.

Microchip PICkit 3 Debug Express Deal – July

40% Off for PICkit 3 Debug Express bundle with Coupon Code: TP1429 

PICkit 3 Debug Express

PICkit 3 Debug Express

The July Microchip Promo brings also other 4 Development Tools with attractive discounts:

 http://www.microchip.com/pagehandler/en_us/promo/devtooldeals/

PIC18F97J94 Plug in Module
Save Over 30% – Use Coupon Code: TP1427

 

 

chipKIT Pi

chipKIT Pi

chipKIT Pi Development Board by element14
Now 15% Off – Use Coupon Code: TP1428

It’s a Arduino compatible board with a SPDIP PIC32 MCU(PIC32MX250F128B). The board is supported by the free MPIDE that can be installed on a Raspberry Pi.   3v3

Element14 page: http://www.element14.com/community/community/raspberry-pi/raspberry-pi-accessories/chipkit_pi

 

PCAP Touch Pad Development Kit with Gestures
Save $30 – Use Coupon Code: TP143

– Projected capacitive board with modified MTCH6301 (base touch controller with display code integrated)
PICkit Serial Analyzer with custom firmware

Multimedia Expansion Board
$75 in Savngs – Use Coupon Code: TP1431

 

199USD 3D Printer Announced and Funded

QU-BD One Up – Open Source Production Ready 3D Printer

http://www.qu-bd.com/

The first 199USD 3D Printer announced as an Open Source Project: Amazing!

199USD 3D Printer

QU BD – 199USD 3D Printer

The 199USD 3D Printer kit contents, as described in the page:

  • 4 pcs. Super Torquey NEMA 17 Stepper Motors
  • 1 Anubis Hot End for 1.75mm Filament w/ Thermistor
  • 1 Laser Cut Black Melamine Coated MDF Frame
  • 1 Precision ACME Screw and Nut for the Z-Axis
  • 6pcs  LM8LUU Precision Linear Bearings w/ 6 8mm Smooth Rods
  • 2 Aluminum HTD Pulleys w/ 3 Ball Bearings as Idlers
  • 1 Set of Laser Cut Acrylic Idler Plates
  • 1 40mm Fan w/ Mount to Cool Off Your Prints
  • 1 Laser Cut Acrylic Build Plate
  • 1 Set of Printrboard Electronics with Integrated Stepper Drivers
  • 1 60w Power Supply (or see UPGRADES:)
  • 1 Bag extra wiring, crimps, electrical connectors etc.
  • 1 Bag of required hardware  (nuts, bolts, screws etc.)

The electronics is Arduino based with Allegro 4983 stepper drivers with an SD card slot to allow computer free printing. The printer comes with a universal 60w laptop power supply.

As announced: The source files will all be released a couple days BEFORE the Kickstarter campaign ends!

The APPROXIMATE dimensions are as follows:

OneUp 12″H x 10″W x 9″D

TwoUp 12″H x 13″W x 12″D

Microchip Development Tools Deals – November

The Microchip Development Tools Deals features now the 915 MHz Secured Wireless Remote Control Development Kit –  KeeLoq and KeeLoq AES for 99USD:

Wireless Security Remote Control Development Kit DM182017-3

Wireless Security Remote Control Development Kit DM182017-3

<<A 4 button PIC12LF1840T39A Key Fob powered by a CR2032 + A Semtech SX1239 Receiver PICtail Daughter Board + RTCC enabled Embedded Security Development Board >> is the formula.

DM182017-3 product page: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en559027

Semtech wide frequency range receiver SX1239 page: http://www.semtech.com/wireless-rf/rf-receivers/sx1239/

The Keyfob uses a λ/4 pcb loop antena with dimensions specified on page 23 of the User Guide aka 41646A.pdf 

Other November Development Tools Deals include the DM240012 – MPLAB Starter Kit for PIC24E MCUs, the ADM00393 – MCP2200 Breakout Module and the  Fubarino (sounds like King Arduino’s fooBar) TCHIP010 SD enabled Pic32 Development  Board.

King Arduino's fooBar

Great!

CC2541 SensorTag

device under test

A Bluetooth Low Energy Development Kkit for wireless sensor applications.

Useful Links:

TI SensorTag: www.ti.com/sensortag

http://www.ti.com/tool/cc2541dk-sensor

SensorTag Quick Start Guide: http://www.ti.com/litv/pdf/swru324b

SensorTag Software: http://www.ti.com/tool/sensortag-sw

CC2541 SoC: http://www.ti.com/product/cc2541

The power supply section – TPS62730: http://www.ti.com/product/tps62730

The Meandered IFA dimensions can be found on page 4 of the SWRA117D app note.

One unverified Eagle Library here:

[code]
# ioclk.com Opensource Eagle Script
# Eagle > New Library > Execute Script
# Library script
#
# EAGLE Version 6.5.0 Copyright (c) 1988-2013 CadSoft
#
Set Wire_Bend 2;
# Grid changed to ‘mm’ to avoid loss of precision!
Grid mm;
Layer   1 Top;
Layer  16 Bottom;
Layer  17 Pads;
Layer  18 Vias;
Layer  19 Unrouted;
Layer  20 Dimension;
Layer  21 tPlace;
Layer  22 bPlace;
Layer  23 tOrigins;
Layer  24 bOrigins;
Layer  25 tNames;
Layer  26 bNames;
Layer  27 tValues;
Layer  28 bValues;
Layer  29 tStop;
Layer  30 bStop;
Layer  31 tCream;
Layer  32 bCream;
Layer  33 tFinish;
Layer  34 bFinish;
Layer  35 tGlue;
Layer  36 bGlue;
Layer  37 tTest;
Layer  38 bTest;
Layer  39 tKeepout;
Layer  40 bKeepout;
Layer  41 tRestrict;
Layer  42 bRestrict;
Layer  43 vRestrict;
Layer  44 Drills;
Layer  45 Holes;
Layer  46 Milling;
Layer  47 Measures;
Layer  48 Document;
Layer  49 Reference;
Layer  51 tDocu;
Layer  52 bDocu;
Layer  91 Nets;
Layer  92 Busses;
Layer  93 Pins;
Layer  94 Symbols;
Layer  95 Names;
Layer  96 Values;
Layer  97 Info;
Layer  98 Guide;
Description ”;

Edit ‘IOCLK-TI-ANT.sym’;
Layer 94;
Change Style continuous;
Wire  0.254 (0 10.16) (15.24 10.16) (15.24 7.62) (17.78 7.62) \
(17.78 10.16) (20.32 10.16) (20.32 7.62) (22.86 7.62) \
(22.86 10.16) (25.4 10.16) (25.4 5.08);
Layer 94;
Change Size 1.27;
Change Ratio 8;
Change Align bottom left;
Change Font proportional;
Text ‘PCB Antenna’ R0 (12.7 2.54);
Pin ‘GND’ sup none middle R90 both 0 (0 5.08);
Pin ‘FEED’ in none middle R90 both 0 (5.08 5.08);
Layer 94;
Wire  0.254 (30.48 0) (30.48 15.24) (-2.54 15.24) (-2.54 0) \
(30.48 0);

Edit ‘IOCLK-TI-ANT.pac’;
Description ‘\
PCB Small Antenna \n\
– inv.F 2.4 GHz \n\
– according to TI”s SWRA117D, Application Note AN043\n\
– ioclk.com Eagle Library’;
Layer 1;
Rect R0 (0 0) (0.9 4.9);
Layer 1;
Rect R0 (0 4.9) (5 5.4);
Layer 1;
Rect R0 (2.3 0) (2.8 4.9);
Layer 1;
Rect R0 (4.5 2.26) (5 4.9);
Layer 1;
Rect R0 (5 2.26) (7 2.76);
Layer 1;
Rect R0 (7 2.26) (7.5 4.9);
Layer 1;
Rect R0 (7 4.9) (9.7 5.4);
Layer 1;
Rect R0 (9.2 2.26) (9.7 4.9);
Layer 1;
Rect R0 (9.7 2.26) (11.7 2.76);
Layer 1;
Rect R0 (11.7 2.26) (12.2 4.9);
Layer 1;
Rect R0 (11.7 4.9) (14.4 5.4);
Layer 1;
Rect R0 (13.9 0.96) (14.4 4.9);
Layer 21;
Wire  0.127 (-0.5 5.7) (14.7 5.7);
Wire  0.127 (0 0) (-0.5 0) (-0.5 5.7);
Wire  0.127 (14.7 5.7) (14.7 0) (0.1 0);
Layer 1;
Smd ‘GND’ 0.2 0.2 -0 R0 (0.4 0.1);
Layer 1;
Smd ‘FEED’ 0.2 0.2 -0 R0 (2.5 0.1);
Layer 21;
Change Size 0.6096;
Change Ratio 3;
Change Align bottom left;
Text ‘IOCLK – BLE – ANT’ R0 (3.81 1.27);
Layer 21;
Change Size 0.3048;
Change Align bottom left;
Text ‘According to SWRA117D’ R0 (3.81 0.635);
Layer 1;
Smd ‘G’ 1.27 0.635 -0 R90 (0.4 -0.57);
Layer 1;
Smd ‘F’ 1.27 0.635 -0 R90 (2.56 -0.57);

Edit ‘IOCLK-TI-ANT.dev’;
Prefix ”;
Description ‘\
PCB Small Antenna \n\
– inv.F 2.4 GHz \n\
– according to TI”s SWRA117D, Application Note AN043\n\
– ioclk.com Eagle Library’;
Value off;
Add IOCLK-TI-ANT ‘G$1’ next 0 (0 0);
Package ‘IOCLK-TI-ANT’ ”;
Technology ”;
Connect  ‘G$1.FEED’ ‘F’  ‘G$1.GND’ ‘G’;
Grid inch;

[/code]

TI Hercules RM42 Launchpad

Hot! Just arrived!

The Hercules RM42 Launchpad features a 100MHZ 32bit Dual ARM Cortex – R4 cores MCU designed for safety-critical applications.

The debugging part is a FT2322 + XC2C32A based XDS100V2 which provides a free CCS license.

Some ShortList Features:

  • 384kB Flash with ECC, 32kB RAM with ECC, 16kB flash with ECC for EEPROM emulation
  • 16ch 12-bit multi-buffered ADC
  • 19 pin programmable High-End Timer (N2HET)
  • Multi-buffered SPI,  LIN/SCI (UART),  eQEP – Enhanced Quadrature Encoder Pulse Module,  GIO pins

 

One great tool is the HALCoGen,  the driver generation tool for TI’s Hercules Microcontroller Family.

Here is an excerpt of  a example file from HALCoGen RM42x using 1 ADC on GP and 1 UART for display:

[code language=”cpp”]

/** @example example_adcDisplay.c
*   This is an example which describes the steps to create an example application which
*   configures ADC to start conversion ona GIO trigger and display it over an uart .
*   The digital value can be viewed on a pc terminal with the uart configures @ 9600
*   no parity ,2 stop bits.
*
*
*   @b Step @b 1:
*
*   Create a new project.
*
*   Navigate: -> File -> New -> Project
*
*   @image html example_createProject.JPG "Figure: Create a new Project"
*
*   @b Step @b 2:
*
*   Configure driver code generation:
*   – Enable GIO driver
*   – Enable SCI driver
*   – Enable ADC driver
*   – Disable others
*
*   Navigate: -> TMS570LSxx /RM4 -> Enable Drivers
*
*   @image html adcDisplay_enabledriver.JPG "Figure: SCI Enable Driver"
*
*
*   @b Step @b 3:
*
*   Navigate: -> TMS570LSxx /RM4 -> ADC
*
*   Configure ADC General :
*
*   @image html adcDisplay1.JPG "Figure: ADC General Configuration"
*
*
*   @b Step @b 4:
*
*   Configure ADC Group1 :
*
*   – Configure ADC Group 1 with "Hardware trigger" source as "GIOB0" at "Rising edge"
*   – Enable ADC1 Group 1 channel selection Pin 0 and Pin 1
*
*   @image html adcDisplay2.JPG "Figure: ADC Group Configuration"
*
*   @b Step @b 5:
*
*   Configure SCI:
*   – Configure SCI baudrate as 9600
*
*   Navigate: -> TMS570LSxx /RM4 -> ADC
*
*   @image html sci_uart1.JPG "Figure: SCI Configuration"
*
*   @b Step @b 6:
*
*   Copy the source code below into your sys_main.c or replace sys_main.c with this file.
*
*   The example file can also be found in the examples folder: ../HALCoGen/examples
*
*   @note HALCoGen generates an empty main function in sys_main.c,
*         please make sure that you link in the right main function or copy the source into the user code sections of this file.
*
*
*/

/* USER CODE BEGIN (0) */
/* USER CODE END */

/* Include Files */

#include "sys_common.h"
#include "system.h"

/* USER CODE BEGIN (1) */
#include "esm.h"
#include "adc.h"
#include "sci.h"
#include "gio.h"

#define  TSIZE1 12
uint8  TEXT1[TSIZE1]= {‘\r’,’\n’,’|’,’\t’,’C’,’H’,’.’,’I’,’D’,’=’,’0′,’x’};
#define  TSIZE2 9
uint8  TEXT2[TSIZE2]= {‘\t’,’V’,’A’,’L’,’U’,’E’,’=’,’0′,’x’};

adcData_t adc_data[2];
void sciDisplayText(sciBASE_t *sci, uint8 *text, uint32 length);
void sciDisplayData(sciBASE_t *sci, uint8 *text,uint32 length);
void wait(uint32 time);
/* USER CODE END */

…………………………………………

[/code]

Some Hercules RM42 Launchpad useful links:

Project Zero software files: http://processors.wiki.ti.com/index.php/Hercules_LaunchPad:_Project_0

Hercules LauncPad Wiki: http://processors.wiki.ti.com/index.php/Hercules_LaunchPad

Eagle Schematic (well done!): http://processors.wiki.ti.com/images/b/b0/Hercules_LaunchPad_SchLayout.zip

PDF Schematic (embest): http://processors.wiki.ti.com/images/7/79/Hercules_LaunchPad_Sch.pdf

HALCoGen for Hercules RM42 Launchpad: http://www.ti.com/tool/halcogen

Code Composer Studio: http://www.ti.com/tool/ccstudio

ARM Cortex R4 Reference: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0363e/index.html

Sabre Lite Board

Element 14 - Embest Sabre Lite Board

Element 14 – Embest Sabre Lite Board

Smart Application Blueprint for Rapid Engineering (SABRE) board built by Embest Technology Co. Ltd, a Premier Farnell – Element 14 Company

The board runs a Timesys Linux very good distribution on a powerful i.MX6 Quad Application Processor and is designed following the Freescale’s SABRE specification.

Hardware quality is excellent.

I’ve noticed some heating problems at 3D rendering but the quality is very good.

Still under evaluation!

 

Some Start-Up Links:

Element 14 SABRE Lite: http://www.element14.com/iMX6

Embest Tech: http://www.embest-tech.com/shop/product/sabre-lite-development-board.html

Boundary Devices Sabre Lite and Accesories: http://boundarydevices.com/products/sabre-lite-imx6-sbc/

Freescale i.MX6 Quad: http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=i.MX6Q

Timesys Linux: http://www.timesys.com/

TLDP Timesys Howto by Trevor Harmon – 2005: http://www.tldp.org/HOWTO/html_single/TimeSys-Linux-Install-HOWTO/

Freescale’s App Note AN4581 Secure Boot on i.MX50, i.MX53, and i.MX 6 Series using HABv4

Sabre Lite - embest

Sabre Lite by Embest – Element 14

Renesas RPBRX62N promotional board

Renesas RPBRX62N unpacking

Renesas RPBRX62N unpacking

The Renesas RPBRX62N is a promotional board that exceeds the normal features of a  demo board and comes close to a rapid prototyping board.

The board features a RX62N chip, a Segger J-Link JTAG debugger and a HEW IDE with a 60 days C Compiler license. Full option!!!

Renesas RPBRX62N Hardware

The pin  header comes unsoldered and the plating quality is excellent. See the attached pictures.

The actual configuration leaves 4 (SCI) UARTs available on the header.

Other on-board features are a USB port, a joystick , a potentiometer, some switches, leds and the Ethernet port.

A SMSC LAN8700I –  a ±15kV ESD Protected MII/RMII 10/100 Ethernet Transceiver with HP Auto-MDIX Support and flexPWR – makes the Ethernet interface.

RPBRX62N HEW Segger

Renesas RPBRX62N HEW Segger

Software and documentation:

The preloaded demo software features a web server built on uIP and shows  some basic functions like commanding the leds and a VNC server that nicely substitutes a full display. The source code of the preloaded demo program is in the tutorial project/HEW.

Both demo webservers (Renesas and Segger version) are using 192.168.1.10 as default IP Address, but on the CD  is included a IP identifier (IP Address Display Tool) software named UsbViewer.

Segger’s website provides a full .hws demo project and documentation. The direct link is here.

You can download also a  EmbOS trial version for RX here.

The documentation is complete. The “RX62N Group, RX621 Group
User’s Manual: Hardware” (filename r01uh0033ej_rx62n.pdf) has 2014 pages and >50MB.

Renesas RPBRX62N Links:

Manufacturer’s page: http://www.renesas.eu/products/tools/introductory_evaluation_tools/renesas_promotional_boards/RPBRX62N/index.jsp

Segger page: http://www.segger.com/renesas-rpbrx62n-eval-board.html

RX62N page: http://www.renesas.eu/products/mpumcu/rx/rx600/rx621_62n/index.jsp

e-Learning  website: http://www.renesasinteractive.com/

Community website: http://renesasrulz.com/

5 years Beagle Anniversary

The Beagle family: Opensourcing SBC’s and delivering new development tools

BeagleBoard

BeagleBoard, the first, released in 2008

http://beagleboard.org/Products/BeagleBoard
OMAP3530 Application Processor 720MHz ARM Cortex-A8

@150$

BeagleBoard-xM

BeagleBoard-xM, released in 2010

http://beagleboard.org/Products/BeagleBoard-xM
Sitara AM37x 1GHz ARM Cortex-A8 compatible

@150$

BeagleBone, released in 2011

BeagleBone, released in 2011

http://beagleboard.org/Products/BeagleBone
AM335x 720MHz ARM Cortex-A8

@90$

BeagleBone Black

BeagleBone Black,  released in 2013

http://beagleboard.org/Products/BeagleBone Black
AM335x 1GHz ARM Cortex-A8

@45$

[youtube]bIvkerJr5wE[/youtube]

Graphene and toxicity

A good question about what’s new…

2013: Study Says Conductive ‘Miracle’ Material Toxic to Humans
2012/2013:  Graphene microsheets enter cells through spontaneous membrane penetration at edge asperities and corner sites
2011: Differential nano-bio interactions and toxicity effects of pristine versus functionalized graphene.

BeagleBone SUBARCTIC issue

BeagleBone SUBARCTIC issue

BeagleBone SUBARCTIC issue

Sometimes the Mighty BeagleBone may ask for a new, unknown driver named SUBARCTIC. His VID is 0451 and PID is 6141, at least in the case of a A6a board.

A simple search about this can lead to a bunch of different opinions but the truth seems to be that is appears only in Sitara’s bootloader mode, when he waits for some other debugging options, maybe something on the non-soldered P7 JTAG Connector.

The BeagleBone Subarctic QuickFix

So, BeagleBone is built to boot something from the SD Card… Inserting the Linux SD Card all works fine, the board get into linux boot sequence, the right devices (USB Serial Port, RNDIS Gadget… ) are showing up and the drivers are loading.

The quick fix: don’t search for a driver instead put the SD Card with software in the connector and cycle power.

Here is a USBView capture of the SUBARCTIC issue:

SUBARCTIC in USBView

BeagleBone SUBARCTIC in USBView

Some TI Sitara debuggers:

XDS100 – http://www.ti.com/tool/xds100
XDS560 –  http://www.ti.com/tool/XDS560
Blackhawk XDS560v2 System Trace USB Emulator, Spectrum Digital XDS560v2 PRO TRACE Receiver, Spectrum Digital XDS560v2 System Trace USB & Ethernet.

Some TI Sitara JTAG advices:

http://processors.wiki.ti.com/index.php/XDS_Target_Connection_Guide#Target_Connection_Design

http://processors.wiki.ti.com/index.php/XDS_Connector_Design_Checklist

 

 

Bus Pirate v.3

A great product: The Bus Pirate v.3

Bus Pirate v3b

Bus Pirate v3b

The Bus Pirate v.3  is a great piece of open source hardware and software bundle, built by Ian Lesnet & Co. @dangerousprototypes that can easy substitute some quick-build interfacing adapter for I2C, UART, 1-Wire, SPI, MIDI and many other serial protocols.

One important thing is that is 5.5v tolerant and supports some scriptable binary bitbang. In other words you can test at bit level various things that supports syncronous and asyncronous serial protocols.

Is built around a FT232RL converter, a PIC24 and a smart power supply (5v and 3v3 supplied to the target as software option).

Some features here: http://dangerousprototypes.com/docs/Features_overview

Unfortunately… somehow I managed to burn his first 3v3 Micrel LDO (VR2 on the schematic/pcb). A short circuit on the cable connector and the LDO is gone.

To use the BusPirate again I had to switch the 3v3 LDO’s, the first one powers the board and the second one is for the “power to target” mode. Now the board is without the 3v3 supply option.

A v3 vs. v4 comparison: http://dangerousprototypes.com/docs/Bus_Pirate_v4_vs_v3_comparison

The 3b hardware overview: http://dangerousprototypes.com/docs/Bus_Pirate_v3b

Some places to buy:

Seeed: http://www.seeedstudio.com/depot/bus-pirate-v3-assembled-p-609.html?cPath=61_68

Watterott: http://www.watterott.com/de/Dangerous-Prototypes?x76825=eb8db1605207013dc33987d199f09e3d

Adafruit: http://www.adafruit.com/products/237

Other Bus Pirate resources:

Wikipedia: http://en.wikipedia.org/wiki/Bus_Pirate

A very good Italian article about 1-wire communications and Bus Pirate: http://www.settorezero.com/wordpress/il-bus-pirate-cosa-e-come-funziona-esempio-di-comunicazione-con-bus-1-wire/

A very good I2C article: http://www.maartendamen.com/2011/04/bus-pirate-talking-to-chips-bmp085-used-as-sample/

3-wire protocol article: http://bobdasquirrel.blogspot.it/2013/01/bus-pirate-meets-93lc46b.html

 

 

The amazing small board – NXP LPC800 by NGX

The amazing small board - NXP LPC800

The amazing small board – NXP LPC800

LPC800 series develeopment tool

I just get my hands on this board courtesy of Element14.

It’s amazing.  Simple and efficient.

The small pin number is compensated in a great way: The Switch Matrix – it connects 6 pins to any available internal module.

Of course, programming can be done in bootloader mode, where every pin is reassigned according to the original layout.

LPC810 features:

  • ARM Cortex-M0+
  • Switch matrix for flexible configuration of each I/O pin function
  • 2 USART interfaces, 1 SPI controller and 1  I²C-bus, with pin functions assigned through the switch matrix
  • Self Wake-up Timer (WKT) clocked from either the IRC or a low-power, low-frequency internal oscillator
  • CRC engine
  • Boot ROM API support: boot loader, USART and I²C drivers in ROM, power profiles, Flash In-Application Programming (IAP) and In-System Programming (ISP)

The debugging options supported are SWD (10 pin connector), JTAG boundary scan and Micro Trace Buffer (MTB).

The quickest/cheapest programming method is via spi*ISP (6 pin connector) with a USB/Serial cable.

Links:

NXP LPC800 mini: http://lpcware.com/lpc800-mini-kit

Schematic: http://lpcware.com/system/files/LPC800%20mini%20board%20Rev%20AR2_0.pdf

NGX Tech: http://ngxtech.com/

Some NGX JTAG Probes: http://shop.ngxtechnologies.com/index.php?currency=EUR&cPath=26&sort=2a

Element14 Community: http://www.element14.com

Recorded Elektor Academy Webinar: http://www.element14.com/community/videos/8356/l/elektor-academy–lpc800-arm-simplicity–twist-your-arm

LPCXpresso Community: http://knowledgebase.nxp.com/forumdisplay.php?f=4

Code Red (actually owned by NXP): http://www.code-red-tech.com/

IAR EW for ARM: http://www.iar.com/en/Products/IAR-Embedded-Workbench/ARM/

KEIL MDK ARM: http://www.keil.com/arm/mdk.asp

Some MBED resources: http://ioclk.com/mbed-arm-rapid-prototyping-tool/

Switch Matrix Tool (Java): http://www.lpcnow.com/articles/84558/lpc800-switch-matrix-making-life-easier-one-pin-at/

a note by user mio @ MBED.org: http://mbed.org/users/mio/notebook/lpc800-mini-boards-p1-to-p44/ 

arm.com blog page: http://blogs.arm.com/embedded/868-the-un%E2%80%99nxp%E2%80%99ected-lpc800/

article about the LPC800 with some Switch Matrix work: http://www.microcontrollercentral.com/author.asp?section_id=1758&doc_id=255764

*error corrected! thanks to nathael

AdZone