Elektor Development Boards

Introduction

Elektor is an electronics specialist that has its origins in the Elektor Magazine that began in 1961 in the Netherlands, which still goes today (as of 2024), popular with professionals and amateurs alike worldwide. In addition to their magazine, Elektor produces books and kits, and many of the designs from their magazine can be realised through Elektor's PCB service. Please check out Elektor's site at:

https://www.elektor.com/

Continue reading on this page to learn about the Elektor products that I have come across as I share my experiences with them.

Please note that the images featured on this page are downloadable from the bottom of this page.

R8C Tom Thumb

I got two Renesas R5F21134 (R8C/13) microcontroller based 'Tom Thumb' development boards as part of an eBay job lot, but they appear to be a spin-off the original Tom Thumb design from Elektor, introduced on page four of the Elektor Electronics magazine No. 420, February 2006. Here is the link to an archived copy of the magazine:

https://archive.org/details/ElektorMagazine/Elektor%5Bnonlinear.ir%5D%202006-02/page/n37/mode/2up

The R8C/13 kit sold for £8.30 plus p&p, and from page 38 they go into much more detail about the board.

Interestingly, on page 40 they show an unassembled version of the board which does not have the 'R8C' marking below the MCU and there are 2x7 debug contacts below the MCU, which is much similar to what I have, whereas the assembled board pictured below has 2x5 debug headers.

The article is a very helpful introduction to the board, including information how to hook up and program with a PC serial (COM) port - more about that shortly. The previous month covers just the R5F21134 microcontroller itself from page 36 so it's worth reading that first:

https://archive.org/details/ElektorMagazine/Elektor%5Bnonlinear.ir%5D%202006-01/page/n35/mode/2up

The March issue, linked below, details a development expansion board for the Tom Thumb from page 38:

https://archive.org/details/ElektorMagazine/Elektor%5Bnonlinear.ir%5D%202006-03/page/n37/mode/2up

In summary, the board features the following:

Renesas R5F21134FP 16-bit R8C/13 microcontroller with 16KB flash memory, 1KB RAM, 4 timers, watchdog timer, ADC, 2 UARTs.

20MHz crystal.

4-wire debug interface.

Power and I/O interfaces.

The R5F21134 hardware manual can be found at:

https://docs.rs-online.com/4125/0900766b80862fc1.pdf

The board can be powered from 2.7 to 5.5V from a regulated power source and voltages applied to I/O pins shouldn't exceed VCC+0.3, so if running off 5V for example, the limit is 5.3V. As well as the microcontroller, there is a 20MHz crystal and a few passives, but no on board power LED. Powering and interfacing with the board is done though 32 connections along to the two long sides of the board, male headers were provided with the kit to be soldered in the holes, which makes it breadboard friendly. In fact, the board has the appearance of a large DIP package and on the front side of the board is an IC outline with notch, indicating pin 1's position. Two 7-way headers can also optionally be fitted for the E8 debugger, the contacts are located toward one end of the board.

On page 40 on the previously linked February issue a a test circuit is given, which includes a pinout of the board, which I've reproduced here as the board does not feature any pin markings:

1 RXD1 32 TXD1
2 n.c. 31 AN6
3 RESET 30 AN5
4 n.c. 29 AN4
5 VSS 28 MODE
6 n.c. 27 AN3
7 VCC 26 AN2
8 P17 25 AN1
9 P16 24 AN0
10 P15 23 n.c.
11 P14 22 P30
12 P13 21 n.c.
13 P12 20 P31
14 P11 19 n.c.
15 P10 18 P32
16 P45 17 P33

The board doesn't feature an on board programmer or even a USB port, instead it is programmed serially from a PC using a serial port or USB to serial converter (a.k.a. USB to RS232, USB to UART). The advantage of using a USB converter is the board can be programmed and powered via USB, if using a ‘real’ serial (COM) port some form of level converter will be needed since the MCU operates on 5V, along with a power source for the board - this is covered in the magazine article.

Since I didn't have a ready made program and I couldn't find any tutorials online for programming the board I recreated the port_toggle example mentioned in the magazine article by gleaning the source code shown in the article, of which most of it is included.

I will now explain what I did to create the project and it should serve as an example for your own projects, I have provided the port_toggle project for download, which I'll talk more about once we've gone though the process.

The article mentions using the High-performance Embedded Workshop (HEW) software to develop code for the MCU using C. HEW can be downloaded from:

https://www.renesas.com/us/en/software-tool/cc-compiler-package-r8c-and-m16c-families#downloads

It was a bit confusing what to download, I went with '[Evaluation Software] C/C++ Compiler Package for M16C Series and R8C Family M3T-NC30WA V.6.00 Release 00', which is free but limited to 64KB link size after the trial expires after 60 days but it shouldn't be an issue with the R8C/13 anyway. 

After downloading and extracting you get a readme and executable, run the exe to install the software, after installing you'll have the High-performance Embedded Workshop app. You can see it below:

To create a new project leave 'Create a new project workspace' option selected and click the OK button. The New Project Workspace screen will then appear:

Leave 'Application' selected under Project Types.

Enter port_toggle for Workspace Name (Project Name will take on same name).

