Skip to main content

Nuvoton NUC980 IIOT Board Experiments (Interface ST7735 SPI display)


Introduction

  • Nuvoton NUC980  is a 300 Mhz ARM processor.
  • Has a host of peripherals onboard: 64/128 MB RAM, 2 Ethernets, 2 CAN masters, some 8 UARTS, SPI, I2C , etc
  • It comes with Linux, uboot and a buildroot system for generating system assets.
  • A popular board is the NUC980 IIOT board
  • The major advantage is that this processor is available for a low cost of 5$ (2021)

Intention
  • Try and see how fast the system is
  • Performance of python etc.
  • Given that it was a low RAM system, how convenient would it be write a program in python.
  • Maybe interface a device say a Display.

Experiments
  • The tar ball that Nuvoton provides is an approx 8 GB virtual machine running Ubuntu 18.04.
    • One can run this virtual image on an VM emulator.
    •  The recommended is VMWARE but it ran comfortably even in an Oracle VirtualBox VME.
  • After logging into the VM and on running a make nuc980_defconfig it generated the uboot, linux and other assets.
  • On Linux one can use nuwriter to flash the SPINAND. 
    • A run.ini file is needed as configuration to the nuwriter
    • It specifies destination of writing: SPINAND flash, SDCARD, RAM, etc.
    • Each destination has section for which the relevant files to be flashed has to be provided.
  • One problem that was noticed was that even though the flash writing progressed successfully, the system would display a few bytes as follows:
NUC980 IBR 20180813 
Boot from SPI-NAND
Nand boot!      #S
finish SPI dow&*


Python support
  • Idea was to try writing a user space driver for an SPI device like the ST7735 in python
  • A python driver for Pimoroni displays can be found.
  • It was modified to drive a color display to show time.
  • Python took a long time loading but after it was loaded in RAM, it was fast enough to update the display
  • Also FB-TFT could have been a good way of interfacing the display
  • Below are 2 sample videos.








Comments

Popular posts from this blog

Leg Brake for a Bicycle

Leg Brake on a Bicycle  Growing up, there was a need to learn how to drive a geared motor cycle and also get a driver's license. There are two categories of two wheeler licenses: one for geared vehicles usually with leg brakes and one for auto/non-geared vehicles where the braking happens by hand and are simpler to operate. Driving license had already been acquired for the non-geared vehicle but due to lack of availability of a geared vehicle for practice, the acquiring of this license was taking quite some time. The main problem was adapting to braking a vehicle using the leg where one to respond differently and the conditioning takes some time. Unfortunately could not manage to get anybody/s vehicle for learning after many attempts. And at that time (1995 or so) bicycles were rather common and used for transport. So an idea was: why not add such a feature to a bicycle. A Hercules Town and Trek was also available. After some visits to the local bicycle shop and a used vehicle part...

Making PlotClock

Building the PlotClock by Joo from ThingiVerse  with English Character support Plotters are fun things. One can move in a 2D space and do very interesting things. Been fascinated by plotters from a long time. Notable mentions like the Drawbot, AxiDraw, EggBot, etc. Always wanted to build a small inexpensive one which did not require too many components or a lot of domain knowledge. One of my favourite past-times is to ThingSurf ie check which open source designs are available and try to make them, either on Thingiverse or Printables, etc. Its a lot of fun and because these provide designs for real-world things,  one can study and learn from them and also extend them to do other things. There is also a requirement of a device that will be a low-power notice board, like a limited power device that will just consume power for a short time, do some useful work, maybe display a message and go back to sleep. Things written on a sheet of paper remain visible for a long time. So it wo...

RGB Dot Matrix Display as Multi-Function Panel Display

PxMatrix on ESP8266 connected to an 32x16 RGB DOT MATRIX 1/8 SCAN Panel It was always wonderful to see the numerous colour displays that display messages and animations on Dot Matrix Displays (DMD) in the commercial places. One useful thing would be to take an Off-the-Shelf Display and run fully controllable custom software rather than rely on some external products to do. Luckily found a display vendor who offered to give me some DMD as samples for experimentation. I was given a P10 32x16 pixel color DMD panel. I have experimented with Monochrome DMDs (maybe blog about this later) but the RGB display is another world all together. The Monochrome world does not have lot of open source software, the RGB world has PxMatrix, RGBMatrix and SmartMatrix. As I wanted the controlling entity to be super cheap which meant use of an 8266 I had to start with PxMatrix. Though there are better options than PxMatrix, the others use a more expensive controller. Its better to start with the lowest cost...