Programming ESP8266-EVB with microPython tutorial

OLI-ESP8266-EVB (GPIO 0)

Our Belgium distributor MCHobby made nice tutorial about how to program ESP8266-EVB board with microPython.

The tutorial is available also in French.

New product in stock: Micro-USB-OTG-Adapter allow to connect USB devices to your phone and tablet

MICRO-USB-OTG-1MICRO-USB-OTG-2

MICRO-USB-OTG-ADAPTER allow you to connect easily USB Flash drives, Keyboards, Mouse, camera, etc USB devices to your phone and tablet.

Small and compact size it slides inside USB-A connector and make it MICRO-USB:

MICRO-USB-OTG-3 MICRO-USB-OTG-4

then you can easily attach to your phone:

MICRO-USB-OTG-5

and to transfer Music, Movies, Documents etc.

 

A13-SOM Android 4.2.2 NAND Flash image

Image

We completed Android 4.2.2 NAND Flash image for A13-SOM-512 note that this image will not work on A13-SOM-256 as Android require lot of RAM, also to may use this image you need A13-SOM-WIFI-4GB shield to store the image.

Look Mom! I shrink the Arduino!

Image

We love to play with Arduino and like it very much but one thing have always bothered us – it’s HUGE.

What you do when you want to make small data logger, RF/Zigbee baecon, sensor network, something wearable etc? use this BRICK? No way.

This is how the idea for OLIMEXINO-NANO came.

We made complete Arduino replacement with size of only 30x30x8 mm

ImageImage

What you see on the pictures above is TOP and BOTTOM view of the OLIMEXINO-NANO.

It have these features:

  • ATMega32U4 processor (Leonardo compatible)
  • micro USB connector for programming and power supply when debugging
  • RESET button
  • USER button
  • microSD card connector for data logging on SD-card
  • UEXT connector for RF, Zigbee, Ethernet, RELAY, RGB LED, etc UEXT modules
  • two status LEDs
  • Connector 14 pin 0.05″
  • Connector 20 pin 0.05″

the connectors allow other boards to stackup like normal Arduino shields.

The first shield we made is with Battery power supply:

Image

Image

On this battery shield there is:

  • power ON/OFF switch
  • LiPo battery connector for our 1400mA/2200mA/3000mA/4400mA/6600mA batteries
  • LiPo charger with three status LEDs
  • Li 3V CR3023 battery holder

Here are how NANO and BATTERY shield snap together:

Image

Image

both fit perfectly in this small plastic enclosure:

Image

The next shield was to allow easy connection to Breadboard:

Image

Image

Image

Here is view of BreadBoard shield with Battery shield snap on top:

Image

And here is same with NANO snap on bottom:

Image

and here is side view:

ImageImage

Here is again how NANO looks next to OLIMEXINO-328 (Arduino-2009 clone)

Image

and to cigarette lighter:

Image

and together with the small 45 x 40 x 20 mm enclosure:Image

As you see above these three boards are the first prototypes which we built, now we will do some testing and run production in November. The prices? They will be very competitive and similar to OLIMEXINO-32U4 which uses same processor.

Another shield we work now on is Bluetooth 4.0 BLE shield which to snap and to allow trouble free connection to iPhone and Android devices

RETRO COMPUTER MEMORIES: Acorn BBC Micro model B and Acorn BBC electron

Image

Image

BBC Micro and Acorn Electron – I like these two computers from my retro vintage computers collection as there is interesting story around them.

Everyone has heard for ARM processors, the fastest growing architecture, they are everywhere: in phones, tablets, handheld devices, GPS navigators, media players, set top boxes and in most of Android devices. Nova days we have even Cortex-M0 ARM processors for $0.30 which penetrates the holy territory of the 8-bit processors.

If you now ask yourself What ARM processors do have with the above retro computers, the answer is simple, because of these computers ARM processors were designed in first place.

How this happend:

Back in 1970s Chris Curry is Cambridge University professor with interest in the microprocessors, he launched together with his friend Herman Hauser two companies: first with research in the microcprocessors named Cambridge Processor Unit Ltd (CPU) and another named Acorn Microcomputer with aim to make mini computer based on the CPU processors.

According to Curry the Acorn name was choosen so it appear before Apple in the telephone directory, which show which company they were influenced at that time.

Some engineers joined to work in Acorn Computers and one of them Sophie Wilson designed few computer systems there. These were primary laboratory oriented kits with LCDs, keyboards, processors which allow laboratory exercises to be completed with students – looking same as Olimex’s development boards now 🙂

In 1979 Curry influenced by ZX81 computer launch decided also to move to home computer design and this is how Acorn Atom was build. Based on 6502 as any other home computer at that time.
After the Atom was released Curry and the team started thinking for more powerful processor, Hauser suggested compromise 6502 with enhanced peripheral co-processor which to unload 6502 from the part of the tasks so they designed the next version Proton.

