AgonLight2 update: embedded Hello world in BBC basic

AgonLight2 is Z80 based retro computer running BBC Basic.

The first thing you do with embedded computer is to run the Hello World equivalent i.e. to blink LED.

AgonLight2 has 34 pin GPIO connector:

In this GPIO-1 connector we can see many different signals are coming both from Z80 and ESP32-D4 . In this demo we decide to connect LED to pin 17 which is GPIO_PC0 signal of ez80F92 processor.

I use Breadboard and some Jumper wires Female-Male to connect the LED anode (+) to GPIO-1.pin17 the LED cathode (-) is connected to 4.7 k OHM which then is connected to GPIO-1.pin3 GND.

With the above setup if PC0 is set high the LED with light ON. When the PC0 is set LOW the LED will go OFF.

So how do we access PC0 in BBC BASIC?

I admit I come from AppleSoft Basic so Z80 BBC Baisc is new for me.

Fortunately Quark Firmware is on GitHub so I can check the sources.

In BBCBasic.txt I nottice commands to access directly Z80 memory, these are GET and PUT commands.

In ez80F92 datasheet I read that GPIO ports are accessed through 4 registers:

PC_DR – data register at address 09E hex /158 dec an 8 bit register where every bit corresponds to port bit i.e. if I want to write in PC0 I have to modify bit0

PC_DDR – data direction register at address 09F hex / 159 dec and 8 bit register where every bit corresponds to port bit direction 1 means Input, 0 means output

I quickly check:

PRINT GET(159)

returns 255 i.e. all ports C are inputs by default

I change PC to output with the PUT command

PUT 159,254

then make PC0 HIGH with the command:

PUT 158,1

LED lights ON:

Yay!

PUT 158,0

command switch LED off:

Now we only have to put some delay between the ON OFF commands.

I search for delay in Quark sources without success when I nottice that INKEY command scans for keystroke pressed for some time and returns -1 if not suceed.

Let’s check if INKEY can be used as delay 🙂

PRINT INKEY 1000

prints -1 after about 1 second, great then our fill code becomes like this:

the code runs and the LED slowly blinks as on the video clip above!

AgonLight Open Source Hardware Retro Computer Running BBC Basic was captured in KiCad and updated by Olimex

AgonLight is a well-documented small computer based on the Z80 family and running BBC BASIC.

With a VGA output and a PS2 Keyboard this is a stand alone retro style computer.

The project is open source hardware and software.

AgonLight may be also seen as an embedded BASIC computer as it has plenty of GPIOs available to interact with other components and modules.

The AgonLight was designed by Bernardo Kastrup and the Quark firmware is developed by Dean Belfield.

The project has an active Facebook group https://www.facebook.com/groups/agoncomputer/

We got a few inquiries from customers asking if Olimex is interested in making this project and we hesitated at first due to having the bad experience in the past with Maximite pseudo open source project.

After exchanging a few words with Bernardo via Twitter, we became confident that this is a true open source hardware project.

