2013. december 24., kedd

Lego and 3D

I started to "play" with Lego. Well not because my friends doing this in the spare time, just because I needed something. :-)

2013. december 21., szombat

GitHub - Making order

I started to make some order in my things. As part of this moved some of my electronic projects to the GitHub. Three project was published newly:
My KiCAD libraries: https://github.com/sufzoli/suf-electronics-KiCAD-lib

2013. december 18., szerda

LED Blink 3. - Finished

I owe to myself (and to my little son) with this for a while. I've finished the Lego-sized (Lego brick not included.Some glue still needed to it) LED blink. Tonight I finally took the time to solder the remaining two parts. The two LEDs.
Here are the results:

(my first self made YouTube video)

2013. december 16., hétfő

Windows 8.1 - mired "freedom" 2.

Previously, I wrote about the problem in the Freedom Freescale development tools do not work with Windows 8.1 here.
Sience I know about the problem I wanted to jump on it with a USB logger and solve it from the Windows side.
To do this, I began to gather the necessary tools, but did not get further.
Yesterday I read here that P & E eventually solved the problem.
If there is a solution already available, use it!
I collected all the Freedom boards in the house.

And exchanged all of the software.
Together with the bootloaderrel the debug applications also new. The latter is now supports the storage and the debug functionality at once, so in the future there is no more application swapping.

Photovoltaic course 4. - Certificate

And finaly the certificate is arrived. I finished the course.

2013. december 15., vasárnap

Ultrasonic cleaner

This morning I set the start my ultrasonic cleaner. 

I had a major concern with it.  If the LCD display survives the operation. If I go back in time to the appearance of quartz watches sometime in the beginning of the 80s. As I remember, the simple monochrome LCDs of this watches do not really stand the water.
It seems it the mean time this issue resolved, because the display survived cleaning.



2013. december 14., szombat

Frequency counter V2 9. - Prototype finished

This morning (started to write this three days ago, but just finished now), I came to the end of what planed in the prototype.The device works measuring frequency, period of time and is able to display time period value as frequency with three decimal places.It already meets (and in some ways outperforms) the customer's demand.Of course, this does not mean the end of the project . I'm trying to summarize what's left:Hardware:
  • The current design has a jumper/dip switch block what works, but something is not as good as it should be, because I did not think this originally well over .
  • Should be handle the future expandability. This is mainly for to the control switches and feedback of those.
  • It should be think over what can be done with an MCU has two timers instead one.
  • I should plan some add-ons . They can also be combined circuits of the following: OCXO , power supply, input signal conditioning , input divider, control panel
  • Create the plans of the production PCB.
  • It should be handle if we are outside of the measurement range. Counter overflow, missing gate signal, etc. .
  • Fix the time period display to always print out nanoseconds.
  • Measurement of the fill factor.
  • Managing different time base (eg, external 10MHz. For the OCXO it will be needed)
  • Automatic measurement type selection (for low frequency period of time, for high-frequency frequency measurement)
  • Displaying more accurate measurement result using averaging
  • The code for the add-ons.
  • Employing the WDT+ for the display handling/multiplexing
That's all for now. Question when I can deal with it again. Within a few days for sure.

2013. december 11., szerda

ARM Cortex-M4 course 1.

Two days ago arrived the first letter about the ARM course what I mentioned here.
It was also clear when I applied that I have to get a TI Tiva C Launchpad what they are using for the course, but it somehow I postponed the order.
The letter gave me a boost, so I ordered it.
Today It arrives. Here it is:

2013. december 10., kedd

Frequency counter V2 8. - Another error

Unfortunately, I was not managed to figure out the fault of the input protection circuit, instead, I noticed that at the measurements the last decimal point is not blinking.
Here is fed up with the errors of the display, so I wrote a quick bit of code that turns on all segments.
Here I figured out that the last decimal point is certainly incorrect. I corrected it. Here are the results:

2013. december 9., hétfő

Frequency counter V2 7. - Problems

Unfortunately, the things are not going as smooth as I'd like.
Last night there was not much time to deal with the circuit. This morning I started it. First, it is one of the display segment was not working. It was very difficult to find the problem under magnifying glass, resoldered several tings until the error corrected. After it the counting not started. There was a 4MHz oscillator output. As it turned out, the problem was not the oscillator itself, but the output. There was a short to the ground. When these was solved, turned out to snag something with the input protection, because if I tie directly to the MCU input leg the signal is good, but not at the circuit input (I get
something around 10KHz instead of the 4MHz). 
There are we  now. Unfortunately, it seems that I'm going to slip a few days with it.

