49

I am trying to build a cheap asset tracker that can be powered by a battery pack. All I need the IoT device to do, is to connect to known WiFi network access points. I have access to the backend system that manages the WiFi access points.

I considered a CHIP computer or PiZero W but both have processing power that I don't need. Looking for a complete board with Wi-Fi.

Sean Houlihane
  • 10,524
  • 2
  • 26
  • 62
rams
  • 745
  • 1
  • 5
  • 8

9 Answers9

38

Check out ESP modules. I've 3 NodeMCU boards running at home checking temperature and humidity, and controlling power sockets and led strips. NodeMCU can be found for about 4-5$.

If you want proper support and the chance to change the code from everyplace, take a look at Particle Photon, it's a bit more (about 20$) but works really really nice.

If you want to go on the cheap, get the NodeMCU, but the Photon it's a great board to tinker with.

Mawg
  • 3,147
  • 1
  • 13
  • 35
Luis Diaz
  • 814
  • 7
  • 10
18

There is Omega2 from the company Onion. They cost 5$. They are still crowdfunding, therefore I'm not sure about their reliability and I haven't used one..

As @Aurora0001 pointed out, Onion completed their crowdfunding and they managed to pledge a funding 45 times more than their initial goal, which IMO makes them reliable.

It has a 580 MHz CPU, 64 MB of DDR2 memory and b/g/n Wi-Fi. They describe the board as an IoT computer in their Kickstarter:

Introducing the Omega2, the $5 IoT computer.

What the heck is an IoT computer? It is a Linux computer designed specifically for building connected hardware applications. It combines the tiny form factor and power-efficiency of the Arduino, with the power and flexibilities of the Raspberry Pi.

atakanyenel
  • 477
  • 2
  • 5
13

As an even cheaper alternative to the NodeMCU from Luis answer I would like to mention the the bare ESP-12E or ESP-12F*, the module that is used on the NodeMCU. They are even cheaper than the NodeMCU, draw less power (because they are lacking the USB converter) and can be powered directly from a 3V battery. You'll need one USB-to-serial converter (3.3V**, for example a CP2102) and you're gonna have to solder wires to them (or pins if you get the adapter board) to program them.

* The only difference seems to be the shape of the antenna
** Right now I can't confirm that it works with a 5V one

AndreKR
  • 231
  • 1
  • 4
13

One that I have been keeping an eye on, but haven't tried yet, is VoCore. It was also crowdfunded like the Omega2.

It promises a $4-$18 device, but the ones available start at $17.99. What is relevant about VoCore is that it has fully open source hardware and software. So you can, in theory, get to a low per-unit price at scale. Technical details and source are here.

Tiny Size: One square inch, easy to embed to devices.

OpenWrt/LEDE: Easy to code, compile; stable system.

Low Cost: $4~$18 for each, unmatched performance.

Interfaces: Hardware support USB, Ethernet, I2C, SPI etc.

OpenSource: Both software and hardware, totally FREE

Simon Munro
  • 1,493
  • 10
  • 13
11

Defining battery life (and perhaps battery size) will tell you how long your thing has to last. That may then lead you to decide to only switch it on when (a) you need to take a reading and (b) when to transmit data.

If you only want to wake up say, hourly, then you want something with a Real Time Clock (RTC) or something counting seconds either on board, or available as a slave unit to tell you micro controller to get working.

The RTC could then tell the wifi to switch on, detect if it is within range of its permitted network, log on and transmit data.

The other side of that coin is just letting something like a GPS constantly get fixes (every second) and polling wifi constantly. With this scenario a small battery could last just hours instead of weeks or months had you been using your current wisely.

In a nutshell, that would be your initial dilemma.

I did what I thought was some careful diligence before embarking on this kind of similar thing, and I'd recommend you look at the Espruino microcontroller. If you have existing JS skills then you can get results real fast - you will feel right at home. Espruino's have RTCs, are already 3.3v and use low current by design. Slapping on a GPS is laughably easy.

I'd suggest you get a normal green Espruino to fiddle about with and then try the new Espruino Wifi instead of fighting to add on an ESP8266 yourself (I have not tried these, BTW). Espruinos are not the cheapest, but they are well made (IMO) and enjoy good support. On their forum you can usually get acknowledgement from the guy who creates them.

This info is probably more helpful to you if you have JS skills, and negligible EE skills (like me).

Cups
  • 211
  • 1
  • 4
9

AWS IoT Button

The AWS IoT Button is a programmable button based on the Amazon Dash Button hardware. This simple Wi-Fi device is easy to configure and designed for developers to get started with AWS IoT, AWS Lambda, Amazon DynamoDB, Amazon SNS, and many other Amazon Web Services without writing device-specific code.

I think this would be the simplest programmable Iot device for me

In this article, Ted Benson talks about how he hacked a $5 Amazon Dash button to do things when the device booted up and connected to the network (on click).

The device only turns on and connects to Wi-Fi when pressed, though, and it contains a battery that cannot be replaced easily.

Aurora0001
  • 18,520
  • 13
  • 55
  • 169
Jonathan
  • 191
  • 1
  • 4
2

I recommend you to use FireBeetle ESP32 Board by DFRobot. This is specially designed for IoT. Although NodeMCU may also be used but it still consume more power even when in deep sleep mode. I have faced problem reducing current consumption in deep sleep mode using NodeMCU. Whereas FireBeetle is suitable for Low Power IoT devices as it is specially optimized for this purpose. So you don't need extra efforts. Just connect the battery and put it in deep sleep when no sensing is required. It is also easy to program.

tim3in
  • 377
  • 3
  • 12
1

You can have a look at Texas Insturment's SimpleLink™ Wi-Fi® family that has a complete ecosystem, including boards, SDKs, IDEs, flashing tools, radio testing tools, etc. In general SimpleLink controllers are Arm® MCUs with built in support for various wireless technology, including Wi-Fi.

Here is a quite detailed document about the low power aspect: Low-power Internetconnectivity over Wi-Fi®. This is useful independently of TI's products as it generally describes:

  • Communication protocols
  • Energy sensitive parameters
  • Traffic model
  • Network properties
  • Concrete example: Case study – temperature sensor
    • Temperature sensor application energy consumption breakdown
    • Reconnect vs. stay connected application energy consumption
Bence Kaulics
  • 7,843
  • 8
  • 42
  • 90
1

Blindly you can choose Node MCU , especially ESP8266 , that’s one of the easiest wifi module that we can connect and that’s the cheapest in market,hardly you can get it for 400 Rupees and the good thing is ESP 8266 having full TCP/IP stack and required power is 3.3V ,it has 16 GPIO pins so that you can connect multiple sensors with it, don’t forget to give external power source if you add more number of I/O devices

Arockia Jegan
  • 166
  • 1
  • 4