TERES-I DIY Open Source Hardware hacker’s Laptop update


It’s have been long time since I blogged about our laptop project.

What is the status – we have first PCBs prototyped and most of parts works fine.

We had to make Matrix keyboard + I2C touchpad to USB converter board. We did this with small AVR.

For this project we couldn’t use any of our standard connectors – we had to source all new: mini HDMI connectors, USB host connectors, power jack, audio jack connectors all they had to be low profile and embedded inside the PCB, hence this off form of the main PCB:


The LCDs used in laptops are not as the normal LCDs, they are very thin only 3mm or less and as their cable is special as must have as low as possible number of thin wires knitted together in very thin round cable, is has to go through laptop plastic’s hinges and normal cable can’t fit there. This is why all laptop LCDs are not parallel RGB neither LVDS but use eDP interface.

For bad luck A64 do not support such interface so we start to search LVDS/HDMI/RGB to eDP converter ICs. What we found is that Western suppliers solutions (TI etc) are more expensive than A64 chip itself so no go. We found Chinese solution for $1 NCS8801 and we said – well this is our solution🙂 we made PCBs prototype and sourced few chips then we struggled by the lack of documentation🙂 The ‘datasheet’ is 30 pages and the only code which is on the net initializes registers at addresses not mentioned in the datasheet, after spending almost 4 weeks on this we gave up and start looking for another solution. We found ANX6345 which is a bit more expensive but has some code in Linux Kernel and seems used with Rockchip ICs, so we hope this to solve LCD issue. We designed new board and got the new prototypes few days ago so they wait open window on assembly line to be assembled, crossing fingers everything to work🙂

The mechanical parts has their history too. In June we placed orders to several different suppliers for the plastic parts, speakers, touchpads, power adapters, screws, hinges, total 40 different parts which are inside the laptop. The orders were complete in July and consolidated as one shipment on August 6 they were expressed with TNT and 2 days later were at Sofia airport, but the troubles just began🙂

To import something may seems very easy for outsiders, but has it’s tricks. Usually every component can be classified in several positions in customs tariff, for instance LCDs have at least 7-8 different codes at which they can be imported, like they can be classified as display for computing equipment, as display for TV, as display for signage, as display for metal processing machine, etc etc. The trouble is that all these positions had different import tax🙂 and of course Bulgarian customs try to force you to pay on the highest tariff code unless you prove them other. Another issue is that there work mostly people with economic education and very few know electronics matter. Import tax starts from 0% for computer parts and go up to 4-5% for TVs and machines, not small amount when you talk for $200 laptop parts! So laptop parts were sitting on customs 3 weeks as customs officers were trying to tariff every hinge, screw, plastic etc part as different product to tariff it with the highest code. Fortunately after 3 weeks of thinking somebody with common sense allowed all laptop spare parts to be imported as such with 0% tax and we got them today, but the fight will continue as this was only 10% of the order which we wanted to receive promptly paying expensive air transport, remain 90% parts still travel by sea and will arrive end of September, so let’s see how they will tariff these when arrive🙂

We get lot of request when the laptop will be done and we love all our impatient customers🙂

Guys be sure that we do anything humanly possible to release it as soon as we can, but to design something from scratch which you had never did before is not easy, once we do this I’m sure we will easily make 10 other laptops, but first time is always more difficult, to arrange logistic of so many parts and produce is not less challenging.


P.S. I hope you like the “Super” key on our new keyboard above🙂

Free Electrons add mainline Linux kernel support for the A13 Allwinner VPU


Posted today on Free Electrons blog.

19 years old intern in Free Electrons took the Cedrus reverse engineering of Allwinners proprietary CedarX video driver who is around since mid 2014 and made patches for mainline Linux kernel.

I’m sure we use these since they were made first available and they are build in our images, so I’m really puzzled why they have made their way to mainline just now and not earlier?

Isn’t it time Linux-Sunxi community to stop working on kernel fork and start to send all development and patches upstream like Rockchip developers do already for 2 years?

Looking at mainline kernel Rockchip has way better support now than Allwinner although Linux-Sunxi community to seem many times bigger than Rockchip community.

Rockchip devices are in many Chromebooks and Google push them to send all their work upstream to latest kernels.

None of newer Allwinner chips found it’s place in Chromebooks and this is the problem, for Android kernel 3.10 is enough and they will not move from it, neither they learn (or are capable to generate quality code) to upstream all work they do.

This is pitty as since A10/A20 we can’t see anything which to beat Rockchip as productivity.

RK3288 is mainline and although Cortex-A17 still faster than any chip Allwinner have.

Now Rockchip work to release their new super duper RK3399 (2x Cortex-A72 and 4x Cortex-A53) and again they upstream code before even selling the chip.

With two USB3 hosts this chip is good candidate for next OLinuXino🙂


EDIT1: after the posting there were interesting comments from  Chen-Yu Tsai (a.k.a. wens213) who point me that what Free Electrons did is not simple commit to already existing project but did from scratch v4l2 mem-2-mem codec driver! So I appologise for the underestimated efforts!

