This what I have learned :

digital inputs and outputs 

Analog inputs and outputs

Line follower ir sensor 

Pir sensor 

Ultransonic sensor

Ir transmitter and reciever 


Key pad

Dc motor 

Stepper motor

Servo motor




 Arduino with raspberry pi 

This topics a made with it some projects so the question is what is next to learn about arduino ? What should be my next steps ??

  • That really depends on what your goals are. As written, this question can only be answered with personal opinions. Arduino StackExchange is better suited for more objective questions and answers. You may be able to re-write or add to the question to make it possible to answer more objectively. – JRobert Jun 27 '16 at 14:07

You say you have learned these things but were you using a motor shield for the DC motor? How's about building your own H-bridge. And how many types of stepping motors do you now know how to control? What about micro stepping? And what about graphical LCDs. Do you know how to make custom characters?

As your list is hardware-centric, I would next task you to learn how to write in C++ and create a library for others to use. Learn what it means to abstract the hardware down to a few simple function calls. How to create a class which contains an Arduino library for, say, the graphical features of a particular LCD.

| improve this answer | |
  • Yes I know how to design circuits and drivers such as h-bridge and I use unipolar and bipolar steppers but I don't use the graphical lcd because I use raspberry pi and python Gui instead – mamdouh abdelfatah Jun 26 '16 at 22:55
  • The stack exchange paradigm of specific questions and concise answers does not really allow for your type of question ... which, no matter how you word it, is too broad. That said, do not take my answer too literally. Instead of arguing against it, find some other hardware (an accelerator chip maybe?) and write an Arduino C++ library for it. The process actually parallels real life embedded engineering more than most realize. And, because of that, will give you marketable experience. Or, in other words, not too many companies will pay for sketches, but C++ HW drivers? That's a yes. – st2000 Jun 27 '16 at 0:03
  • I will try that – mamdouh abdelfatah Jun 27 '16 at 0:08
  • 1
    May I add: Python and its GUI is hardly embedded. Being able to program a graphical interface with only 2K of RAM - now that's programming! – John Burger Jun 27 '16 at 11:14
  • Yes I know gui using tkinter and kivy with python – mamdouh abdelfatah Jun 27 '16 at 19:15

I would get myself familiar with low power, sleeping modes, running on batteries.

Also connect others devices using SPI and I2C to familiarize yourself.

Finally give a go on different communication methods... over serial, ethernet, wireless, can bus, etc. No much point in having stand-alone projects that are isolated or always connected to an USB port. IMO the fun begins when your projects start to talk to each other and to the Internet.


| improve this answer | |


I see a lot of loose "projects", but try to fit (as much as possible) into one single project. Make a line following robot, that balances, has WiFi communication and a display.

Putting all the different parts together may create whole new problems/difficulties.

Stop using Arduino?

Find another IDE, so it's easier to manage a lot more code. Learn how to set up a toolchain/compiler.

Try programming an ATMega328P without Arduino.

Why? Because it'll learn you how to other devices work, if you're comfortable programming an AVR without Arduino, it's just a little step to using PIC microcontrollers.


Design yourself a PCB specific for the project you want to do.

Work on "Professional skills"

Try to make some actual designs, requirement analyses and make a report on the project. This way you can practice for school/future jobs' professional skills.

So what project should you do?

Something you would really like to do. It's as simple as that. Something of which you think is going to be a challenge (but not too challenging).

| improve this answer | |

The Nrf24L01 is an inexpensive wireless transceiver with very good Arduino library support, and there are still library opportunities, like star and mesh interconnections. It also requires less overhead than WiFi and ethernet. If you're PhD material, you could implement the OSI stack.

| improve this answer | |

Definitely try to make practical projects that make sense and are actually useful in real life. Automation projects for "smarter home" lets say really do come in handy and it is extremely satisfying when you use them. They don't have to be huge, just do something small that you find interesting. Documenting what you have done and keeping something like a report will help you big time in the future. I suggest you decide if you like C++ and if you do dig deeper into it.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.