BBC in 1981 selected Proton for their educational program and the computer was renamed to BBC micro. Acorn sold more than 1.5 million BBC microcomputers and this helped the company to make enough profit to start working on their own processor. With the launch of IBM PC in 1981 and the Apple Lisa Acorn saw that they need more powerful processor, first attempt was to contact Intel to licensee 268 and improve it, but Intel refused so they as University professors decided that its not so hard to make their own 🙂

At that time everyone has put efforts to make processors which machine language is close to higher level programming languages i.e. so named CISC (complex instruction set computing) processors. The idea was that programming language would be easy to translate and execute faster if the machine language instructions are close to it. This lead to very complex implementation of the processor, long signal paths, which didn’t allow high frequencies (most processors at that time run at 1-2Mhz) and it was taking about 100 man years to develop something like 6502. Acorn had no such resources so they went to different route – to make RISC (reduced instruction set computing) processor which was easier to develop with smaller budged and team. Sophie Wilson set about developing the instruction set, writing a simulation of the processor in BBC Basic that ran on a BBC Micro with a 6502 second processor. Another benefit from the RISC architecture came the smaller paths to implement and the higher frequencies and lower power supply the RISC processor required compared to CISC processor. First RISC processors were running at 4Mhz and the power consumption was less than CISC.  Smaller size also means less cost to manufacture.

It convinced the Acorn engineers that they were on the right track. Before they could go any further, however, they would need more resources. It was time for Wilson to approach Hauser and explain what was afoot. Once the go-ahead had been given, a small team was put together to implement Wilson’s model in hardware.
The official Acorn RISC Machine (ARM) project started in October 1983, with Acorn spending GBP 5 million on it by 1987. VLSI Technology, Inc were chosen as silicon partner, since they already supplied Acorn with ROMs and some custom chips. VLSI produced the first ARM silicon on 26 April 1985 — it worked first time and came to be known as ARM1. Its first practical application was as a second processor to the BBC Micro, where it was used to develop the simulation software to finish work on the support chips (VIDC, IOC, MEMC) and to speed up the operation of the CAD software used in developing ARM2. The ARM evaluation system was promoted as a means for developers to try the system for themselves. This system was used with a BBC Micro and a PC compatible version was also planned. Advertising was aimed at those with technical expertise, rather than consumers and the education market, with a number of technical specifications listed in the main text of the adverts. Wilson subsequently coded BBC Basic in ARM assembly language, and the in-depth knowledge obtained from designing the instruction set allowed the code to be very dense, making ARM BBC Basic an extremely good test for any ARM emulator.

In 1982 Acorn released budged version with lower cost of BBC micro called BBC Electron, it was with co-processor IC ULA which had inside all logic and peripherals of BBC implemented.

Unfortunately Electron come to the market late as meantime Commodore 64 wiped all competitors in 8-bit scene, Atari and many others went in bancrupcy in 1985, Apple was about to sink also, same happen with Acorn. Olivetti take it over, but the new processor activity was kept in such secret that Olivetti even didn’t know that they buy it.

Good move from Acorn management was to present the new ARM processors to Apple and they decided to use it in their handheld Newton device as were impressed by the price, power and performance of this new chip, so Apple and Acorn began to collaborate of developing the ARM so they formed new company ARM Ltd in November 1990 where Acorn Group and Apple had each x 43% and the VLSI was both investor and first ARM licensee.

Now back to our retro computers:

Image

Here is how BBC Micro looks on bot:

Image

and back:

Image

Note the many peripheral chips, this was one of most advanced computers at that time, it had, LAN, Graphics co-processor, Audio co-processor, needles to say some of most interesting games were on BBC micro 😉

Image

The BBC Electron

Image

bot:

Image

inside:

Image

as you can see all glue logic and peripheral were fit inside custom chip :

Image

which allow BBC Electron to be sold under 200 GBP, sure this didn’t help to complete the mighty Commodore 64 which wiped all 8-bit market, but the research to make newer faster better processor for the Acorn computers lead to the design of one of most successful architecture at our time ARM

A13-OLinuXinio-MICRO – EURO 28 Open Source Single Board Computer is for sale

Image

A13-OLinuXino-MICRO release took us a while, but in this board to achieve low cost we removed the power management IC AXP209 and all references from Linux Kernel to PMU had to removed. Thanks to Dimitar Gamishev  and Linux-Sunxi.org for the hard work to make this happen!

AXP209 is necessary for tablets which operate on batteries as then Linux Kernel can run the processor at lower clock to reduce the consumption, but in A13-MICRO we decided to run always the processor at maximum speed as the board do not run from batteries and it uses less 2W power anyway.

A13-OLinuXino-MICRO specs are:

  • A13 Cortex A8 1Ghz processor (1008 Mhz to be precise)
  • 256MB DDR3 memory
  • VGA output 800×600 pixels resolution
  • USB host
  • USB-OTG
  • micro SD-card for Linux boot
  • Audio output for headphones
  • LCD connector for A13-LCD7-TS
  • GPIO connector
  • UEXT connector you can see what you can do with UEXT in our other post for RPI-UEXT
  • Console UART connector (for use with USB-SERIAL-CABLE-F)
  • optional JTAG connector (not populated)
  • optional UART0 connector (not populated)