English posts

I was not writing here for a long time now. I realized that I need more and more the english language posts.
From now on I'll translate and publish my older posts here. It will go out backwards. This means I'll start with the newest one and go back in time. The new posts will come out in parallel with the Hungarian version.

2013. december 8., vasárnap

Frequency counter V2 6. - Populated

On Thursday evening, Friday at dawn, last night and this morning finally managed to drill, cut, tin and populate the new frequency meter prototype. Took a long time. I hate to solder jumpers, and this has plenty of it.
I did not tried yet, but if it works then only 10-20% of the software and the calibration is left as to do.
It would be nice if I'm able to finish it tonight / tomorrow dawn to be able to send it as soon as possible.

2013. december 5., csütörtök

I want something like this

I don't see the spare time for this but I'd like to try it sometimes. Homebrew LCD:

Frequency counter V2 5. - PCB

Last night I finished a surprisingly early the solar curriculum. Therefore, I had time for another "deadline" project to deal with. I printed, ironed, washed of the frequency counter's PCB.
This morning I corrected the errors and etched it. I making two out of this, because the software will not be completely finished by the time I need to send (the customer's needs will be fulfilled, but I've lot more in my head right now than what be finished within a few days.)
Here's the PCB:

2013. december 4., szerda

Photovoltaic course 3. - Finished

As of today, I finished the photovoltaic course. Maybe it's not a bad result.

Likely there will be practical use for assembling of my home solar system. I do not think that any installer can screw me from now.
I like this type of learning. Therefore I choose the following course:

2013. október 12., szombat

Windows 8.1 - mired "freedom"

I was at a conference organized by Freescale. I wrote about it earlier here.
What they did not write, it seemed only a small inconvenience with the Freedom board what they give away. I could not breathe into life the OpenSDA debug firmware. Finaly I loaded on my neighbor's the machine. I thought, I screwed up something for sure.
Since then, it turned out that it was not my mistake, but also ran into this issue:
So the Win8.1 and OpenSDA not love each other. :-(
For now there is no solution, so the upgrade of my developer machine is a question.

2013. augusztus 15., csütörtök


As of today I'm working at a new place.

The things what the R&D team is doing in the company is a little bit futuristic to me but my duty is only the support of the infrastructure: Windows, Exchange, SQL, CRM, some Linux, etc.

2013. augusztus 14., szerda

Installing Ubuntu on BeagleBone Black 2.

Last time here I wrote about my adventure with the BBB and Ubuntu.
Now I have a task to create a kiosk like something from the BBB. When I tried to install the desktop environment on the BBB realized, that it won't fit into the 2GB integrated MMC. To go further - If I install the ubuntu image to an 8 gig SD it still create a 2 gig ext4 filesystem. When I tried to expand it I get some strange error. Finally found the solution:
  1. Put the SD card into an USB reader and connect it to the BBB
  2. Boot the system from the MMC
  3. Install the ubuntu image to the SD card as mentioned in the previous article
  4. delete the ext4 partition (namely: /dev/sda2) with the cfdisk and recreate it to fill the whole free space on the SD card (in my case it will be a partition little bit smaller than 8GB)
  5. Repair the partition:  e2fsck -f /dev/sda2
  6. Expand the partition: resize2fs /dev/sda2
  7. Shutdown the system
  8. When it finished you can put the SD card into the holder on the BBB, boot to ubuntu and do whatever you want
After that I installed the xubuntu-desktop environment but realized that it extremely slow and even hangs after a few mouse clicks.
Today in the morning I reinstalled the whole thing with lubuntu. I had no time to wait the completion of the process. I'll see afternoon if it works correctly or not.

2013. augusztus 13., kedd

Sample ordering - Next Round

As a month ago I ordered some engineering samples. This time not from TI but from Maxim Integrated. Today arrived kind letter asking me to fill and send back a Statement of Assurance letter for the US Export Control.
This time I'm not as lazy as last time. I just filled and sent back the form almost instantly.
We will see what happening.

2013. augusztus 8., csütörtök

Double Multiplex 3.

The PCB fully finished now and I created a test code for MSP430 (it is still bumpy a little bit and ~600Byte). It working quite well but the brightness is not to high. Actually in theory it has 12mA current per segment what I don't want to increase for testing (In theory I can increase it ot 20-25mA. The LEDs are capable to handle 100mA with 1/10 fill factor but the MCU don't). So I've 33ohms current limiting resistors what finally can be decreased to 22ohms: (3V - 2,2V) / (2 * 22) = 18mA.

