TinyML4D: TinyML for Developing Countries

What can we do to enable TinyML in developing countries?

TinyML devices are cheap and widely accessible. How can we get this into the hands of teachers and curious learners everywhere so that we can help democratize AI education and development?

I strongly believe that there is a unique opportunity for us to make a difference here.

Are there people out there that are passionate about this topic?

Anyone have thoughts on how we can create a think tank to make the resources we have, such as the edX course and many other online resources, widely accessible to young learners and teachers out there?

Let’s make a difference in the world; I’m happy to help in any way possible.

13 Likes

@marcozennaro This topic was inspired by your email thread that you started between Pete and me, so I am super psyched to see you join the TinyML community forum!

I am hoping that we can help build a community of people who are passionate about this topic, so that we can put together the necessary support you have in mind. Perhaps you can share your PDF document/report?

I think reading your thoughts might help bring more people together to the shared goal of enabling TinyML4D?

2 Likes

Hi, Vijay and all!

I am Carlos Hochberg from Sao Paulo, Brazil. I am now midway at the TinyML Applications course. I am a civil engineer, but have been tampering with electronics since I was 10 years old (a long time ago…), and I am ending a cycle in my life/career and looking for a new path - and TinyML just seems to be something that I loved!

Brazil, despite its immense riches, is plagued by uderdevelopment, sanitary issues, etc. Actually, I am developing a 3D LIDAR scanner to scan… people! Yep, my wife is a nutritionist and she works at the University of Sao Paulo, and some researchers there could use this kind of device, it would certainly help lots of people.

Thanks for starting this platform!

Hi @hochberg,

Thanks for sharing!

Hope you are enjoying the course :slight_smile: Welcome suggestions to improve!

I would love it if we could share some of our academic materials with universities out there so that students everywhere can benefit, and we can cut short the bootstrapping effort for teachers.

Do you think something like that is possible?

3 Likes

I think this is quite possible.

I have some access to the engineering community of the University of Sao Paulo and also to the Nutrition Faculty (my wife works there as a nutritionist).

What is yor idea? What would you like to share? Of course, TinyML would be the main subject - but do you have any more specific ideas?

Regarding the course, I have some experience with ML (the full fledged thing) and, of course, this is whole new universe - but I am liking it a lot.

The kit for Course 3 is not available in Brazil, I ordered it in the US, hope it arrives in time. Anyway, I have a UNO, some sensors and a ESP32, too, those will - I hope - do if the kit does not arrive in time.

We can share the curriculum we built out for edX to help seed the university discussion. @brian_plancher had some thoughts on creating different levels of curriculum syllabus. E.g. universities, high-school etc.

I am sure we can get some of the kids subsidized in pricing through some sort of industry sponsorship, I am sure I can try and work that angle with companies.

It would be great if we can port the material over to ESP32, as that is indeed broadly accessible. And TFLite Micro is supported on ESP platforms.

Uno is too simple, it is very hard to work with. ESP is great! Pete Warden showed me a recent ESP device that’s really cheap that can also run much of the code; I will dig this up and try to get back.

1 Like

Sharing the curriculum would be great, I will try to reach some people at Politechnic/USP (where engineers like me come out from). I could try other institutions, too. The Engineering Institute, which congregates thousands of engineers and enterprises, could be a good channel, too.

Subsidizing/companies: that would be fantastic! There are endless opportunities for companies and TinyML products here, be it agriculture, industry, education, etc.

Uno: sure, quite limited, Bought it just for a start. It makes my LIDAR moves, however I am migrating to the ESP32, much more interesting. The Arduino IDE is good, I can live with the C++ subset, though I prefer Python, and there is a Python IDE for the ESP32.

:+1: Let’s make it happen then! Let us know how we can help.

Yea, that’s a great point! If there is interest, we can definitely push this forward and make it happen.

Ah, gotcha. If it is used just for light weight control then makes sense.

Have you checked out micro python?

3 Likes

I will go after the people I know at the University - both engineers and nutritionists. Also at the Engineering Institute. I will come back as soon as I have some feedback.

Companies and subsidizing: I think this is linked with the University.

Uno: yes, just to understand how it works and make the sensor turn around, collect some data. ESP also transmits the data, via WiFi, to my computer. Better still.

MicroPython and Arduino with Python: thanks of the links! I have something about these in my favourites, did not have the time to look.

Well, I will keep in touch. Have a nice weekend and please feel free to call me anytime.

Great to learn about your projects/trainings.

What I am trying to solve is the following: if you want to train students in TinyML but they don’t have access to the hardware, how can you make them experiment/get the same experience as in a lab? I am putting together a “box” that provides inputs to an Arduino 33 (which can be reachable via a RPi connected to the Internet). I am using a 3D printer to provide movement and acceleration. More about my tests soon! I will share the project design and code on github.

2 Likes

