Now in its fifth year of awards, EW BrightSparks sees Electronics Weekly partner with RS Grass Roots to highlight the brightest and most talented young engineers in the UK today.
EW BrightSparks 2022 profile: Mihai Daniel Ivanescu
Here, in our series on the latest EW BrightSparks of 2022, we highlight Mihai Daniel Ivanescu, a Graduate Software Engineer at Imagination Technologies.
Daniel studied Computer Hardware and Software Engineering at Coventry University and for his dissertation he created a microcontroller-based circuit as a low-cost solution to the problem of e-waste, specifically the waste of old television sets.
This was aiming to give new life to old TVs by adding features such as Wi-Fi, internet radio, and the ability to download applications. Basically, it aimed to turn these outdated TVs into smarter TV. And Daniel told us it highlights the potential of microcontrollers in the cycle of “reuse-reduce-recycle”.
The final version of the project used a small, custom-made PCB with an ESP32 microcontroller and featured PS/2 keyboard input, VGA video and headphone jack audio. As a proof of concept, the main interface featured a news feed, internet radio, and an app downloader. The apps made were a weather tracker, and a Tetris game.
The heart of the “smart” TV is an ESP32 microcontroller and a library has been made for it which can output VGA and composite signals. It’s a really cheap solution and packs a lot of features and processing power for the price, Daniel told us.
The software running on it is basic, he said, but it has infotainment features such as a news feed, internet radio, and the ability to download apps made for it. All the internet connectivity is done through a Python server which he hosted on his PC, but later revisions of the software will probably just connect directly to sites, the EW BrightSparks judges heard.
The university board at Coventry allowed Daniel to open source all the parts of the project, so if you’d like to see more details, you can find all the project files on GitHub.
EasyEDA and apps
More details about the project are as follows:
In the apps menu, once an app is downloaded, it’s installed to a separate location on the ESP32 flash memory. Because there’s only 4MB available, only one app can be installed at a time. Once installed, the ESP32 restarts and loads that app instead. The apps were written from scratch, using the same core code the main menu is using. There wasn’t a lot of time to write many apps, but as a proof of concept he managed to write a basic weather app, and a game of Tetris.
In the weather app, you can input a location and then it will output the forecast for the next five days. The forecast is also scrollable.
He designed the PCB in EasyEDA. There is a PS/2 connector for a keyboard, and two buzzers to act like speakers. He then added the rows of pins around the ESP32 for any potential new features, without needing a new PCB design, and that proved useful when getting audio out to a TV. Sadly, he told us, he didn’t think of adding a VGA connector to the board until late in the project – so instead he added a 6-pin header from which wires connected to a VGA cable’s pins.
Also, a headphone jack could have been added to make it easier to output audio, he realised. With a proper 5V supply sourced from somewhere in the TV, the board can be entirely contained inside the TV, except for maybe the PS/2 keyboard cable…