Now small lot of so called “developer edition” is assembled and in stock. After A13-OLinuXIno and A13-OLinuXino-WIFI production we do not expect any surprises, but we decided to take is slower step by step instead to rush with big production run.

All UEXT modules are supported native through the UEXT connector on board, A13-LCDxxx can be connected also on top of the VGA output.

Some free boards will be shipped to selected developers from Linux-Sunxi community and for our forum members who contribute regullary to OLinuXino project.

Note: A13-OLinuXino-SD Linux image will not work with MICRO due to the PMU difference, we prepare A13-OLinuXino-MICRO-SD.

A13-OLinuXino-MICRO price starts from EUR 28 for OEM quantities (50+ pcs) and is EURO 35 for one pce.

A13-OLinuXino-MICRO first prototypes are ready

Image

Here is the first look at A13-OLinuXino-MICRO assembled prototypes.

It took a lot of time as our assembly machines are overloaded and we run them on two shifts to meet the demand for our development boards, so the blank PCBs were made and sitting for two weeks waiting on tail for the assembly window.

What we have here is:

– A13 Cortex-A8 processor running at 1GHz
– 256MB of DDR3 RAM
– USB host
– USB-OTG
– VGA output 800×600 @ 60 Hz
– SD-card
– Audio Out for headphones
– LCD connector
– GPIO connector 1 and 2
– UEXT connector
– 100×85 mm

The goal is to release A13-OLinuXino-MICRO in production at EUR 35 retail down to EUR 28 for 50+ pcs OEM order.

For those who will say that 256MB is small amount of memory I would say that we run pretty amazing stuff now even on iMX233 with 454Mhz processor and 64MB RAM, so with x4-6 times faster processor and x4 times more memory lot of projects could be complete in Linux. Well, we will probably not run Andoriod 4.0 nor Open Office and Ubuntu with Chrome, but for this purpose it A13-OLinuXino-WIFi where you have double the RAM and 4GB NAND flash disk.

MICRO have no Ethernet by default but supports MOD-RTL8188CU WiFi adapter and the AX88772B USB to wired LAN adapters which will be for sale next month.

We try the SD card with the Debian image and as expected the bootloader starts then the kernel stops as there is no enough memory. So the goal now is to disable MALI400 and the GPU which alone take 200MB 🙂 and to make kernel which fits in smaller footprint.

We assembled few of these and the first who report that disabled the Mali and GPU and managed to ran Linux-Sunxi in 256MB will get one of the first assembled MICROs 🙂

Sneak preview of A13-OLinuXino-MICRO

Image

A13-OLinuXino-MICRO specifications:

– A13 Cortex-A8 processor 1Ghz (we found we can overclock up to 1.2-1.5Ghz)
– power managment AXP209 removed – fixed core voltages
– 256MB of DDR3 RAM
– GPIO extensions same as normal A13-OLinuXino
– LCD extension same as normal A13-OLinuXino
– micro SD-card
– VGA output, Audio output
– USB host
– USB-OTG
– UEXT connector
– JTAG connector
– console UART connector
– power supply +5V DC only
– reset button
– bootloader button
– status LED
– operating temperature -25+85C

With this board we decided to challenge how down we can cut the features to reach rock bottom pricing.
This board is still on design stage (actually we already completely routed it) and we are going to prototype it next week, so please do not ask when you can buy it. In matter of fact we are still not sure if it will work at all, as we removed the AXP209 power managment IC and decided to try if A13 will work just with DCDC fixed power supplies.
If we succeed the price of this A13-OLinuXino-MICRO will be around EUR 35 retail – and this for board with 1GHz Cortex-A8 processor and 256MB RAM.

When we discussed this with A10 developers they warned us that current Linux distribution for A10 is memory hungry and only Mali400 and VGPU when enabled need 100MB of RAM.
Well I’m pretty sure there are many applications where fancy 3D graphics are not necessary, or the Mali400/VGPU apetite may be lowered with some tweaking?
Considering what amount of software we already managed to run on iMX233 ARM9 with 64MB, I think A13-MICRO have his niches where will perform just fine!
Well Andorid 4.0 on 256MB may not work nice, but Linux should be OK.

So crossing fingers to see what will happend with the prototypes 🙂

For these who miss Ethernet we did some experimenting with USB-Ethernet adapters (starting from $3 on ebay) and A13 Linux Kernel supports them both USB 1.1 (based on QF9700) and USB 2.0 (based on AX88772) versions the later is with several times faster transfer, so we probably offer these as USB accessories to A13-OLinuXino. And of course we will offer the WIFI alternative USB-RTL8188CU 150MBit as well.  The LCD7″module, Bluetooth USB dongles, 3G modem dongles and all accessoaries we preparing for A13-OLinuXino-WIFI will also work on A13-OLinuXino-MICRO.