![]() |
ABX00030Arduino
|
x 1 | |
|
Camera OV7670 |
x 1 | |
|
Speaker |
x 1 | |
|
Transistor 2N2222 |
x 3 | |
|
SMD LED 5630 |
x 4 | |
|
Female headers |
x 1 | |
|
Male headers |
x 1 | |
|
Shift Register 74HC595 |
x 1 | |
|
LED 5mm |
x 8 | |
|
Resistor 100 |
x 8 | |
|
Copper wire |
x 1 |
![]() |
Edge Impulse Studio |
|
![]() |
PlatformIOPlatformIO Labs
|
Intelligent art
This is my electronic artwork inspired by Peter Vogel’s and Walter Giers works. And I am pretty happy with how it came out. It looks cool and it has artificial intelligence (to a limited extent). It recognizes when you are taking a picture of it with a mobile phone. And it uses only a microcontroller to do it. All thank to TinyML.
It consists custom-made PCB (made by PCBway) where plugged MCU (Arduino Nano PLE sense), a camera (OV7670) module and some LEDs. The largest part is the old soviet doorbell module, made in 1987. And then the speaker is connected there. I also added some status LEDs, so I will know what the MCU is currently doing.
The camera takes a picture every few seconds and MCU analyzes it. It detects things in three categories: 1) humans, 2) when someone takes a picture of it with a cell phone 3) and all other scenes.
Most of my effort and time has been spent building a Machine Learning model to process images and recognise scenes. So far I have collected almost 700 images with this camera. And labelling all of them. I use Edge Impulse and it makes the process to build an ML model and library to embed it very easy.
This camera can take colour images in sizes 160×120 px, but the model uses size 96*96px. And it is quite small. You can imagine how few pixels take a mobile phone on these images. It’s just a black blob.
There is a big difference in model performance whether to use an unoptimised (float32) or the quantised (int8) model. The microcontroller’s small resources force us to use the quantised (int8) model. I have experimented with model parameters and found optimal results that work for me.

Intelligent art
*PCBWay community is a sharing platform. We are not responsible for any design issues and parameter issues (board thickness, surface finish, etc.) you choose.
- Comments(3)
- Likes(3)
-
PCBWay Support Team Oct 20,2022
-
Tauno Erik Oct 18,2022
-
(DIY) C64iSTANBUL Oct 17,2022
- 2 USER VOTES
- YOUR VOTE 0.00 0.00
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10

-
10design
-
10usability
-
10creativity
-
10content

-
8design
-
6usability
-
9creativity
-
7content
More by Tauno Erik
-
-
Instrumentation Input, high impedance with 16 bit 1MSPS ADC for SPI
246 0 0 -
RGB LED Matrix input module for the Framework Laptop 16
440 0 2 -
-
📦 StackBox: Modular MDF Storage Solution 📦
270 0 2 -
-
You can see code on my GitHub https://github.com/taunoe/flower-camera