Moteino – the wireless low power low cost arduino clone

This is and introduction to Moteino, a low cost wireless Arduino clone that I designed for my own projects, but since some people started asking about it i decided to try to make it available to others.

Some time ago I started to think of how I could build a simple network of arduino nodes for environmental data harvesting and home automation, but I wasn’t very happy with the existing solutions because they were either not the right size, not battery friendly, I had to hand solder the kits to keep cost low, etc. Ethernet shields  are also expensive and running wires around the house was out of the question.

So that’s how the Moteino concept was born. It’s based on the ATMEGA328p and has all the pins exposed, runs at 16Mhz, 3.3v. On the bottom it has a footprint for the RFM12B transceiver which is an excellent alternative to XBee radios, which are at least 3 times more expensive.

UPDATE: There’s now a dedicated All-About-Moteino page.

UPDATE: I posted some details about a Leonardo version of Moteino (based on ATMega32u4). For more details about MoteinoLeo click here.

I know there’s many other arduino clones out there that have similar specs. However most of these arduino clones are either somewhat overpriced, they are bulky, or you have to hand-solder them, which if fun for learning how to solder but is time consuming when you just need a bunch of these assembled. If you need 20 or 30 wireless arduino nodes, the time and money you spend can pile up.

So here are the highlights of Moteino:

  • Low cost Arduino clone fully compatible with the Arduino IDE
  • Designed for very low power battery operation
  • The Wireless version includes an onboard RFM12B transceiver and wire antenna
  • Very small size – 1.3 x0.9 inch
  • Breadboard friendly header layout allows you to attach female/male header pins on the top or bottom and make shields for it or just use it on the breadboard for prototyping
  • FTDI programming header
  • Optiboot bootloader for fast programming and no delay startup
  • Onboard LED for debugging or visual indication
  • Standalone version cost is around $10-12 and wireless version about $16, fully assembled

The onboard radio can act as a transmitter or receiver, and I prefer the 434Mhz version because it has longer indoor range and very good wall penetration, but nothing stops you from using a 915Mhz version.  Also if you’re in Europe the 434Mhz and 868Mhz bands are legal, not the 915Mhz.

This is my first revision and I still have some minor tweaks I want to make. But i’ll post updates as soon as i have them.

UPDATE: see my other Moteino posts, including Moteino based projects. Example code and RFM12B library at my GitHub repository.

