BBC Micro bit: first look

The BBC Micro bit an ARM-based embedded system designed by the BBC for use in computer education in the UK. The device has been given away free […] [to every 11 years old pupil] in the UK, and is also available for purchase by anyone.

This is the wikipedia definition.

micro_bit
The BBC:Micro compared with some coins: very small indeed

With a 5×5 led matrix, two buttons, a compass and a 3-axis accelermeter, this small unit has a lot of interesting suff packed for less then 17€ on Amazon


The core is an ARM CortexM with 16KB of RAM and 256KB of static flash for the code.

The Microbit web site offers a very huge set of videos and teaching material. But to regster you need to got an authorization code, because the site seems teacher-oriented, at least for publishing code samples.

It is not very easy to search for code samples, even if there is a bizzarre “site” index, who rememebrs me a 1995 web site :)

The micro:bit is plug and play: when you connect it on a PC  USB, a magic drive will appear. Simply copy your “hex” code on it and…no other steps are needed!

Comparing with an Arduino uno:

Pros

  1. Four different web editor (Microsoft Blocks, Microsoft Touch Develop, Code Kingdoms JavaScript and MicroPython) to start.
    No C language knowledge required.
    Install nothing and get ready in seconds.
    Very easy upload procedure (is a simple drive copy!)
  2. A lot more RAM then arduino (16Ks vs 2kBs)
  3. 3-more pin on the bottom and +3V and GND to attach extra leds/sensor and so on
  4. MicoPython-ready
    Very good collections of examples and demo at https://github.com/bbcmicrobit/micropython.The python runtime has a good hardware coverage too.
  5. Low power: only 3Volt needed for operation (Arduino needs at least double as far as I know, anyway can work in a wider range and can output 3.xV and 5V).
  6. Quite aggressive price.

Cons

  1. Very difficult to download an off-line editor. The online editors use a custom format to save your code. In general the platform seems a bit too close for “ordinary” people. Arduino is much more open. Anyway the micropython is open source and only need a free account on ARM web site (mbed.org). Also my attempt to build the python editor was unsuccessful. The python editor lacks compilation checks anyway.
    I was able to build Micropython with a bit of work on MacOSX
  2. Very very tiny.  For a 6/7 years old child is only “small”, for an adult is “tiny”.
  3. To access the smaller pins like I2C you need additional stuff and/or precise soldering

Anyway I was very impressed. Every Europe school should get one.

 

Tool Command Language: il papa’ di Java

E’ notizia fresca di stampa il rilascio di Tcl 8.6, che introduce parecchie novità a dispetto del fatto che sia una “minor” release.

 

In particolatre Tcl 8.6 introduce un motore “stackless”, integra nel linguaggio le estensioni OOP, ed aggiunge le coroutine.

Parliamo quindi diffusamente di Tcl, un linuaggio che ho sempre trascurato perché mi sembrava macchinoso e un po’ brutto/fatto  male…ma mi sono dovuto ricredere.

Continue reading “Tool Command Language: il papa’ di Java”

Arduino la sfida embedded per il Software Architect

L’Arduino Uno, è un micro controller tutto italiano, sviluppato in open source e che sta avendo un grande successo.

Una parte del suo successo è dovuto al fatto che costa meno di trenta euro, e per essere così economico la versione base ha un chip ATmega328 con soltanto 2 KB di RAM, 1KB di EEPROM e 32KB di memoria flash per il codice. Come implementare comportamenti complessi con risorse così scarse? L’ingegneria del software ci può aiutare?…
Vediamolo assieme, in una serie di articoli che avranno come obiettivo l’ingegnerizzazione spinta del sistema di sviluppo Arduino.

Continue reading “Arduino la sfida embedded per il Software Architect”

SQLite alter table

SQLite is a small, powerful embedded database. A friend of mine started using it about six years ago.
Some years ago it comes also on top of  Python 2.5.
It is used inside

  • FileMaker Bento: its ultra customized model is based on a big sqllite db
  • DropBox client, to store its internal state
  • iPhone: stores your SMS and also other stuff. It is widely used by apps.
  • Apple Safari uses it for HTML5 storage support
  • Google Gears uses it
  • …and in a lot of embedded product.

I was annoyed because until version 3.1.3 SQLite did not provide an alter table syntax but… it is quite easy to emulate it with something like this, even if it required a bit of work:

Continue reading “SQLite alter table”

BWolf first installation

Biblio Wolf (Bwolf for firends) is a webapp app for managing a book collection. BWolf is written in python using the Django web framework, and it is born from a Customer request. BWolf is open source, and you can get a full description here including links to downloads. I will mantain a blog of all the work I will do. In the last two months I set up a Subversion Repository and played a little with Django.

 

After some testing I opted for the SQLite3 DB in this first phase. SQLite is a database featuring quite full support of SQL92. SQLite lacks of some capabilities for manipulating tables (alter table can be used only to add columns) but has transaction, and is embedded. SQLite consume very little resource.

 

Because the database is self-contained in a binary-indipendent file is quite fast to syncronize my developement environment with the test (and in the future, the production).