That’s awesome @marcozennaro. Please feel free to share whenever you are ready, I am sure people here in the community might be excited about helping you out!

One thing we are trying to do is see if we can use an emulator instead of a real board, something like Renode to teach TinyML.

Renode can emulate IoT systems, and if they can emulate a simple embedded system then that’d be great! Cause then we can completely get away from having to deal with anything involving a real device, which will drop costs, increase our flexibility and reach.

3 Likes

@vjreddi @hochberg I put together a blank repository to give us a central place to post and share curricula beyond the edX course (e.g., the course @vjreddi and I taught at Harvard this fall). My goal is to start to get some material up there once we launch Course 3!

In general I’d love to also include links on our TinyMLx.org website as well to any relevant resources etc. So would be exciting to see the results of your work @marcozennaro and @vjreddi we should also like the Renode stuff once we get it working!

2 Likes

Hello Brian, I am following the thread and wondering also when Course 3 will be available?
Thanks,
Andres

What can we do to enable TinyML in developing countries?

Obviously, $$$ is big factor. Pardon me for biting the hand that feeds me but “an Arduino” level kit is not the answer for developing countries. The current courses (1, 2 & parts of 3) are better than any than I have come across lately (provides the right level of theoretical foundation) but without hands-on experience to try one’s own project ideas the true potential will not be achieved. I’m not suggesting that the course authors take it upon themselves to arrange for the availability of the extension hardware.

Regards.

@baqwas thanks for your candid thoughts. If we want to make a difference, we got to ask the tough questions.

Why do you say that? I am not disagreeing, I am just trying to figure out what we need to do to make it an option.

I wish we could all collectively develop a vision for what it would mean to enable TinyML4D… what price we need to hit and what curriculum we need to put together? We are more than happy to share anything we have put together to help enable this, but it looks like the hardware $$ is a big issue.

Wouldn’t it be great if we could do a $5 kit with open-source academic syllabi that is developed by the community? If folks have ideas, please do share. I can certainly help raise sponsorship for these programs.

2 Likes

It is nice to see the enthusiasm for this idea! I agree that getting this technology out to as many developers as possible will create the most benefit for all of us and the planet.

I believe that there are going to need to be many solutions. Each country is likely to have its own bottlenecks to getting the knowledge into the hands of interested learners.

If I were writing a grant proposal for this effort, I would hope to include a concept for a low cost hardware kit, an emulator (Renode) type approach and a “use whatever you have” approach. There are certain to be trade offs, but it can be very hard to find a perfect solution.

It should be available on February 23rd.

1 Like

@baqwas do you think that having a remotely accessible device would be a solution for learning? I have put cluster of MicroPython devices for a course last year: https://twitter.com/marcozennaro/status/1330813026740613120
Students were happy but 1) if devices hang one has to reset them (can be done with a web button that triggers the reset pin) 2) they don’t experience any “real-world lab issues” (things that can and do go wrong) 3) they don’t experience any real-world input except for temperature, pressure and humidity in the lab.
This is why I am working on a “box” that will provide movement, light and sounds inputs.
Would that work for your students/colleagues, @baqwas ?

Hello @marcozennaro,

Excellent solution! (Of course, LoRaWAN is the ace in your pack). The remote RST option is also a feature that removes newbie roadblocks (MicroPython during the early days of TinyMCU development had many rites of worship before the fun could begin with each run).

Don’t want to take a wrong fork on the road (I don’t know much about baseball but Yogi Berra is my favorite philosopher) but permitting a diverse range of sensors easily for students to develop their own custom data acquisition projects would be nice without unsolicited help from spin doctors. The progression path (stress sensor → IMU → gyroscope enhanced vibration detection for earthquake ML as an example) is not required in the curriculum.

I can truly relate to your sentiment about:

they don’t experience any real-world input except for temperature, pressure and humidity in the lab

because it echoes my limited observations. Of course, my observations echo that Dr. Reddi is doing a fantastic job for the discerning few (with respect to data gathering, quantization, etc.) for temperature measurements considering the diverse family of temperature sensors and the poor quality (~20% of my bulk DHT11 purchases fail and almost 30% of the others generate inaccurate/unusable readings but I use many other unrelated types of temperature sensors too - no prizes for guessing my preferences here!). Too many peripheral ML projects come to mind. I hope that students of Course 2 find their comfort level in practicing what they learn here.

But then, we must not lose sight of the objectives of the current curriculum. We can simply point out some of the other courses that are available to extend one’s knowledge.

Kind regards.

1 Like

I received help from Edx and our teacher VJReddi. I would love to contribute my side to help for sharing this new domain to the world. I see lot of kids and youth are interested to learn new things (but start with very small). If we could provide some presentations via youtube (channels) / Github training links / blogs/ presentations (with all innovative tools)/ small free bootcamps.
If all goes well, we can share thoughts to schools/colleges in all over countries (India, Philippines, etc) to share this information and educated.