Select a Directory or leave it as set automatically.

For CPU family leave drop-down as M16C.

Leave Tool chain as Renesas M16C Standard.

Click OK, the next window will be New Project-1/6-Select Target CPU:

Leave Toolchain version as default.

For CPU series select R8C/Tiny.

For CPU group choose 13.

Click the Finish button and you'll then get the Project Summary, click OK button, then you'll see various files appear in the Projects pane:

If you double click port_toggle.c under C source file the main C source file will open. This is where we can add the project main code and in our case the code for port_toggle from the magazine article. As well as adding the code from the article to port_toggle.c we also need to add sfr_r813.h to the project, which contains the necessary defines for the project to build, the file is automatically generated when the project is created, but we need to add it to the project. To add it, right-click port_toggle (the second entry) in the Projects pane and select Add Files... Pick sfr_r813.h in the project folder and click the Add button. The file will then be added as a C header file and in port_toggle.c we can include the header file. Most of the source code was featured in the magazine article so I was able to put the program together. I couldn't find where the t var was declared for the two for loops and unless I used a long for declaring t I got a 'C1849 (W) this comparison is always true' warning if I used short or int.

To build the project, first set Build configuration to Release by going to Build->Build Configurations..., set Current Configuration drop-down to Release and Click OK. Then select Build->Build, which will, amongst other things, generate a .mot file, port_toggle.mot, which can be used to program the MCU.

As mentioned, I've provided the port_toggle project for download, which you can find at the bottom of this page, download and extract and open it in HEW by selecting 'Browse to another project workspace' when opening HEW. Navigate to where you extracted port_toggle and open port_toggle.hws. You will get a warning 'This workspace has been moved. Do you want to continue opening this workspace?', click the Yes button (I'm not sure of a better way of uploading HEW projects to avoid this issue). If you do download and open the project there is no need to do a Build unless you want to make changes to the source code, read on to learn how to porgram the board.

Now that we have the programming file we need to connect the MCU board to a PC which I'll explain how to do using a PL2303 USB to serial converter (it should work with other converters, adjust connections as necessary). This is how I connected the PL2303 converter and MCU board:

Put the PL2303's shunt on 5V and VCCIO pins.

Connect PL2303 VCCIO to R5F21134 board pin 7 (VCC).

Connect PL2303 GND to R5F21134 board pin 5 (VSS).

Connect PL2303 TXD to R5F21134 board pin 1 (RXD1).

Connect PL2303 RXD to R5F21134 board pin 32 (TXD1).

Connect 10K resistor to R5F21134 board pin 7 (VCC) and pin 28 (MODE).

Connect a latching switch between R5F21134 board pin 28 (MODE) and pin 5 (VSS). The MODE switch should be initially open.

Connect a push button switch between R5F21134 board pin 3 (RESET) and pin 5 (VSS).

Now connect the PL2303 to your PC via USB.

The Flash Development Toolkit (FDT) is used to download out program to the board, it can be downloaded from:

https://www.renesas.com/us/en/products/microcontrollers-microprocessors/other-mcus-mpus/r8c-family-mcus/r8c13-16-bit-microcontrollers-r8c-cpu-core-non-promotion?dow_secondary=visible

Go to Software & Tools section, type ‘flash’ in the search box and click the ‘Flash Development Toolkit (Programming GUI)’ link, which will take you to another page. As explained in the Release Information (Overview) section:

V.4.09 Release03 supports Windows 10, 8.1, and 7.

V.4.09 Release02 supports Windows 7, Vista, and XP.

However, if you go to Downloads under Description in the Overview section you will see (as of 2024) there is only V.4.09 Release 03 (2016) and V.3.07 Release 04 (2007). Since I use Surface Pro running Win 10 I went with V.4.09 Release 03.

To download you will need to log in/sign up to the Renesas site, which is free. Once downloaded, extract the file, which reveals a readme PDF and executable, which is the installer. Note that when it run it warns you that you’re installing the unsupported free version. After installing you will have 2 new programs:

Flash Development Toolkit 4.09

Flash Development Toolkit 4.09 Basic

The Basic version is a more compact version than the full version. 

Open FDT Basic version, you will be presented with Choose Device and Kernel window:

Enter R5F21134 into the Filter box and select ‘R8C’ (should be top result), then click Next button.

In next window choose the port of the PL2303 from the drop-down (check Device Manager):

Click Next

Click Next on Connection Type screen.

On Programming Options screen set Protection to None, set Readback Vertification to Yes:

Click the Finish button and you will be presented with the FDT Simple Interface screen:

Close the MODE switch you wired up and the press the RESET button, then click the Program Flash button in the Simple Interface screen. You should get a Verification OK message after a few seconds:

Now open the MODE switch and press the RESET button and our downloaded program will run. If you connect an oscilloscope between the MCU board P10 (pin 15) and GND you will see a 4.8Hz square wave, you will see the same for P11 (pin 14), P12 (pin 13), and P13 (pin 12). You can also connect an LED with 1K limiting resistor between either of the 4 I/O pins mentioned and GND and you'll see the LED rapidly flash.

All content of this and related pages is copyright (c) James S. 2024