EDIT2: I admit that what I wrote about Linux-Sunxi repository was about Kernel 3.4 which I was using two years ago and which was developed “wild west” style. I was assuming as the repositories are still there this continues, but I was wrong!

Our boards are with A10/A13/A20 and have mainline support, so I didn’t followed closely what happens with Linux-Sunxi lately.

Chen-Yu and Siarhei explained that this repo is kept there for historical reasons and now all development is focused to upstream too! Good to know🙂

At Linux-Sunxi there is very clear table about what is done ( light green) and on what is working (ornge)




iCE40HX8K-EVB OSHW prototypes are ready to test


What you see is our new iCE40HX8K-EVB prototype.

It has same layout as our first iCE40HX1K-EVB board with same 34pin bus connector where iCE40-IO, iCE40-DIO, iCE40-ADC and iCE40-DAC modules could snap together.

We made all connections backward compatible so all code for 1K will work on 8K too. just here you have much more resources and more GPIOs which are wired to 4 small 40 pin 0.05″ step connectors. These can be connected to external boards either with cable either with female matching connectors which are in our shop.

Now we are testing for silly mistakes, if everything is OK will run it in production next month.

The price will be EUR 39.95


CT800 – embedded FLOSS Chess computer made with STM32-H405 OSHW board


We got interesting project link from Rasmus Althoff: CT800 is Free/Libre Open Source Software CHESS computer made with STM32-H405 Open Source Hardware board inside.

It has around 2100 ELO, maximum search depth 20 plies. The software is done in C and released under GPL3 licensee.

OLIMEX KiCAD components libraries are uploaded on GitHub


We uploaded all our KiCAD libraries on GitHub and going to maintain them there.

Why we do this?  Because many beginners who download our OSHW boards are confused by the messages from KiCAD for missing libraries🙂 this is easy to solve by adding RELATIVE paths to search the libraries as  we always provide the library cache with the boards, i.e. all components used in the board are cached locally in the project directory, but again many beginners are confused.

Now they have all components we use in our daily work, uploaded and updated daily.

NOTE: These components are specific to OUR production, technology, limitations, way of work etc. They work optimally for us allowing us to achieve maximum yield during production. There is no guarantee of any kind that these same settings will be best for your own production, SO USE THEM ON YOUR OWN RISK!

There are tons of duplicated components which also are defined in original KiCAD libraries, again we did these as the KiCAD default libraries are made up to vendor datasheets and may not work well in our own production process.

To give you example: TQFP 0.5 mm step ICs per datasheet must have 0.3 mm width pads with 0.2 mm spaces between the pads, but using our process this yields in lot of shorts, so we made them with 0.25 mm pads width and 0.25 mm space, the 120 um thick stencils we use give best yield with 0.23 mm pad opening for solder paste – this may be not optimal for other manufacturer process who use other thickness stencils etc. BUT it works best for our technology and process based on our experience and tests.

Almost every components in our libraries have such considerations when it’s created. I hope you got the idea.

Note that almost none of our components have 3D draiwng, because our people still didn’t learn any 3D CAD tool well enough to make these, neither we use this KiCAD 3D drawing feature in our work. It may be improved in future, but for the moment if you need 3D drawing to some component you can do it by yourself and contribute back🙂



Microsoft with keynote speak on LinuxCon – if you can’t beat them join them?


news from Phoronix

No, you read it correct there is no mistake. This year Microsoft has keynote speak at LinuxCon in Toronto🙂

As per their Azure blog they are going to share Microsoft’s open source developments there.

I guess this is part of Microsoft activity to appear as more open source friendly company trying to break in the open source enthusiasts market?

None is using Windows on small embedded SBC where Linux and Android is dominating and they try to make their path there?

As part of this recently Microsoft ported their power shell to Linux, pretty useless effort IMO who Linux user would switch from Bash to power shell?

New Robot Chassis in stock: ROBOT-2WD-KIT2


We have new Robot Chassis in stock! It’s with two gear motors, two aluminum plates, free castor wheel, two 60 mm wheels attached to the motors, all necessary fittings.

The assembly is very simple:

The castor wheel is attached to bottom plate:



To the gear motor is attached small aluminum plate:


then the 60 mm wheel:


Four heximal spacers are assembled to the plate with the castor wheel:


Then the two gear motors aluminum plates are fixed between upper and bottom plate:


and the chassis is ready!

Now we are thinking for possible custom control board with these features:

  • Arduino like main board allowing easy re-programming
  • Motor drivers
  • Motor encoders which to give feed back to Arduino with photo interrupters
  • LiPo Battery charger and step up converter for motor and Arduino powering
  • UEXT for ESP8266 WiFi
  • two sockets for Ultrasonic distance sensors on the two sides of the castor wheel
  • (optional RT5350F-OLinuXino with camera)
  • connectors for optional servo motors for robot hand
  • UEXT second connector for attaching more sensors

Let us know if we missed something🙂

Previous Older Entries


Get every new post delivered to your Inbox.

Join 773 other followers