We checked the schematic and decided to do some small changes.

  • We decided to re-capture the design in KiCad instead of EasyEDA
  • The power of the original AgonLight is delivered by a USB-A connector which is quite odd and USB-A to USB-A cables are less popular. We decided to replace it with USB-C connector which is used in all new phones, tablets and devices due to the new EU directive. Usually everyone has such a cable at home to charge and transfer files to their cell phone.
  • We replaced the Linear voltage regulator with DCDC which delivers up to 2A current.
  • We added a battery LiPo charger and step-up converter which allows operations even if external power supply is interrupted.
  • The original design had a PS2 connector for a keyboard and required a USB to PS2 adapter to operate with the more available USB keyboards. We replaced the PS2 connector with a USB-A connector so a normal USB keyboard (which supports PS2) can be directly plugged-in to AgonLight
  • We routed the AS7C34096A-10TCTR SRAM with 40 ohm impedance lines as per the datasheet
  • Fixed a wrong signal naming in the ESP32-PICO-D4, which now is updated in the original AgonLight documentation.
  • Replaced the bare header 32-pin connector with a plastic boxed 34-pin connector following the same layout and adding two additional signals Vbat and Vin which allow AgonLight to be powered by this connector too.
  • Added a UEXT connector (https://www.olimex.com/Products/Modules/) which allows AgonLight to be connected to: temperature sensors, environmental air quality sensors, pressure, humidity, gyroscope, light, RS485, LCDs, LED matrix, relays, Bluettooth, Zigbee, Lora, GSM, RFID reader, GPS, Pulse, EKG, RTC etc.

We changed most of the components to our component base, which we source and stock in large quantities and allow us to bring the cost down.

The design was completed 1 week ago:

Today the first blank PCBs arrived:

Next week we will assemble 5 pcs to test by ourselves and then send to the original AgonLight developers.


AgonLight will be put on our web and available for pre-order next week with a special Christmas price of EUR 50 for a completely assembled, programmed and tested computer.


If the prottotypes are good mass production will follow and all pre-orders taken to 23.12.2022 will be shipped by the end of January.

We plan to make metal case and other accessories in the near future.

Ultrasound levitation soldering kits will be present at OpenFest for soldering workshop

Sound travels approximately at 343 meters per second. When two speakers are placed opposite one another and they generate sound with same phases, then acoustic standing sound waves are formed.

These sound waves have enough power to keep small objects in the air.

The wave length is calculated by dividing the speed of sound by the sound frequency. Our speakers are 40Khz ultrasound transmitters and the sound wave length is 8.5 mm long.

Ultra-Sound-Levitation soldering kit contains everything needed to build such a standing sound wave generator.

On 14th October is the 20th issue of Open Fest – the biggest Open Source event in Bulgaria.

Olimex will have its traditional soldering workshop there from 10.00 to 18.00 o’clock.

Participation in both OpenFest and the soldering workshop is completely free of charge.

Everyone who wants to test his/her soldering skills is welcome. Olimex employees will help you with the soldering and guide you at the workshop.

For these who can’t participate in the workshop, the Ultra-Sound-Levitation soldering kit is available on Olimex web site for sale and can build one at home.

New shield for STMP157-OLinuXino Industrial grade Open Source Hardware Linux computer

The open source hardware STMP157-OLinuXino industrial grade Linux computer got new shield which adds two UEXT connectors, second micro SD card and 40 pin GPIO connector in breadboard friendly 0.1″ (2.54 mm) step format.

STMP15X-SHIELD plugs on top of OLinuXino, the overlays are already included in OLIMAGE Linux images and no need for additional setup.

ESP32-C3-DevKit-Lipo RISC-V development board with build in USB JTAG, WiFi, Bluetooth5, Lipo charger and 15 GPIOs

ESP32-C3-DevKit-Lipo is EUR 6.00 Open Source Hardware compact development board with:

  • RISC-V running on 160Mhz
  • 400KB RAM, 8K data RAM
  • 4MB Flash
  • Two headers (soldered) with power supply and GPIO signals
  • ESP-PROG-C compatible rescue connector (if you mess with bootloader)
  • USB-C for programming and JTAG debugging
  • LiPo battery charger allowing handheld applications with single LiPo battery
  • 4 mount holes

This is all you need to get started with RISC-V programming in C and Assembly.

Shteryana Shopova recently did RISC-V workshop with this board and explained how to setup your tools for programming and debugging. Here you can find her work.

A64-OLinuXino Open Source Hardware Linux computer is back in stock

All variants of the Open Source Hardware Linux computer A64-OLinuXino now are back in stock!

TuxCon 2022 will be on 4 and 5 of June in Plovdiv

TuxCon is an annual event about free and open source software and hardware.

The entrance is free for all visitors.

TuxCon is a community event and it is organized by volunteers.

The twitter hashtag of the event is #TuxCon.

The conference is scheduled during the first day of the event (Saturday, 4 June 2022).

Workshops and unconference will take place at Olimex training during the second day of the event (Sunday, 5 June 2022).

iMX8MPlus-SOM is alive and boots!

This board development started in April 2021 and finished August 2021 but the semiconductor shortages didn’t allow us to test the prototypes until recently. We assembled 4 boards and all theyare alive and boot.

The features are:

  • MIMX8ML8DVNLZAB – Quad Core Arm Cortex-A53 running at 1.8Ghz with Arm Cortex-M7 co-processor running at 800Mhz and 2.3 TOPS Neural Processing Unit.
  • 6GB LPDDR4 RAM
  • Power management
  • configuration EEPROM
  • status LED
  • LCD LVDS connector compatible with LCD-OLinuXino displays
  • MIPI DSI connector
  • 2x MIPI CSI comera connectors with Raspberry Pi compatible pinout
  • 220 signals on 6 0.05″ step connectors with essential peripherials like:
    • PCIe-3.0
    • 2x CAN FD
    • HDMI 2.0a
    • SPDIF
    • SAI
    • 2x USB 3.0
    • 2x Gigabit Ethernet one of them with TSN
    • eMMC 5.1
    • SDIO 3.0 200Mhz
    • 4 UART
    • 6 I2C
    • 3 SPI
    • JTAG

Unfortunately we only managed to find 24Gb LPDDR4 for the prototypes so instead of 6GB they are with only 3GB of RAM.

Now is time to prepare Linux and Android images! NXP provide iMX8MPlus with Linux Kernel 5.10 and Android 11.

MIMX8ML8DVNLZAB is industrial grade -40+105C

ESP32-POE and ESP32-POE-ISO back in stock

Silicon Labs stopped selling Si3204 POE controllers which were inside our very popular ESP32-POE and ESP32-POE-ISO boards. There is no stock anywhere neither information when they will be back in stock. So back in August we start searching for alternative and we evaluated several other solutions. We liked most Texas Instruments and made some prototypes and verified that they works fine.

Then we run blank PCBs in production but unfortunately we hit two major Chinese Holidays, so instead the blank PCBs to arrive in the normal 2 weeks we had to wait 5 weeks to produce our order then another week to arrive here.

Meantime we sold out all our stock of ESP32-POE and POE-ISO and created solid backlog before we stop the sales on the web.

We are glad that this week we shipped all backlog orders and now the boards are again for sale!

The new revisions of the boards are REV.G and the PCB info will be updated on GitHub tomorrow. From user point of view nothing changes – the new revision operates exactly the same and have same functionality as the previous Silicon Labs based solution.

STMP157-OLinuXino-LIME2 Open Source Hardware Industrial Grade Linux computer is in mass production with 4 variants

STMP157-OLinuXino-LIME2 Open Source Hardware Linux computer running Mainline Linux is in mass production in four variants:

  • Industrial grade -40+85C (STMP157-OLinuXino-LIME2-IND) version running on 650 Mhz
  • Industrial grade -40+85C (STMP157-OLinuXino-LIME2H-IND) version running on 650 Mhz with HDMI output (when HDMI works operating temperature is commercial as HDMI convertor is not industrial grade)
  • Extended temperature -20+85C (STMP157-OLinuXino-LIME2-EXT) version running on 800 Mhz
  • Extended temperature -20+85C (STMP157-OLinuXino-LIME2H-EXT) version running on 800 Mhz with HDMI output (when HDMI works operating temperature is commercial as HDMI convertor is not industrial grade)

User Manual for the boards is available on the product web page.

Debian and Ubuntu Linux images are pre-build and ready to install and run.

The images are build with Olimex script Olimage which is available on GitHub.

Olimage user manual explains what is included in it and how you can modify uboot and kernel to include drivers for devices which are not included in Olimex official images.

Previous Older Entries