2013. július 29., hétfő

Double Multiplex 2.

The PCB for the testing has been finished. Unfortunately just the empty board, because the weekend InetPub party left no more time to me.

I'm calculating now how big resistors are needed to get enough brightness even though that we have 1/64 time slot for driving one LED.

2013. július 26., péntek

Double multiplex

My head is full with planed new electronic projects. Most of these contain some - especially LED based - display. Even with my Frequency Counter project caused some headache driving the display. If I want to use the minimum amount of external components than an 8 digit 7-Segment multiplexed display requires 16 I/O pins, what is problematic with a small pin count MCU. In addition, it requires external components because an MCU is not able to supply the current required by a whole digit. The lack of enough I/O pins driven me to use an additional IC (74HC238), 8 transistor and 16 resistance  for the display (the transistors and half of the resistors could be replaced by a darlington array, while we using common cathode displays. For common anode this is not an option because PNP array or common collector NPN does not exists). As I was searching new ideas for one of my new project on the net, accidentally came across an EDN article. This article is about the "double multiplexing". The point is that at any given moment we drive only single LED from the entire LED matrix. This reduces current consumption of the circuit, the number of required external components, and the amount of required I/O pins. The display mentioned above can be driven by nine pieces of resistance and 9 I/O pins. The question we should answer, if we can generate enough current for brightness and fast enough code to avoid flickering.
We'll see.I definitely want to try the stuff, so I designed a test PCB (I hate to put this amount of jumper wire into the breadboard).


I'll try to put it together during the weekend and writing the test code is the next.

2013. július 5., péntek

Sample ordering - Canceled

So this doesn't went through the process. I requested the sample letter from TI. It arrived.
In the mean time I had lot of things to do and I went to vacation for a week. Finally yesterday evening I filled the form, signed and sent it back.
Today a letter arrived that my order has been cancelled.
I think this happened not because of the content of my letter. The probable explanation that I sent the letter to lately and the system canceled my order before processing my letter.

2013. június 30., vasárnap

New (sub)Project: Kinetis Development Platform

I'm planing to develop a new device. It will be some kind of widely usable serial LED display (with enormous amount of capabilities). I started to build the first version based on my regular MSP430 platform. Later I realized that the number of the I/Os of the DIP20 package will not enough. I tried to switch to the TSSOP-28 package, but both of the boards I soldered was failing (Because of the poor design of the breakout board and my SMD soldering skills. I had only two pieces of MSP430G2553 in TSSOP package in that time).
I tried to get new MCUs from the market and realized that it is not so easy here in Hungary in small quantities (or I get a really high shipment cost).
In addition the solution what I'd like to develop could require DAC and the MSP430 value line has no integrated DAC.
The two factors above and my hunger to learn additional MCU platforms lead me to switch this development effort to a different platform. My choice fell to FreeScale Kinetis KL05 series ARM Cortex-M0 MCU.
I bought the Freescale FRDM-KL05Z development platform for it.
At that time I realized that it has not enough I/O pins, the In-Circuit programmer connector has 1.27 mm ... what has high cost. There come the decision to create a development board what has the following parameters:
- Use 2.54 mm programming header
- Independent power source
- LQFP-48 form factor MCU
- Fits in the 50x50 Sick of Beige enclosure
- All of the GPIO pins available externally
- No integrated programer. I want to use the FRDM-KL05Z's OpenSDA as programer
I finished the design of the board.

I'll order the PCB from the seeedstudio on the next week (it shoud arrive after my vacation)

2013. június 21., péntek

Sample ordering - Blow a fuse

I'm ordering samples time to time from various semiconductor manufacturers to support some of my design ideas.
I don't know what was the thing (Some LED drivers and a Wi-Fi adapter was ordered) possibly switched on the dangerous switch in the head of the TI people. I got this letter from them:

"Texas Instruments Sample System Notification for Order Number: XXXXXXX

