![]() |
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.

Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW
ESP32-S3 4.3inch Capacitive Touch Display Development Board, 800×480, 5-point Touch, 32-bit LX7 Dual-core Processor
BUY NOW
Raspberry Pi 5 7 Inch Touch Screen IPS 1024x600 HD LCD HDMI-compatible Display for RPI 4B 3B+ OPI 5 AIDA64 PC Secondary Screen(Without Speaker)
BUY NOW- 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
-
-
-
Modifying a Hotplate to a Reflow Solder Station
938 1 6 -
MPL3115A2 Barometric Pressure, Altitude, and Temperature Sensor
476 0 1 -
-
Nintendo 64DD Replacement Shell
407 0 2 -
V2 Commodore AMIGA USB-C Power Sink Delivery High Efficiency Supply Triple Output 5V ±12V OLED display ATARI compatible shark 100W
1179 4 2 -
How to measure weight with Load Cell and HX711
728 0 3
You can see code on my GitHub https://github.com/taunoe/flower-camera