4 ms·
For someone like me who has only just started playing with microcontrollers thanks to the Arduino and RasPi and has never touched/played with anything else.. co
by Andrenid 11y ago
For someone like me who has only just started playing with microcontrollers thanks to the Arduino and RasPi and has never touched/played with anything else.. could you give any suggestions/links on what I should consider using for sensors?
I have a bunch of "nodes" I need to make, each one has a single sensor (temperature, moisture, light, or distance using a sonic sensor) that will send back to a Raspberry Pi base station. I was going to use RasPi's for all of them since it's all I know. Each will be battery powered with a solar panel. Open to any/all suggestions people can give me on how best to attack this!
- noonespecial 11y agoEsp8266 wifi/micro module. You can program it in lua!
- ZenoArrow 11y agoYeah, ESP8266 is a good choice for IoT projects. It supports quite a few different languages, I think the most recent addition was BASIC. It's very cheap as well (have seen people talking about prices as low as $3). http://www.esp8266.com http://www.esp8266.com Also worth knowing that the successor to the ESP8266, the ESP32, is currently in beta testing: https://hackaday.com/2015/11/06/the-latest-best-wifi-module-has-been-announced/ https://hackaday.com/2015/11/06/the-latest-best-wifi-module-... https://twitter.com/hashtag/esp32 https://twitter.com/hashtag/esp32
- Renaud 11y agoYou can order them for about US$3 per unit, or $2.85 if you order 10 from BangGood.[1] You can get them for even cheaper directly from Chinese distributors. Banggood, DealExtreme and AlieExpress are convenient and ship worldwide, but they are not the cheapest, although they are usually already quite cheap compared to most. [1]:http://www.banggood.com/ESP8266-ESP-12E-Remote-Serial-Port-WIFI-Transceiver-Wireless-Module-p-980984.html http://www.banggood.com/ESP8266-ESP-12E-Remote-Serial-Port-W...
- janjongboom 11y agoDepends on how they communicate between each other. I'm doing some stuff around LoRa [1] for long range communication, and my base station is a Rpi, the end nodes can be any type of microcontroller. E.g. [2] which comes with ARM's mbed, which even allows me to program them from the browser. For Bluetooth pick anything based on nrf58122, e.g. [3]. For WiFi pick ESP 8266 [4]. [1] http://www.link-labs.com/what-is-lora/ http://www.link-labs.com/what-is-lora/ [2] http://www.multitech.com/brands/multiconnect-mdot http://www.multitech.com/brands/multiconnect-mdot [3] https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF51822-Bluetooth-Smart-Beacon-Kit https://www.nordicsemi.com/eng/Products/Bluetooth-Smart-Blue... [4] http://www.espruino.com/ESP8266 http://www.espruino.com/ESP8266
- petra 11y agoIn general the mbed has the better options for low power , but if you prefer the arduino, this would be a good starting point: http://jeelabs.org/tag/lowpower/ http://jeelabs.org/tag/lowpower/ And if you want a long-range, low-power wireless connection - use LoRa , There's a driver here: http://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF95.html#aa9184ab8aec1c3c54a275d08c7e85c66 http://www.airspayce.com/mikem/arduino/RadioHead/classRH__RF...
- roymurdock 11y agoHow have you found the mbed OS tools/community/documentation to be? I've played around a bit with Arduino but I'm interested in checking mbed out.
- petra 11y agoIn general Arduino definitely leads in documentation. The mbed community is smaller , but on the other hand more professional - so stuff would be of higher quality , less bugs , etc - but somewhat more complicated. Same goes for the tools - more complicated but more capable. If you're aiming towards something professional/startup/etc - mbed is the way .
- jarmitage 11y agoTeensy is awesome, cheaper than Arduino and many times more powerful http://pjrc.com/teensy/index.html http://pjrc.com/teensy/index.html
- smcl 11y agoIf you need something that has clock speed in the hundreds of MHz and RAM in the hundreds of MBs then the Arietta G25 is maybe a good option - http://www.acmesystems.it/arietta http://www.acmesystems.it/arietta. Until this current wave of boards (CHIP, RPi zero) it was pretty much on its own in the land of dev boards - substantially beefier than Arduino, ESP8266 and Teensy 3.2 but way leaner than the RPi and BBB et al. I still think it's a nice piece of kit even in the context of these new ARM boards. Update: found some numbers on current draw - looks like out of the box it sits around 40mA idle, so slightly more than they tweaked the RPi Zero down to. http://www.robertoasquini.com/?p=148 http://www.robertoasquini.com/?p=148
- mikepurvis 11y agoLooks really nice. How do you find the low-level peripheral stuff? Past experiences have taught me to trust Atmel's data sheets and examples way more than the ST or NXP ones, but that's been on simpler chips/projects, so I don't know if it carries over to here. Also, is there an easy way to have an isolated realtime component, eg closed loop controller for motor drive? Could you just set up a hardware timer interrupt that preempts the kernel?
- david-given 11y agoThe MSP430 is renowned for low power and will idle (i.e. suspended waiting for interrupts) at microamps. Architecturally it's a 16 bit Von Neumann architecture at up to 16MHz with a remarkably elegant ISA and extensions to let it address more memory. Most interestingly, some devices have 64kB or 128kB of FRAM --- non-volatile RAM which operates at SRAM speeds! And because it's a Von Neumann architecture you can load programs off disk into it, which lets you do some cool stuff. (I ported Alan Cox's Fuzix to one.) Of course, an SD card will use loads more RAM than the CPU itself. I believe you can run one with no external components whatsoever. Hook it up to 0V and 3.3V and it'll run at 8MHzish on its internal oscillator.
- dfox 11y agoAnother argument for MSP430 as a replacement for arduino and such is that even the smallest devices support reasonable debugger. As for external devices: at least G-series need external components to generate reset pulse to reliably boot (it mostly works with reset left floating, but whether it reliably works is function of how quickly the power ramps up, I got burned by this on last project).
- cnvogel 11y agoRegarding debugging: I don't know what additional hardware you need to debug MSP430, but there's Atmel's AVR "debugWire" which works ok with gdb. http://www.larsen-b.com/Article/315.html http://www.larsen-b.com/Article/315.html I used it with a AVR Dragon (a rather full-featured, but still relatively inexpensive AVR programmer). You can use it with Arduino boards, of course, when you solder in the 6-pin ISP socket. (e.g. the pin header on the right of https://www.arduino.cc/en/Main/ArduinoBoardUno https://www.arduino.cc/en/Main/ArduinoBoardUno ) http://www.atmel.com/tools/AVRDRAGON.aspx http://www.atmel.com/tools/AVRDRAGON.aspx
- Fradow 11y agoThere are good answers already, here is my suggestion : once you are confortable with Arduino, look into using just the microcontroller (for example the ATMega328p of the Uno), and solder it on a protoboard with your sensors. You use the exact same code, you can easily load it via an Arduino (beware, you need an Arduino with a DIP microcontroller you can remove). Look up "Bareduino", that's the spirit. Then you can have a look to smaller microcontroller (if your project allows it), for example the ATTiny family. You can get to ~10/20uA consumption when using deep sleep and only reading sensors once a while.
- cnvogel 11y agoThe most useful thing to have when working with embedded electronics is to have in-circuit programmers. Please don't get into the habit of swapping parts between, e.g., the Arduino board and your own... It's getting very tedious, very fast. The simplest programmers (ISP: In System Programmer) are only a few dollars, and they allow you to burn your creations in blank off-the-factory chips without bootloader. I think there's even an Arduino project that turns your arduino into a (very limited) STK500 compatible programmer... [a quick web search turns up https://www.arduino.cc/en/Tutorial/ArduinoISP https://www.arduino.cc/en/Tutorial/ArduinoISP ]