Dear TI Sample Requester:
We are sorry for the inconvenience, but your TI Sample Order is ON HOLD.
Because TI parts are potentially being used by a company in the Defense Industry or in a Space, Avionics, and Defense Application, we require that an End Use Certification Letter be submitted to our Global Export Control team for review and approval.
Please contact us at email address ti_store@ti.com and Request a Copy of TI’s End Use Certification Letter. 

We will help you complete the certificate, get it approved, and release your sample request.

Regards, TI Worldwide Sample Program

So I requested the mentioned letter. We will see what happening...

2013. június 19., szerda

Installing Ubuntu on BeagleBone Black

I write this post to collect all of the information needed to get a running Ubuntu configuration on the BBB. It just give a command line UI at the end.
Authentication data for the Ubuntu:
usr: ubuntu
pwd: ubuntu
The process:
1. Put a MicroSD card into an USB reader.
2. Connect an USB hub to the BBB.
3. Connect the MicroSD reader and the cordless desktop receiver to the USB HUB
4. Start the integrated Angstrom Linux
5. Download the Ubuntu Image. The information found here: http://www.armhf.com/index.php/boards/beaglebone-black/
This package is required for the Ubuntu 12.04 LTS:
6. Put the image to the SD card with the following command:
xz -cd ubuntu-precise-12.04.2-armhf-3.8.13-bone20.img.xz > /dev/sda
7. Mount the created filesystem (I forget this so I did it other way). Hopefully the devicefile correct:
mount /dev/sda2 /mnt
8. Copy the image (ubuntu-precise-12.04.2-armhf-3.8.13-bone20.img.xz) to the mounted filesystem somewhere
9. Shutdown the system put the MicroSD card into the MicroSD holder of the BBB.
10. Boot the Ubuntu first time from the SD.
11. Install the Ubuntu into the integrated MMC:
xz -cd ubuntu-precise-12.04.2-armhf-3.8.13-bone20.img.xz > /dev/mmcblk1
12. Shutdown, remove the MicroSD and start from the MMC
The first steps with the new system:
13. First of all you have to put the package management system into order:
sudo apt-get update
sudo apt-get upgrade

14. If you are using other keyboard layout than the default US you can change it:
dpkg-reconfigure keyboard-configuration
15. Change the password of the ubuntu user to something more secure

2013. június 18., kedd

Universal Digital Timer 2. - Project Suspended

I have to suspend this project.
Unfortunately (most probably on my fault) I was not able to succesfully integrate the piezo buzzer into the project. Even the button interface what was working before now not functioning correctly anymore.
These things as such are not give reason to me to suspend the project, but some higher priority projects are front of me (like the Nagios project).

New project: Nagios on BeagleBone Black

Here is my new project. It is not really an embeded project but it is on an embeded platform.
Today I'm using an HP MicroServer in my office as Nagios server. I'd like to change it to a BeagleBone Black what I recently purchased.
The process should be the following:
- Install Ubuntu Server to the BeagleBone (12.04 LTS or 13.04)
- Install nagios
- Move configuration files
- Done

2013. június 13., csütörtök

Universal Digital Timer 1.