44 thoughts on “Moteino – the wireless low power low cost arduino clone

    • Hi and thanks for the interest, Moteino is not yet for sale, I am working to get a first small batch produced. It will have the 434Mhz radios to start with. It will be for sale on this website, hopefully within the next couple of weeks.

      • Hi. I do not want to kill your project or make concurrencies, but it exists the JeeNode product (from Jeelab).
        It is based in England and work with the same RFM12B module. This operate on 433, 868 and 9?? frequencies.
        In europe we are more using the 868 Mhz frquency.
        Your project look great. I leave this post only for information in an open mind state.

        • I am aware about the Jeenode. In fact Moteino started as a personal project that I made open source, because the Jeenode didn’t satisfy my needs/wants. I wanted smaller, and the jeenode ports didn’t really appeal to me, not to say they wouldn’t work for other people. I am working on getting all frequencies available. Right now 434 and 915 are available.
          By the way there are several other open source projects that use the same MCU and same Radio, but they differ in layout and capabilities. One size does not fit all, hence the Moteino 🙂

  1. Fantastic!

    I have been researching wireless Arduino options and am pleased to have found yours! I would be very interested in getting my hands on some of these. Most of my projects are based around sensor and data gathering while being wireless.

    Would it be possible to reprogram the node(s) wirelessly as well?

    Thanks!

    • Thanks for your comment, like I said, a small batch is in the works and hoping to be able to have it available in the coming weeks.
      As far as wireless programming … that is one of the things I want to research. It’s a hard problem, but would be a nice one to solve. Because some nodes might be placed in less accesible locations, it would be ideal to be able to reprogram them remotely. However, when radio is involved there are lots of potential problems like collisions, dropped packets, etc. If nodes are programmed to be cyclical (ie sleep most of the time) then things get even more complicated. I believe the easier path is to make a bootloader that checks a permanent storage for a new flash image and reprogram self when one is present. This would be eeprom, or external flash chip. Then when a flash image is received, the node writes it to the storage and resets the node for the bootloader to pick it up.
      Having said all that … my nodes are not equipped with a dedicated offchip storage for that purpose. That adds to the BOM cost and would offset my goal of making these simple nodes very cheap. If I find a solution for remote programming, I will come up with another board that has the memory for that purpose, for those who want that option.

  2. Hi, this is a very nice project! Is it possible that the RFM12B’s RSSI signal wakes up the Arduino MCU from deep sleep?
    Best wishes,
    3dotter

    • I’m not sure why you would want to do that, but RFM12B doesn’t have true digital RSSI.
      It only has a boolean RSSI which indicates if signal strenght is above a threshold which can be set in a register.
      There’s an analog RSSI pad which is not broken out to any of the pins so I guess you could hook that up to an arduino interrupt pin. See this link for an explanation of ARSSI and how you might go about doing that.

  3. Hi Felix, Thanks for your quick answer. I hoped that for a long lasting, low power application with small LiPo battery, the MCU could be in deep sleep (AVR sleep function / e.g. using Arduino narcoleptic) in between short cyclic data logging moments, and that indeed through an interupt pin the RFM12B’s ARSSI signal from a stand by mode (with only ≤0.3uA) could awaken the MCU to send logged data to a nearby base station with the same RF12B transceiver. This base station is continuously trying to connect to nodes coming into connection range to download their data. I hope this makes it more clear what I am after. Your nice Moteino design would be very useful for this. Would such be feasible?
    Best wishes,
    3dotter

    • The easiest way to sleep between transmissions is to use the AVR sleep capabilities in tandem with the watchdog timer (which uses an interrupt to wake the AVR back up). See my wattmote example code for how you can use the LowPower library to sleep in low power mode between packet transmissions.
      I think it would be very hard to use the RSSI signal as wakeup interrupt, unless you have only 2 nodes (base, remote node). Even so there could be RF interference from other sources and your node would potentially wakeup a lot more than you anticipated, only to discover that the signal was junk.
      To avoid this kind of situation, the data is instead reported from the node to the base at certain intervals, and the MCU/radio can sleep in between in a very low power state. I think this is a better aproach and keeps the base from having to poll the nodes. Polling nodes for data may only work well if you keep the nodes awake, but that defeats your low power intentions.
      -Felix

      • Hi Felix,
        Thanks for your suggestion and help! I’ll give it another thought.

        I wanted to use the nodes and basestations in a remote (nature) area where I hoped there would not be too much RF interference.

        Best wishes,
        3dotter

        • That should work well. Your base can listen to the nodes when they transmit and the nodes will transmit once per interval then go back to sleep. That’s tested and working. You will need a bigger battery for the base though since it has the most power needs.

  4. Very nice work you have here. I too have been using RFM12B and the JeeLabs code. I like what I am seeing of your library and hardware so far. As to hardware though I think I will be looking more toward atmega32u4 and other “native USB” compatible parts. I find the “Teensy” and similar so nice to work with in the development stage, and the USB port does nicely for charging if the code eats too much power or my solar cells do not provide enough. Adding the RFM12B on the back of such a board was already on my mind. I am also considering a software compatible “long range” version using the RFM12BP. I’ve got a few applications where i need better structure penetration or just plain range. I probably will not get around to such a thing for a few months, but send me an email if you are interested in collaborating on an atmega32u4 + RFM12B pcb layout.

    Cheers.

    • My goal for the Moteino is to make a very cheap radio that’s Arduino compatible and easily programmable using an FTDI cable. The Atmega32u4 is convenient but is more than double the price of the AtMega328 and draws extra costs like larger PCB and extra parts (even 50c for a uUSB connector makes a significant dent when the product costs $15-20). Also, more powerful radios are more expensive and eat more power. The Moteino was a perfect combination of parts that were meeting my goal while probably making it worthwhile for me to bother. The atmega328 is still a very widely known and used chip as well.
      I already have a Atmega32u4 project planned for later (same hardware but use the 32u4 instead). Though this is lower priority since I want to focus on other things right now. I want to see what the response is for the Moteino and if more people want a USB version then that will become higher priority. Thanks for the interest!

      • I definitely see your point. Keep up the good work, and keep sharing with the maker community!

        • oh, and sign me up for 10-20 bare PCBs next time you decide to have some made. I also do not mind assembly at all, I find it relaxing compared to my day job!

          Cheers,
          shorted neuron

  5. Hi Felix, I am getting into arduino and programming and have looked for a simular product such as yours. However, I am hoping to find a unit that can connect to present day routers and comm with a data server for data collection. I will follow your work and see what transpires in the future.
    Keep up the good work

    Keith

    • I think you should look into RaspberryPi, it’s much more suitable than a router for what you need, has a huge user community, and it’s just $35.

  6. Is there a 3.3V regulator on board? How does the board handle Lithium cell voltages that vary from 4.2 to < 3.3 volts?

    Thanks and good luck on the project!

    • Yes, there’s an MCP1702 regulator. You can feed up to 13V according to the datasheet.
      I even tried using it with 2*AA 2*AAA batteries and it works fine, the regulator seems to pass the input voltage if it’s below 3.3v
      Lithium batteries work great with these, I tried sparkfun’s tiny 110mAh battery, no problems. See my post about testing moteinos with tiny CR1225 coin cells.

  7. Looks like a nice project, very compact. This appears to be the same circuit as the Jee Labs JeeNode ( jeelabs.com ) but since I don’t see a reference to that product here I’m curious- is there any difference apart from SMT parts vs. through-hole?

    • Yes it’s a very similar circuit. However there are many physical differences, most are obvious. The JeeNode format was one of the main reasons I even built these at all. I wanted a very compact node, that still had all the ATMega328’s pins available and labeled in a fool-proof easy-to-read way. Also one of my goals building this was to make it available to others for as cheap as possible. We’ll see how this goes as I manufacture more. Thanks for your thoughts, check out my RFM12B library on my github repo, you might find it easy to use with your Jeenodes or RFM12Bs. Cheers.

  8. Hi Felix,
    lets start the concept on KickStarter.com, it’s a good way to make social buzz about!
    Will you publish PCB and code files, as a OpenSource?
    Regards 🙂
    m

    • Marcin, the project is already open source.
      I avoided Kickstarter for several reasons. Did you have something specific in mind?

      • Nothing special, but it’s a good example as is PICnDuino project – the goal was $5k, the pledget $15k and a reasonable buzz.

        • Right, I’ve seen some other similar projects on kickstarter and that was one reason. I also don’t like the idea to sell a few thousand before I can manufacture them. Moteino will prove itself if it’s a good/useful project. I already am pretty busy fulfilling current orders. Thanks for your interest and thoughts!

  9. What’s the range on the radio? I’ve been thinking about making a tethered aerostat for diy weather forecasting in my backyard. I’ll probably want a bunch of these.

    • The 434Mhz has a tested open air range of about 50-70m (150-200ft), max TX power. The 915Mhz version has a tested open air range of about 130-150m (400-450ft). Indoors they behave very similarly.
      My RFM12B library supports different air-transmission data rates, so lowering that number might help increase the range a little bit.
      As soon as you add obstacles (any metal, walls, brick, concrete etc) the range decreases significantly. That being said, my 915Mhz Moteino sits in the mailbox (with antenna outsite through a hole) across the street and diagonally, and goes through a concrete/brick wall below grade into my basement. The distance is about 130-150ft.

      • Correct me if I am wrong but i thought lower frequency devices have longer range than higher frequency devices of the same power? I am just thinking of which to get for long range use.

        • I don’t know the answer or science behind it, just have done some limited testing myself. I guess I would recommend the 915Mhz if it’s legal in your area.

  10. I like it! I’m working on a couple of solar heating projects that will be arduino based. I am planning on using a “host” arduino for the remotes to tal to, then data out to the web. For the host I am looking at something like the Nanode gateway for your Moteino’s to talk to.

    Two questions: are your Moteino’s compatible with the Nanode gateway (provided the same frequency is used..) and also do you offer a similar product to the Nanode gateway?

    http://wickeddevice.com/index.php?main_page=product_info&cPath=26&products_id=11

    • Yes it should be perfectly compatible to any Arduino/RFM12B type setup (since it also uses an Atmega328p and RFM12B), just match the frequency.
      I don’t make anything like the nanode. I use Moteino with RaspberryPi as a gateway. I don’t particularly like running ethernet wires all over the place…I like wireless 😀

      • Thanks Felix for the quick response – I have been shy-ing away from the RasberryPi simply because I get distracted to easily, and I need to stay on task – if you will (So many toys… so little time..). However, your suggestion of using one might just push me over the edge.

        Thanks again!

  11. Nice idea! Love it. One question: I already have a usb-> isp/icsp adapter. Would it work with motuino or do I need the FTDI adapter? Also, are you shipping the motuinos? Last: can you explain more the purpose of the flash chip that can be added? I thought the microcontroller already had a flash memory in it. Thanks!

    • icsp will work but will erase the bootloader which is not what you want. for easy programming from arduino IDE you need FTDI adapter. yes moteino its available in the store for sale. see the moteino page for flash chip purpose: moteino.com

  12. I cannot thank you enough for throwing together such a small arduino clone that is capable of doing so much…
    Expect another order or two from me in the future… I’ve got strings flying across the house and can only begin to imagine how many uses I can find for them 😀
    J

  13. Hello there! I received my 4 moteino leos (awesome little devices!). One question: do you have a pointer for a tutorial on how to minimize power use? Thanks!

    • I have done range testing including the high power module of RF24L01+ (which is also much bigger) and the results were not to my satisfaction. The small ones only have an open air range of about 30-50m in open air. And much lower indoors. I can answer this question in more detail in the forum.

Comments are closed.