TinyML Hardware Kit

Looking to get started in TinyML but don’t have any hardware?

The Arduino Tiny Machine Learning Kit is the perfect way to start!

The kit comes with all you need to easily create a TinyML project, like detecting a person or responding to your voice commands.

What are some other recommendations for microcontrollers and/or sensors that work well for TinyML?

4 Likes

Thanks for the kit, Is there any way to get their kit here in India? Shipping charge from Arduino to India is bit high.

Arduino says they are working on getting some out to their distributors, so that the shipping is not so costly any more. We hope that they figure this out, as we do understand that shipping is costly.

Another way to go about it is to buy the individual parts, and piece them together. But that said, it complicates the process and it is very hard to support that effectively.

It would be great if there are folks out there who could perhaps provide some complementary material / alternatives. I’m sure the broader community can figure some solution out that strikes middle ground.

2 Likes

Hello , would it be possible to use the esp32-cam or k210 sipeed as an alternative to the arduino kit?

I got the kit a few days ago. The shield seems like a nice idea, definitely makes it much easier to hook up the camera, given the number of pins to connect. And the nice thing is, the shield can be used with other Nano-compatible boards, e.g. with Nano 33 IoT, which is quite a nice board for some TinyML projects, it has a 6D IMU sensor built in. Or with ST Nucleo-32 boards.

What is still missing is some documentation on the Arduino website, or wherever for that matter. I asked Arduino on Twitter, and posted in the forum, but so far no info on what the exact pinout is. It can be partially inferred from the silkscreen and from the traces on the PCB, but not quite. And also what kind of connectors are those on the shield. They could be either Seeed Grove, or Stemma/Qwiic, can’t really tell. But one definitely needs a proper connector to attach some other devices, as the pitch of the pins is small and you can’t fit four female DuPont connectors in one of those.

All in all the kit is a cool idea!

1 Like

They are Seeed Grove connectors.

Thanks for the feedback though, we will be sure to include some material in course 3 about it … and we can share that more broadly here on the forum.

3 Likes

Great, thank you! I suspected that, given how Arduino has a shield that uses Grove, but couldn’t confirm.
Thanks!

@Eneas Between the two, the esp32-cam is certainly the more viable alternative, given the Espressif variant has proper TFLite Micro support. However, as far as this course is concerned, it’s important to note that documentation and staff support will be largely specific to the Arduino kit (Nano 33 BLE Sense + OV7675 camera module). For this reason, adoption of another development board is “at your own risk” in a sense, but we did take a close look at the esp32-cam in our board selection process. The biggest draw back I see out of the box is the lack of required sensors. Some variations of the board have a microphone (required for wake words), where others don’t. I have yet to come across one with an on-board IMU (also required).

@nebelgrau77 I know VJ already responded re: connector type (Grove). Here is the schematic to clarify pinout.

3 Likes

Thanks for responding esp32-cam has some pinout available, on youtube you can find how to connect an ominidirectional microphone Inmp441, as for the IMU Mpu9250 I don’t know , maybe there is some way to interconnect everything with a protoboard pcb, well i will make the third part of the course and see what i can do, regards.

1 Like

Perfect, thank you! All clear now. It also confirms what I seemed to figure out from just looking at the board, that the push button was connected to the LED pin. Thanks!

Good eye @nebelgrau77. For what it’s worth, we’ve got a firmware patch ready to address said oversight. Stay tuned. If you’ve got an ‘urgent’ use case, let me know :slight_smile:

2 Likes

It’s not a blocking issue for sure, the RGB LED can be used for any kind of blinking if necessary :slight_smile: If I were to propose improvements, though, apart from connecting the button to some other pin I would also suggest dual row headers for the Nano board: this way all the pins are exposed and the shield is more universal.

Now I’m curious, how would that work? AFAIK the amber LED is hardwired to pin P0.13/D13 - unless you meant it as using the other LED in the code?

Arduino have several options for shipping to India. The least cost one is $22 making the total kit ownership cost to about $72.

Considering the number of sensors, the original Arduino Nano controller and the specific shield, I think it is worth the money.

Even if we try to get a clone version of Nano BLE (Sense is still not available in India), get the sensors and integrate with the controller, the total cost would become almost same as getting the Kit including shipping.

I am planning to order one and Arduino says it might take anything from one to two weeks for delivery to India.

3 Likes

Thanks for the feedback @nebelgrau77. I’ll pass this along to Massimo B, who designed the shield. Given the schematic I shared is technically from preproduction, I should note that future shipments will have boards that tie the button to a different pin. At present, I don’t know where the cutoff will be between the initial and subsequent batches, but for those who might read this post later, feel free to reach out for clarification.

The following explanation assumes some working knowledge of analog circuitry, but basically with no patch, P0.13 is always LOW (regardless of button state), despite attempts to pull the pin HIGH via pinMode(13, INPUT_PULLUP), given the presence of the LED and its current-limiting resistance. Measurements I’ve taken put the default state with a pull-up just below the logical threshold. To circumvent this, you can configure the pin to simultaneously serve as both an output and an input and actively pull the pin HIGH. For clarity, we’ve got a library in the pipe that abstracts this away for this particular shield.

As a hardware first kind of guy, I’d look to move the trace to another pin or if not, have the button pull P0.13 HIGH, rather than LOW, but hindsight is 20-20 and it’s amazing what you can do in software :slight_smile:

1 Like

Thanks for the explanations @jesmith! Hardware-wise what seems like a relatively easy hack (and is what I will attempt) is to cut the trace between the button and pin D13 on the upper side of the shield, and solder a piece of a wire between the “leg” of the button and one of the “legs” of the header on the bottom side.
I will try that next weekend, and will post a photo :slight_smile:

1 Like

Thanks for sharing this tidbit @moulipc. I was wondering how much shipping was costing. Arduino did say they are working on some distribution plans locally within India, so hopefully that will come through in the near term. But I doubt that that will happen before our Course 3 launches.

I have ordered one, at total cost of $76. Shipped and should be reaching before Feb 15.

2 Likes

When did you order the kit? Just trying to gauge the delivery times.

Ordered Sunday 31 Jan. Shipped by DHL Global International. At the time of order, Arduino site mentioned delivery between 5 and 15 Feb. Tracking shows that the package left Lancaster.

1 Like