I have an oven and a deep fryer at home. Both has the same type of digital timer in it. The timer has a two digit 7 segment display and two buttons with one drawback. It only beep when the time elapsed but unable to switch of the device.
I realized that I need a timer like this for various purposes with switching capability.
Here are the planed usage:
  • Control the deep fryer above
  • Small, desktop timer (it may requires LCD instead of LED display because of the battery operation)
  • Control my (planed) UV lightbox what will used for PCB solder mask developing
  • Soldering station watchdog (I always fear if once I will leave my soldering station switched on unattended. Therefore I'd like to have a watchdog what starts when I put the soldering iron back to the holder and switch of the entire station after five minutes)

The project will be based on an MSP430 value line MCU. Here are the design principles what I will follow:
  • The connections of the MCU should fit in max 20 pins. This gives me the versatility to build the circuit with trough hole or SMD components.
  • Use as few external components as possible. To be honest I don't like to use any external active components except the two transistors driving the display digits.
  • Have an SMD design what fits under the display except the switches and breadboard compatitble.
  • Have external user programing capability through computer interface (most probably UART)
The first two of the principles above also give me a challenge. Lets take the pin count and the desired functions:
  • The use of the MCU itself: take 4 pins (VCC, GND, RST, TEST) these pins are needed all time
  • Two digit 7-Segment display: 10 pins (7 Segment pin, 1 decimal point, 2 digit multiplex pin)
  • External clock crystal: 2 pins
  • PC communication: 2 pins (UART: TXD, RXD)
  • Push buttons: 2 pins
  • External trigger: 1 pin
  • Switch the load: 1 pin
  • Piezo Buzzer (beep at the end of time): 1 pin
Lets count: it makes total 4+10+2+2+2+1+1+1 = 23 pins Ooops!!!
So I've the following choices:
  • Use some kind of GPIO expander (some I2C, SPI based or a simple shift register like 74HC595)
  • Use a 7 Segment deccoder
  • Use the pins smarter
Take the last one:
  • We can't do anything with the MCU own pins. Period. 4 pin left
  • Use the second digit driving transistor as an inverter (driven from the collector of the first transistor). -1 pin. Concept proved. 9 pins left
  • Use internal DCO instead of the crystal. I don't like this concept, so the pins stay. 2 pins left
  • PC communication. Unfortunately no tricks possible here. 2 pins left
  • Push buttons. Multiplex the push buttons from the digit driver transistors and sense them with a single pin. Concept proved. 1 pin left.
  • External trigger. No tricks here. 1 pin left.
  • Switch the load. No tricks here. 1 pin left.
  • Piezo Buzzer: I need only one of the decimal point of the display. What if I connect the buzzer instead of the second DP. Concept. If I can prove it: 0 pin left.

Lets count once more: 4+9+2+2+1+1+1+0  = 20 pin Done!!!

Things are done:
  • Schematics (the work of the buzzer must be proved)
  • Working circuit on breadboard
  • Display multiplex code
  • Debounced button driver
  • The countdown timer (with button setup)

Things what ahead (not necessary in this order):
  • Buzzer code (prove the concept above)
  • Homebrew PCB
  • Writing to the flash in runtime (required to store data came from the PC interface)
  • Serial communication
  • Character based Menu driven UI (inside the MCU)
  • Serial Binary command set (for the desktop UI)
  • Extending the timer code for the programmable functionality (like the watchdog)
  • Desktop UI (most probably in C#)
  • SMD design/PCB ordering
This is the my new project. Any comments suggestions feature requests are wellcome.

2013. június 12., szerda

And it arrived

About a month ago I applied to the NXP's LPC800 simplicity challenge. Two days ago I received a message that I'm selected (among with 500 fellow applicant) to receive the LPC800 mini-board.
Today the DHL come and the board arrived
The challenge ends on 30th August.
My challenge starts here:
1. Create or find something to connect the board above to my computer
2. Setup a toolchain to write code/program the device
3. The biggest one: Find a project what fits to the device and the goal of the challenge. Actually nothing came into my mind.
If you have an Idea what can I do with this, don't hesitate to share with me.

"SoB" and KiCAD

I'm quite impressed by the Dangerous Prototypes enclosures named "Sick of Beige" (sold by SeeedStudio). I use them more and more of my projects. I realized that the it has templates for the Eagle EDA.
Personally I'd like to work in KiCAD instead of Eagle because it has no board size limitation (I'll not pay for the Eagle until I just running hobby projects).
So I decided to create a KiCAD module library for the "SoB" enclosures.
You can use, share, modify freely:

(the picture is just for illustration the library contains all of the available sizes)

2013. május 23., csütörtök

I feel myself stupid

I don't understand it. I bought a few two digit 7-Segment LED displays from Kingbright. Namely DA03-11SRWA and DA03-11GWA. It has two digits and nine pins. It's multiplexed. I've two anodes and seven segment pins. Means no pin for the decimal points. It has decimal point but it's connected to nowhere. There is no connection stated in the datasheet and I found nothing when tried to find it.
I try to ask the manufacturer.

2013. május 18., szombat

Let's start

Hi, I'm Zoltan Gomori.
I'll try to write here about my hardware and software development projects.
I was working in the IT industry in the past 20 years as system administrator, consultant, manager, developer, etc.
From my childhood up to now time to time created, developed hardware projects mainly as a hobbyist. On the other side I've an Electrical Engineer degree from a College here in Hungary so maybe you can't see me as a total amateur.
I think that my experience as a programer can be utilized in my hardware projects.
This is not really the beginning. It's only the beginning in English. I started (restarted) blogging in Hungarian a few month ago here: http://it-pro-hu.blogspot.com